登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

APK反编译关键命令及步骤 [复制链接]

2017-8-11 17:03
PPP孩 阅读:237 评论:0 赞:0
Tag:  反编译
反编译对于开发来说属于基本功,会了反编译,既可以用来查看我们要发布的包配置是否正确,代码是否有什么问题,是否存在被他人注入修改的情况,还可以用来学习别人的代码,当然要是混淆加固的非常厉害那就另当别论

下面开始,只说关键点,详细教程自行搜索
假设已经有了apktool及2j-dex2jar工具,没有的自行下载最新版本,最新版可以提高反编译成功率
注意,在使用apktool时,需同时下载apktool及对应平台的依赖包,解压后将平台依赖包中的apktool.jar复制到apktool目录下

先说查看清单文件,资源文件不在查看考虑范围
方法1:
1.复制apk至apktool路径内,运行cmd进入apktool.bat路径
假如我的apktool放在了d盘,那么完整的命令是:C:\Users\Administrator>cd d:   回车;C:\Users\Administrator>d:

2.执行 'apktool.bat d f xxx.apk',等待结束。其中d表示解包
到此我们可以查看清单文件了
方法2:
不复制apk,直接在apktool路径下执行命令行:
apktool.bat d  xxx.apk xxx
xxx.apk为待反编译apk路径,xxx为目标文件夹名,注意:apktool不支持中文目录

如果想查看源码,继续看:
1. 修改待反编译文件后缀.apk为.zip后,得到classes.dex
2.命令行进入dex2jar目录,运行
d2j-dex2jar classes.dex
得到classes-dex2jar.jar
使用jd-jui工具尽情的看吧

顺带提一点应用加固方面的思路:
1.apk网络请求与后端接口协商加密
2.apk编译打包后使用360加固助手
3.app内部关键数据不要使用明文,后端数据与前端统一加密解密规则。
4.混淆时注意第三方及android api自身需要注意的一些包名类名方法名
分享到:
我来说两句
facelist
您需要登录后才可以评论 登录 | 立即注册
所有评论(0)

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条

广告投放| 申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

返回顶部