apk反编译

准备工具:

     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 包解包失败的问题

操作过程

  1. 下载解压工具包 
    这里写图片描述
  2. 将需要反编译的APK文件放到该目录下,打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f *.apk out或者用上边的命令也可以! 
    这里写图片描述
  3. 将要反编译的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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值