常见问题解决Android知识Android技术知识

Android 轻松反编译

2017-04-03  本文已影响118人  Rayhaha

当我们遇到一个很炫的App,都会想去模仿实现。但通常App都会经过混淆才发布的,所以我们需要反编译。

工具

我在Github上传了这些工具,也可以来我的Github下载

dex2jar使用

目的:反编译得到Java文件

  1. 直接解压要反编译的Apk文件,得到classes.dex
  2. classes.dex 拷贝到 dex2jar-2.0文件夹里面
  3. 在dex2jar-2.0文件夹里面执行命令行(shift+右键 -> 在此处打开命令窗口) , 执行:d2j-dex2jar.bat classes.dex
  4. 然后就得到了classes_dex2jar.jar
  5. 使用jd-gui.exe打开classes_dex2jar.jar 就可以看到java文件啦!!

apktool使用

目的: 反编译得到资源文件

  1. 直接把要反编译的apk放到apktool文件夹里面
  2. 在apktool文件夹里面执行命令行(shift+右键 -> 在此处打开命令窗口) , 执行:apktool d test.apk , 然后就会生成test文件夹
  3. 然后继续执行apktool b test 重新构建apk
  4. 然后就得到我们需要的资源文件啦

过程如下:

$ apktool d test.apk
I: Using Apktool 2.2.2 on test.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: 1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
$ apktool b test
I: Using Apktool 2.2.2 on test
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
I: Copying unknown files/dir...

如果有用,记得点个赞鼓励一下哈

上一篇 下一篇

猜你喜欢

热点阅读