看雪Android高研班2w3w 春秋秋季 Android逆向系列
2023-03-07 13:33 作者:娜娜絡(luò)絡(luò) | 我要投稿
Android 逆向分析工具
已報名記錄下筆記
通用逆向分析步驟
1.了解該模塊正向編程相關(guān)方法
2.使用apktool解密apk,得到資源、jni模塊等文件
3.從apk提取出dex文件,使用dex2jar轉(zhuǎn)換成jar文件,再用java逆向工具得到j(luò)ava源碼 dex->jar->java
4.根據(jù)特征(字符串、常量、包名類名方法名、manifest文件、布局文件等方式)或調(diào)試手段定位到關(guān)鍵代碼
5.分析變量含義類型、函數(shù)邏輯、模塊流程
6.對變量、函數(shù)、類進(jìn)行標(biāo)注、恢復(fù)成高級語言 ->c
Android程序的特點相比在于使用混淆方式打包,將包名、類名、函數(shù)名改成不易看懂的字母,從而使生成的apk小很多(android studio提供了release編譯方式,使用proguard混淆),因此反編譯apk最多的工作在于重構(gòu)這些名稱,這一點和pc上一致,對于android native程序(jni)則和pc上基本一致,不同之處在于常見的是arm匯編。
標(biāo)簽: