adb push ./dexopt-wrapper /data/local
adb shell
cd /data/local
./dexopt-wrapper test.apk test.odex
上述的步骤是将apk转化为odex格式文件。
其中用到的dexopt-wrapper 附件中有。
中间可能回遇到permission deny的问题
是因为dexopt这个文件没有权限。
可以给加上权限
chmod 777 dexopt-wrapper
第一步,分解odex文件:
java -jar baksmali-1.2.8.jar -x test.odex
如果没其他问题,会在工作目录生成一个out的目录,里面是分解出来的一些文件,我们在此不深究这些文件的作用。
第二部,把分解得到的文件变成classes.dex:
java -Xmx512M -jar smali-1.2.8.jar out -o classes.dex
这样,我们就得到了一个有用的classes.dex文件,用WinZip或者WinRAR打开test.apk文件,把这个classes.dex放进去,最后再用signapk把最新得到的这个包含classes.dex的apk重新签署一下,就生成一个可以安装的单独APK程序了。
签名的命令行
keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000
jarsigner -verbose -keystore android.keystore -signedjar test_signed.apk test.apk android
如果签名失败的话,需要把apk包内mtf内的mf,sf两个文件删掉再进行操作。
附件中的几个jar都要放在工作目录下。
adb shell
cd /data/local
./dexopt-wrapper test.apk test.odex
上述的步骤是将apk转化为odex格式文件。
其中用到的dexopt-wrapper 附件中有。
中间可能回遇到permission deny的问题
是因为dexopt这个文件没有权限。
可以给加上权限
chmod 777 dexopt-wrapper
第一步,分解odex文件:
java -jar baksmali-1.2.8.jar -x test.odex
如果没其他问题,会在工作目录生成一个out的目录,里面是分解出来的一些文件,我们在此不深究这些文件的作用。
第二部,把分解得到的文件变成classes.dex:
java -Xmx512M -jar smali-1.2.8.jar out -o classes.dex
这样,我们就得到了一个有用的classes.dex文件,用WinZip或者WinRAR打开test.apk文件,把这个classes.dex放进去,最后再用signapk把最新得到的这个包含classes.dex的apk重新签署一下,就生成一个可以安装的单独APK程序了。
签名的命令行
keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000
jarsigner -verbose -keystore android.keystore -signedjar test_signed.apk test.apk android
如果签名失败的话,需要把apk包内mtf内的mf,sf两个文件删掉再进行操作。
附件中的几个jar都要放在工作目录下。