安卓应用程序APK脱壳
当用apktool进行反编译时,有时会碰到进行加固(加壳)了的apk,此类apk无法正确反编译为smali文件,需要先对其进行去壳。
查壳工具ApkScan-PKID
脱壳apk
使用方法
将上面的apk和待脱壳apk安装到模拟器,然后运行blackdex64
点击待脱壳的app,自动完成脱壳
把脱壳后的dex拷贝到计算机,用下面的工具将dex转换为smali文件
使用方法
java -jar baksmali.jar dis cookie_5376.dex
cookie_5376.dex是待转换的dex文件,输出的smali文件存在当前目录下的out目录
将其按如下顺序改名:smali、smali_classes2、smali_classes3、smali_classes4、...
将smali目录回拷到apktool的反编译目录
修改AndroidManifest.xml,加壳程序在application 语句中的android:name一般有stub字符,如360加固的为
android:name="com.stub.StubApp"
腾讯加固的为
android:name="com.tecent.StubShell.TxAppEntry"
将其改为apk正常的app名称,可搜索反编译目录,一般为包名下的app文件
如上,app名称应该是
android:name="com.lycoo.lancy.ktv.IKTVApp"
修改后重新打包并签名
发表评论