工具:
apktool:资源文件获取,可以提取出文件和布局文件进行使用查看
dex2jar:将apk反编译成Java源码(classesdex转化成jar文件)
jd-gui:查看APK中classesdex转化成出的jar文件,即源码文件
反编译流程:
一、apk反编译得到程序的源代码、、XML配置、语言资源等文件
下载上述工具中的apktool,解压得到3个文件:aaptexe,apktoolbat,apktooljar ,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入命令:apktoolbat d -f testapk test
(命令中testapk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktoolbat d -f [apk文件 ] [输出文件夹])
说明获取成功,之后发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。
如果想将反编译完的文件重新打包成apk,可以:输入apktoolbat b test(你编译出来文件夹)便可,之后在之前的test文件下便可以发现多了2个文件夹:
builddist(里面存放着打包出来的APK文件)
一、工具准备:apktool , dex2jar , jd-gui
二、使用dex2jar + jd-gui 得到apk的java源码
1用解压工具从 apk包中取出 classesdex 文件
用命令(dex2jarbat classesdex)得到一个 jar文件
2用jd-gui反编译工具将得到jar文件反编译成java文件
三、使用apktool得到apk的xml文件
1用命令(apktool d xxxapk xxx_xml)反编译xxxapk包
2从 xxx_xml 文件夹得到xml文件
四、第二步 得到的程序源代码 和 第三步 得到的xml文件组合下,即可得到完整的apk源码。
五、应用: 汉化/去广告,加 values-zh-rCN, values-zh-rTW, values-de, values-fr
1在步骤三的文件夹xxx_xml/res/ 下, 建文件夹: values-zh-rCN,values-zh-rTW
21复制values\stringsxml 到 values-zh-rCN 并翻译
22 去广告见;
3重建APK,用命令(apktool b xxx) ,输出到ABC/dist/outapk
或命令( apktool b xxx outapk)
六、重新打包 和 签名
如果你是要编译系统文件的话,请将你要修改的rom里的framework-resapk以及twframework-resapk(暂时叫做依赖包)twframework-resapk是三星的框架文件,用CMD模式“安装”下。
这样编译才不会出错。我一开始就是在这里纠结了很久。呵呵
安装方法:把依赖包放在刚才放apktool的目录下。(你也可以用指定目录的方法安装)
cmd模式 执行apktool if framework-resapk 这个是安装framework-resapk
cmd模式 执行apktool if twframework-resapk 这个是安装twframework-resapk
注意:这一步很重要,很多人不成功就是因为没做这一步。回编辑以后将编辑过的文件统统替换回原APK的原位置,如果要替换的话,最好在回编辑以后直接往原APK里替换,同理,反编辑时最好用原版没有替换过APK,这样才不容易出错!
欢迎分享,转载请注明来源:品搜搜测评网