逆向工程android应用程序



我正在尝试用apktool对自己的应用程序进行逆向工程。反编译后,我无法在smali文件夹中看到我的pacakage名称。在res文件夹中,所有文件都可见。以下是我使用的构建配置,

minifyEnabled false
multiDexEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
manifestPlaceholders = [enableCrashReporting: "true"]

Smali文件是通过反编译DEX(Dalvik可执行文件(创建的。我不知道为什么你要在里面搜索你的包名,但你不能把smali文件反编译成java源代码。如果你想要java源代码,那么使用不同的方法进行反编译。

你可以使用dex2jar和JdGui谷歌它,你会发现。1.将您的APK重命名为.zip扩展名。2.打开它,找到classes.dex3.使用dex2jar将Dex文件反编译到jar。4.使用jdGui打开反编译后的jar文件。你会在那里找到你的包裹和来源。

注意:如果您使用multidex=true,那么您将在APK中找到多个dex文件。