Otázka:
Zjištění záměrů, které aplikace interně používá
Ilari Kajaste
2012-06-01 14:55:54 UTC
view on stackexchange narkive permalink

Mám aplikaci ( Inteligentní nástroje), která se skládá z několika různých subapps. Chtěl bych mít zástupce pro jeden subapp, takže bych ho nemusel otevírat prostřednictvím hlavního menu aplikace.

Jsem si docela jistý, že aplikace používá nějaké konkrétní vysílání záměrů k otevření kteréhokoli z subapps. Vím, že Tasker lze použít k vysílání vlastního záměru do systému Android. Pokud správně rozumím, pokud napodobím záměr, který používá hlavní nabídka Smart Tools k vyvolání konkrétního subappu, mohl bych subapp spustit přímo pomocí zástupce Tasker.

Ale k tomu musím být schopen napodobit záměr. Protože Chytré nástroje nejsou otevřeným zdrojem, jak zjistím, jaký záměr aplikace používá „interně“?

Pět odpovědi:
ce4
2012-07-02 00:27:21 UTC
view on stackexchange narkive permalink

Nejjednodušší řešení: Zeptejte se vývojáře!

Důvod: Je to nejspolehlivější zdroj, pokud odpoví. Nemůžete snadno říci, jaké parametry nastavit, a pokud je dokonce povoleno spouštět další aktivity z vašeho vlastního „spouštěče záměrů“ (ať už je to Tasker nebo něco jiného).

Rychle jsem se na to podíval, je to placená aplikace a malý dev. Těm vývojářům často záleží a rychle reagují, zvláště pokud se jedná o placenou aplikaci. Udělal jsem to v minulosti pomocí Titanium Backup a byl jsem překvapen, jak snadné to bylo.

Pokud máte tyto informace, můžete k vytvoření také použít bezplatnou aplikaci Zkratky pro ruční záměr vlastní spouštěč.

Google Play má tlačítko „kontaktovat vývojáře“ těsně pod souhrnným popisem (většiny?) aplikací. Když se podíváte na chytré nástroje, uvidíte, že tam jsou: androidboy1 (zavináč) gmail com

Co byste také mohli udělat:

UC Berkeley má skvělý projekt:
ComDroid . Nástroj statické analýzy pro identifikaci zranitelností založených na komunikaci aplikací

Je to webová služba, do které můžete nahrát soubor .apk. (Protože se ptáte na pokročilou otázku, myslím, že víte, jak získat apk vaší aplikace). Po nahrání vyhledejte v analýze Spuštění škodlivé aktivity , toto jsou požadované informace. Můžete mít štěstí, že jej zneužijete pomocí Taskeru atd.

RvdK
2012-06-01 17:13:58 UTC
view on stackexchange narkive permalink

Musíte mít soubor manifest.xml souboru APK. Pokud přejmenujete .apk na .zip, můžete jej otevřít. Doufejme, že si můžete přečíst Manifest, který potřebujete k dekompilaci APK (spousta online návodů).

Pak musíte vyhledat záměry, které poslouchá, a použít je. Nebo použijte název komponenty a explicitně jej spusťte. Jak to udělat v Taskeru mi není známo, programově to udělat:

  Intent intent = new Intent (); intent .setComponent (new ComponentName ("com.package.name", " com.package.name.activity ")); startActivity (záměr);  
apktool (http://code.google.com/p/android-apktool/) je mnohem lepší způsob, jak toho dosáhnout, než rozbalení. Manifesty budou často v binárním formátu, který apktool extrahuje.
Izzy
2012-07-14 01:13:33 UTC
view on stackexchange narkive permalink

Pokud je vaše zařízení rootováno, můžete si nainstalovat AutoRun Manager z trhu (stačí pouze vyhledat posluchače a bezplatná verze). Použijte jeho pokročilý režim - a tam bude seznam všech aplikací, které mají posluchače (které poslouchají záměry). Klepněte na aplikaci, kterou chcete prozkoumat, a zobrazí se všichni její registrovaní posluchači záměru. Nyní můžete dokonce deaktivovat ty, které vás otravují (např. Posluchač služby Mapy Google při změně sítě, aby vypáčil vaši polohu).

kyle k
2013-12-24 14:07:24 UTC
view on stackexchange narkive permalink

V souboru manifestu bych použil dekompilátor Dexplorer, bude mít záměry, které aplikace používá.

8bitme
2018-10-19 22:36:28 UTC
view on stackexchange narkive permalink

Pomocí adb můžete zkontrolovat, jaké záměry aplikace používá. Postup je následující:

  • Povolit možnosti pro vývojáře
  • V části Možnosti pro vývojáře zapněte ladění reklam
  • Připojte telefon k počítači
  • Získejte protokoly adb a grep out záměry: adb logcat | fgrep -i intent
  • Spusťte záměr ve vašem telefonu
  • Prohlédněte si protokoly a vyhledejte podrobnosti záměru


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...