反编译源码结构-Android反编译的三种形式

首先反编译别人的APK,主要是学习别人的实现逻辑,给自己一个思路。 商业化程度较高的APK不会给你留下这个漏洞,一些核心业务处理会在后台进行操作; 本地APK也将被混淆和加密。

好了,废话够多了,我们进入题外话:

方法一:在线反编译

非常简单方便的方法反编译源码结构,只要打开网页,把APK放进去,就可以在线编译,但是速度比较慢。 对于比较小的APK,最好不要使用这些方法,容易出错。

技巧2:使用apktool工具

需要的工具有:

1. APKTOOL:这是微软提供的编译工具。 我们知道APK似乎是一个压缩文件。 我们完全可以将.apk文件的后缀改为.zip,这样就可以获得上面的资源文件(图片,res目录下的xml文件)和AndroidManifest.xml(这个是乱码)。 如果使用apktool反编译apk,就不会出现这些问题。 下载地址:(需fq)

2. dex2jar:将apk反编译成java源代码(classes.dex成jar文件)下载地址:

3、jd-gui:用于查看jar包上代码的工具。 官网下载地址:

如果不方便fq,这里有三个打包工具可以下载:

我们来谈谈这个工具的使用方法

第一步:反编译apk,获取程序的源代码、图片、XML配置、语言资源等文件

下载上述工具中的apktool,解压得到3个文件:aapt.exe、apktool.bat、apktool.jar,将要反编译的APK文件放到该目录下,

打开命令行界面(运行-CMD),导航到apktool文件夹,输入以下命令:apktool.batd-fwinsh.apk-otext(apktool2.0后使用此命令)

注:(命令中的winsh.apk是指要反编译的APK文件全名,text是反编译后存放资源文件的目录名,即:apktool.batd -f[apk文件] -o [导出目录 ])

如果成功,您的目录中将出现一个文本文件夹

文本就是我们反编译的内容。 其实如果你想打包修改后的apk,也是可以的。 由于主题的原因我就不多说了。 互联网上有很多。

第二步:反编译Apk得到Java源代码

所需工具:dex2jar

将反编译后的APK后缀改为.rar或.zip,解压得到classes.dex文件(由java文件编译并通过dx工具打包),将得到的classes.dex放入之前解压工具dex2jar-2.0文件夹,

在命令行中进入dex2jar.bat所在目录反编译源码结构,输入d2j-dex2jar.batclasses.dex。 疗效如下:

在该目录下,会生成一个classes_dex2jar.jar文件。 这是反编译后的java代码文件,但是需要特定的工具才能查看。

步骤3:使用jd-gui打开classes_dex2jar.jar文件

直接打开jd-gui.exe工具,找到昨天的classes_dex2jar.jar就可以了,如下:

注:已经混淆的效果图(上面的类文件名和方法名会以a、b、c....等样式命名):

方法三:图形化反编译apk

需要下载gapktool.jar,虽然这个原理和第二种方法类似,但是这个更加智能,不需要我们自动输入命令,所有这些都是可视化的,简单方便。 下载链接:

下载后直接点击Gapktool.bat,打开一个界面,将需要编译的apk放入其中,并指定输出目录。

1.运行Gapktool.bat

2.apk文件和输出目录使用中文路径

注意:默认使用jad反编译,如果编译后的java代码无法读取,请选择使用jd-gui反编译。

保留smali文件,删除gen、src并更改res中的文件,然后重新构建并打包成apk使用。

总结:

开发者辛辛苦苦开发了自己的应用,一旦被别人反编译就变成了自己的东西,所以需要进行混淆:

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 反编译源码结构-Android反编译的三种形式 https://www.wkzy.net/game/165900.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务