android 反编译
来源:互联网 发布:plsql跨数据库复制表 编辑:程序博客网 时间:2024/06/05 16:10
1、下载文件apktool 解压,进入命令行,进入apktool文件夹,执行apktool d xxx.apk 目标文件夹
2、生成的目标文件夹有一个叫做“smali”的文件夹,只不过Java文件被.smali的文件取而代之了。
Smali文件其实就是dalvik虚拟机运行的dex字节码文件对应的汇编文件了。
如果你了解Java虚拟机的汇编语言Jasmin的话,你会发现两者的语法非常相似。
如果你想了解更多,可以访问Google Code上Smali项目主页:http://code.google.com/p/smali/ 。
3、资源文件,代码。重新编译打包。打包命令: apktool b 目标文件夹。
这时会在这个文件夹下生成两个文件夹:存放中间文件的文件夹build和存放最后的apk文件的文件夹dist。
4、这个APK文件是还没有签名的,所以无法安装运行。签名我们需要用到的工具是Auto-sign
它主要是利用批处理命令,使用signapk.jar对APK文件进行签名的。你可以用记事本打开Sign.bat,看看它的具体调用关系。关键如下:
java -jar signapk.jar testkey.x509.pem testkey.pk8 update.apk update_signed.apk
5、ok。结束。
---------、Apk反编译得到Java源代码下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。
apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件
源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码
dex2jar 和 jdgui 最新版本下载,分别见google code:
dex2jar(google code)
jdgui(google code),最新版本请见 官方
具体步骤:
首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。
在命令行下定位到dex2jar.bat所在目录,运行
dex2jar.bat classes.dex 生成 classes_dex2jar.jar
把classes_dex2jar.jar直接拖进jdgui就能看到java的源代码了
- android反编译防止反编译
- Android反编译
- android 反编译
- android 反编译
- android 反编译
- Android 反编译
- android 反编译
- Android 反编译
- android反编译
- android 反编译
- Android反编译
- android 反编译
- Android反编译
- android 反编译
- android 反编译
- android反编译
- Android反编译
- Android反编译
- procstat - displays linux proc stat (/proc/pid/stat) in human-readable format
- Man Page 说明
- UVa 11936 - The Lazy Lumberjacks
- 解决MySql数据库显示中文乱码的问题
- c/c++中内存划分
- android 反编译
- ViewPager+Fragment获取联系人列表
- input子系统五 多点上报协议
- 关于REST中做简单验证的思考
- mysql常用的日期加减函数与实例教程
- Microsoft SQL Server 混合云博客系列
- 用pl/sql自己编写简单的存储过程及jdbc调用存储过程
- 常见的预处理命令及功能
- 利用C++模板,代替虚函数,实现类的静态多态性(加入性能测试部分)