第一步,使用apktool得到 res文件。
解压缩下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD-回车) ,定位到apktool文件夹,(还有个简单办法,按住shift键,点击鼠标右键,在菜单中选择“此处打开命令行窗口”),输入以下命令:apktool.bat d -f Presidential.apk (Presidential.apk 是我要反编译的apk的全名,apktool的指令这里就细讲了,请同学们自己学习吧)命令行图片和生成的文件的图片如下图。res文件就我们需要的资源文件啦。
第二步,查看apk文件的源代码。首先将apk文件的后缀改为.rar或者.zip并解压,得到其中的额classes.dex文件.,将获取到的classes.dex放到之前解压出来的工具dex2jar 文件夹内,然后用同样的方法打开命令行,输入:
dex2jar.bat classes.dex 回车,效果如下:
在改目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了。
APKDB是一款,针对Android OS系统的APK程序,直接反编译修改的工具。其实,本工具是一个工具集合箱,直接在【鼠标右键】创建快捷菜单;非常方便汉化工作者,对APK或Dex文件进行简易的反编译回编译 *** 作;集合了当今最强悍,最犀利的APK及Dex文件编译工具;但安装过程阻碍多多,这里向大家说说这个工具的安装经验:
1、被杀毒软件拦截误杀(安装前,关闭杀毒软件)
2、没有管理员权限(右键以管理员身份运行C:\Apkdb\安装.exe)
或者,使用兼容模式 (右键-属性-兼容性-兼容模式[Windows XP SP3])
以及 特权等级 勾选“以管理员身份运行此程序”
3、UAC限制 安装过程没有写入注册表提示,直接显示安装完成
(右键 我的电脑-管理-本地用户和组-用户-Administrator(√ 密码永不过期)
4、安装成功,安装过程有写入注册表提示,但是右键APK 没有菜单
(检查是不是安装了PC版的手机管理工具,关联了APK文件。请手动管理本工具的安装器)
5、安装后无法编译文件,提示JAVA 错误
(未安装JAVA平台,或安装错误。请卸载后重启电脑,重装再次重启电脑)
6、安装成功后,编译文件提示 “Can't create the output directory \\****\smali”
(这是文件夹 没有写入权限。检查是否直接在硬盘分区根目录编译了?
Apktool不能在磁盘分区。如:C盘 D盘 根目录!
如果不是根目录,请检查apk文件名称是不是有问题。如,文件名结尾空格。)
7、能反编译,但无法回编译
(可能是被旧版本的Apktool编译过,试试用旧版的反编译,用新版的回编译)
8、回编译出错问题:
(1.提示 strings.xml 最后一行错误,检查是否</string>符号错误;
(2.提示 strings.xml 最顶部含中文代码首行错误,编码格式不对,转换成 UTF-8;
(3.提示 public.xml 出错,检查改动过的 arrays.xml 是否代码有错误的地方;
使用过程中的说明
1、需要反编译的APK文件名称,不可以使用中文,否则无法回编译。
2、反编译后的文件夹不要重命名,否则自动签名会失败(控制在:apktool.yml)。
3、APK文件不能放在分区根目录直接反编译,请放在子目录内。
4、部分功能需要 NET.Framework 4.0 的支持!如:显示APK自身图标。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)