安卓 apk反编译教程
2015-09-14 14:40
197 查看
千里之行,始于足下。发扬 开源精神,废话不多说,下面为大家带来详细教程。
一,首先准备工具:
我已经为大家收集了工具,上传在我的github上 :
下载地址:https://github.com/modulemax/apk-decompile-tools/
另附一个我自己写的app作为实验对象。下载地址:http://www.wandoujia.com/apps/com.example.rk.mynews
源码地址: https://github.com/modulemax/lengxiaohua
二:开始反编译。(有点干坏事的赶脚)
1 打开电脑命令提示符(cmd) cd C:\apktool (我把它解压放在了C盘根目录,并重命名了)
2 把要反编译的目标apk 放在同个文件夹下 我们以刚下的app为例(因为这个app开源,大家可以从github上下载源码并查看)
3 输入命令 apktool d lengxiaohua.apk 这是核心命令,会对目标apk(lengxiaohua.apk) 进行反编译生成一个以app对应名字的文件夹
我们汉化 破解都是对该文件夹进行操作。
4 a 生成的文件夹里 反编译生成的都是 smail 文件
就是Dalvik VM内部执行的核心代码。如果要破解付费,vip什么的就对这smail文件进行
修改吧。工具包里提供dex2jar工具,该工具使用 命令格式:dex2jar classes.dex 其中classes.dex文件解压apk就可以得到
命令执行后,会得到jar格式的源文件,用jd-gui工具打开该jar文件就可以查看。
b 工具Smali2JavaUI.exe 可以直接反编译apk.(不是很好用)
5 修改好后 进行回编操作,apktool b lengxiaohua 执行后会在dist文件夹上生成修改后的apk.
6 最后一步 对回编生成的apk进行签名,没签名手机是装不了的。使用工具APKSign对apk签名。
完 。。。。
额魔高一尺,道高一丈。反编译失败也是很正常的,因为很多软件都进行了反编译保护。
一,首先准备工具:
我已经为大家收集了工具,上传在我的github上 :
下载地址:https://github.com/modulemax/apk-decompile-tools/
另附一个我自己写的app作为实验对象。下载地址:http://www.wandoujia.com/apps/com.example.rk.mynews
源码地址: https://github.com/modulemax/lengxiaohua
二:开始反编译。(有点干坏事的赶脚)
1 打开电脑命令提示符(cmd) cd C:\apktool (我把它解压放在了C盘根目录,并重命名了)
2 把要反编译的目标apk 放在同个文件夹下 我们以刚下的app为例(因为这个app开源,大家可以从github上下载源码并查看)
3 输入命令 apktool d lengxiaohua.apk 这是核心命令,会对目标apk(lengxiaohua.apk) 进行反编译生成一个以app对应名字的文件夹
我们汉化 破解都是对该文件夹进行操作。
4 a 生成的文件夹里 反编译生成的都是 smail 文件
就是Dalvik VM内部执行的核心代码。如果要破解付费,vip什么的就对这smail文件进行
修改吧。工具包里提供dex2jar工具,该工具使用 命令格式:dex2jar classes.dex 其中classes.dex文件解压apk就可以得到
命令执行后,会得到jar格式的源文件,用jd-gui工具打开该jar文件就可以查看。
b 工具Smali2JavaUI.exe 可以直接反编译apk.(不是很好用)
5 修改好后 进行回编操作,apktool b lengxiaohua 执行后会在dist文件夹上生成修改后的apk.
6 最后一步 对回编生成的apk进行签名,没签名手机是装不了的。使用工具APKSign对apk签名。
完 。。。。
额魔高一尺,道高一丈。反编译失败也是很正常的,因为很多软件都进行了反编译保护。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories