nemrég, már megjelent egy útmutató, hogyan kell hozzáadni függőségek csak adott productFlavors. Miután végrehajtottuk a szükséges lépéseket, meg akartuk győződni arról ,hogy a végső.apk valójában nem tartalmaz semmilyen nem kívánt osztályok többé. Ebben a bejegyzésben megmutatjuk, hogyan lehet ellenőrizni, hogy mely osztályok és erőforrások vannak egy apk-ban.
Megjegyzés: Ez az útmutató a saját apk lebontására szolgál, nem pedig más fejlesztők kemény munkájára. Így nem tartalmaztunk semmilyen lépést a fordított mérnök vagy a munka körül kód elmosódás.
előkészítés: az eszközök telepítése
az Android apk alapvetően egy tömörített könyvtár, amely néhány nyers erőforrást (képeket, elrendezési fájlokat,..) és egy classes.dex
fájl. Ez a fájl tartalmazza az összes tényleges kódot, ami a legjobban érdekel minket. Töltse le az összes szükséges eszközt:
- ki kell csomagolnia az apk-t. Használhatja az operációs rendszer beépített funkcióit, vagy telepítheti kedvenc (un)archiválóját, mint például a 7-Zip.
- annak érdekében, hogy a
classes.dex
fájlt a.jar
fájlra fordítsa, le kell töltenie a dex2jar eszközt. - végül annak érdekében, hogy a
.jar
fájl olvasható legyen az emberi szem számára, Töltse le és futtassa a JD-Gui-t.
A kód visszaszerzése
rendben, itt az ideje, hogy elvégezzük a tényleges munkát. Másolja az apk fájlt egy könyvtárba, amelyben dolgozni szeretne. Csomagolja ki az apk segítségével az eszköz az Ön által választott, akkor kap egy könyvtárat néhány al könyvtárak és néhány fájlt.
nyugodtan böngészhet a AndroidManifest.xml
vagy a res
könyvtárban. A legérdekesebb darab a classes.dex
. Így váltson a letöltött dex2jar
eszközre, majd nyisson meg egy új terminált.
Ha Mac OS rendszeren van, hajtsa végre a sh d2j-dex2jar.sh -f -o output.jar your_app_input.apk
parancsot. A Windows felhasználók a.bat
fájlt használhatják a.jar
fájl létrehozásához. Miután az eszköz futott, keresse meg az új .jar
fájlt.
végül indítsa el a letöltött JD-GUI
eszközt, majd használja a .jar
fájl megnyitásához.
böngészhet az összes csomag és osztály között, amelyek az apk-ban vannak. A kód egy lecsupaszított verzió, amely nem tartalmaz semmilyen megjegyzést vagy felesleges struktúrát, amelyet az IDE-ben lát. Ne feledje, hogy ez az alkalmazás összeállított minimalizálása. Ennek ellenére elegendő információt kell adnia ahhoz, hogy megismerje az alkalmazás alapjait. Például segített nekünk ellenőrizni, hogy az alkalmazásban már nincsenek-e az admob könyvtárhoz kapcsolódó csomagok.
Egyéb Opciók
Ha csak egy gyors visszafordítani, akkor használja az online eszköz www.decompileandroid.com/.
több fejlett visszafordítása célokra lehet vessen egy pillantást apktool, ami ad egy csomó további segítők.