androidapk修改方法(反编译、修改、打包).docx

androidapk修改方法(反编译、修改、打包).docx

1、 baksmali : classes.dex 反编译为 smali 格式 (smali : smali格式编译打包为classes.dex,但由于smali格式类似汇编, 比较难阅读,所以用dex2jar进行辅助) 2、 dex2jar : classes.dex 转为 jar 包 3、 jdgui : jar反编译并阅读 操作顺序: 即k用zip解开,里面的classes.dex 分别用baksmali处理为smali,用dex2jar 处理成jar,然后用jdgui看代码,找好java文件中要改的位置后,在smali 里找对应的位置修改,改完了用 smali再编译为classes.dex,覆盖原来apk里 的同名文件,最后重新签名。注意安装时要先删除原来手机里的版本, 因为签名 不同。 1、 apk 用 zip 解开,得至U classes.dex 2、 用baksmali处理为smali(只是反编译看代码就不需要这一步,修改才用 ) java -jar baksmali-1.4.1.jar -x classes.dex 得到out目录,里面是smali文件 3、 用 dex2jar 处理 classes.dex 为 jar 包 dex2jar.bat classes.dex 得至U classes.dex.dex2jar.jar 4、 用 jdgui 打开 classes.dex.dex2jar.jar 好了,可以看代码,但还不能直接修改,需要对比着来修改 smali文件 改好后,用 java -jar smali-1.2.6.jar -o classes.dex out 得到修改后的classes.dex ,用这个文件替换fishing_joy_1.apk 中的同名文件 但这个apk是不能用的,还没有进行重新签名 先用 keytool 生成 keystore keytool -ge nkey -keystore mykeystore -alias mykeystore -validity 999 把apk中的META-INF删除,再用jarsigner 签名 jarsig ner -verbose -keystore mykeystore -sig nedjar fishi ng_joy_1_sig ned.apk fishi ng_joy_1.apk mykeystore 先卸载原来手机中安装的这个游戏,再用 fishi ng_joy_1_sig ned.apk 安装 最后工作目录是这个样子 名称 修改日期 大小 dex2jar-0.0.7.10-SNAPSHOT 2011/7/12 16:02 文际 fishingjoy.l 2011/7/12 16:29 文4核 jdgui 2011/7/12 16:26 文磁 out 2011/7/12 16:31 文磁 w. baksmali-1.2.6.jar 2011/7/11 16:06 JAR文件 817 KB _、classes.dex 2011/7/12 16:39 DEX文件 1.626 KB classes.dex.dex2jar.jar 2011/7/12 16:32 JAR文件 1.421 KB 撼 fishingjoy.l.apk 2011/7/12 15:57 Android保序安??? 16.255 KB 皿 fishingjoy.l.signed.apk 2011/7/12 16:51 Android保序安… 16,295 KB _」niykeystore 2011/7/12 16:50 文件 2 KB 应 smali-1.2.6.jar 2011/7/11 16:07 JAR文件 1,935 KB

文档评论(0)

1亿VIP精品文档

相关文档