apk反编译
来源:互联网 发布:unity3d webgl 编辑:程序博客网 时间:2024/06/05 19:14
准备工具:
CSDN上下载地址:
apktool (资源文件获取) 下载
签名工具
apktool工具说明:
APKTOOL是解包 APK 文件最常用的工具,许多 APK 工具箱都集成了 apktool。它可以完整解包 APK,解包后你可以看到 APK 里面的声明文件、布局文件、图片资源文件、由 dex 解包出来的 smali 文件、语言文件等。如果你要汉化、修改界面、修改代码的话,apktool 可以帮你一站式完成。
常用命令
需要在 CMD 命令窗口中输入命令来使用,常用命令如下:
1.解包 APK(反编译):Java -jar apktool.jar d *.apk -o out
其中 *.apk 是被解包的 APK 文件名, out 是输出目录名称,要改什么文件可以在out这个文件夹里修改
2.重新打包(回编):java -jar apktool.jar b out
out 就是上面的输出目录,完成后,在out目录里有个dist文件夹,里面有新打包的apk文件,但是此文件是还没签名的,所以要用签名工具重新签名才行,签名后会生成个*_resigned.apk,这个apk就已经是可以用的了.
------------------------------------------------------
导入 framework-res.apk 架构文件:java -jar apktool.jar if frameword-res.apk
需要将 framework-res.apk 文件放在 apktool.jar 的相同目录下,导入架构文件可以解决一些调用了系统框架资源的 APK 包解包失败的问题
操作过程
- 下载解压工具包
- 将需要反编译的APK文件放到该目录下,打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:
apktool.bat d -f *.apk out
或者用上边的命令也可以! - 将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内,在命令行下定位到dex2jar.bat所在目录,输入
dex2jar.bat classes.dex
在改目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了。
注意:有些APK在打包的时候做过混淆处理,反编译之后里边好多都是以abc之类的命名,但是里边的逻辑还是很清晰的,能给我们提供一个实现的思路。
Smali2Java
我在搜索类似的的这种反编译的工具时,发现了这个Smali2Java,它不用在命令行输入命令来进行,直接解压后打开Smali2JavaUI.exe运行,将要反编译的APK文件直接打开即可。
参考:
http://blog.csdn.net/aiynmimi/article/details/49619321
http://blog.csdn.net/vipzjyno1/article/details/21039349/
http://www.idaybreak.com/android-apk-tools.html
- APK 反编译
- apk反编译
- APK反编译
- APK反编译
- 反编译apk
- apk反编译
- ? apk反编译
- 反编译apk
- 反编译 apk
- APK反编译
- apk反编译
- apk反编译
- 反编译apk
- 反编译APK
- APK反编译
- APK 反编译
- 反编译APK
- Apk反编译
- 正则表达式
- apache运行模式
- Ionic css组成(四)
- Java学习路线图
- hdu 1754
- apk反编译
- pyspark调用jupyter notebook
- Android性能优化典范(一)
- CVE-2011-0073浅析-firefox释放重引用漏洞
- Vue.js开发环境搭建-新建项目
- HTTP 报文介绍
- 在C#客户端用HTTP上传文件到Java服务器
- PHP的线程安全与非线程安全版本的区别
- POJ-----2549---Sumsets---二分