Android 反编译三种方式
2024-02-23 18:08:22发布 浏览347次 信息编号:99264
友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。
Android 反编译三种方式
首先反编译别人的APK,主要是学习别人的实现逻辑,给自己一个思路。 更多的商业 APK 不会让您留下此漏洞。 一些核心业务处理会在后台进行; 本地APK也会进行混淆、加密等操作。
好了,废话不多说,我们进入正题:
方法一:在线反编译
非常简单方便的方法,只要打开网页,把APK放进去,就可以在线编译了。 不过速度比较慢。 对于较大的 APK 最好不要使用此方法,因为它很容易出错。
方法二:使用工具
所需的工具有:
1. APK TOOL:这是提供的编译工具。 我们知道APK实际上是一个压缩文件。 我们完全可以将.apk文件后缀改为.zip,这样我们就可以获取里面的资源文件(图片、res目录)。 xml文件下)和.xml(这是乱码)。 如果使用apk工具反编译apk,就不会出现这个问题。 下载地址:(需fq)
2.:将apk反编译成java源代码(将.dex转换成jar文件)下载地址:
3、jd-gui:用于查看jar包中代码的工具。 官网下载地址:
如果不方便fq的话,这里打包了三个工具供下载:
我们来谈谈这个工具的使用方法
第一步:反编译apk,获取程序的源代码、图片、XML配置、语言资源等文件
下载上述工具并解压得到3个文件:aapt.exe、.bat、.jar。 将需要反编译的APK文件放置在该目录下。
打开命令行界面(Run-CMD),导航到该文件夹,然后输入以下命令:.bat d -f winsh.apk -o text(在.0之后使用此命令)
注:(命令中的winsh.apk是指要反编译的APK文件的全名,text是反编译后的资源文件存放目录的名称,即:.bat d -f [apk文件] - o [输出文件夹])
如果成功,您的目录中将出现一个文本文件夹。
Text就是我们反编译出来的内容。 当然,如果你想修改后打包一个apk,也是可以的。 由于主题的原因,我就不多说了。 网上有很多。
第二步:反编译Apk得到Java源代码
所需工具:
将待反编译的APK后缀名改为.rar或.zip,解压得到.dex文件(由java文件编译而成,用dx工具打包),将得到的.dex放入中之前解压的tool-2.0文件夹,
在命令行中导航到.bat所在目录,然后输入d2j-.bat .dex。 效果如下:
该目录中将生成一个 .jar 文件。 这是反编译后的java代码文件。 只需要特定的工具即可查看。
步骤3:使用jd-gui打开.jar文件
直接打开jd-gui.exe工具,找到刚才的.jar,如下:
注:混淆后的效果图(里面的类文件名和方法名会按照a、b、c...的风格命名):
方法三:图形化反编译apk
您需要下载 .jar。 其实这个原理和方法二类似,但是这个更加智能,不需要我们手动输入命令。 一切都是可视化的,简单方便。 下载链接:
下载后直接点击.bat,会打开一个界面,放入需要编译的apk,并指定输出目录。
1.运行.bat
2. apk文件和输出目录使用英文路径
注:默认使用jad反编译。 如果编译后的java代码难以阅读,请选择使用jd-gui反编译。
保留smali文件,删除gen、src,修改res中的文件,然后重建并打包成apk使用。
总结:
开发者辛辛苦苦开发了自己的应用,但是别人反编译后就变成了自己的东西,所以需要进行混淆:
提醒:请联系我时一定说明是从星空网上看到的!