反编译(未混淆文件)

准备工作:

apktool作用:主要查看res文件下xml文件、AndroidManifest.xml和图片。(注意:如果直接解压.apk文件,xml文件打开全部是乱码)

dex2jar作用:将apk反编译成Java源码(classes.dex转化成jar文件)

jd-gui作用:用来查看APK中classes.dex转化成出的jar文件,即源码文件

 

apktool.bat 下载地址 https://ibotpeaches.github.io/Apktool/install/

apktool.jar 下载地址  https://bitbucket.org/iBotPeaches/apktool/downloads/

 

dex2jar 下载地址 https://jaist.dl.sourceforge.net/project/dex2jar/dex2jar-2.0.zip

或者更为全面的http://sourceforge.net/projects/dex2jar/files/

jd-gui 下载地址 http://jd.benow.ca/

 

一、ApkTool的使用:

将 apktool.bat 和apktool.jar 放在同一文件夹下,之后将要编译的apk文件放在同一文件夹下,如下图所示

注:apktool.jar下载的时候如果带版本号,需要将文件名称改为apktool.jar

之后打开cmd窗口,在 命令行中定位到此文件夹

之后执行命令行

apktool d xxx.apk

反编译完成之后会生成对应的文件夹。

输入命令:apktool b xxx,xxx为刚才生成的apk对应的文件夹,此命令可以对apk文件进行二次打包,在上述的反编译操作完成后,我们就能够发现smali文件夹内的.smali文件,其由smali语言编写,即Dalvik的寄存器语言,smali有自己的语法并且可以修改,修改后可以被二次打包为apk,需要注意的是,apk经过二次打包后并不能直接安装,必须要经过签名后才能安装。

二、dex2jar的使用

将下载的dex2jar-2.0.zip解压,获得解压之后的文件夹dex2jar-2.0,之后将要被解压的apk后缀改为.zip,之后将文件进行解压,获得解压文件中的classes.dex,将classes.dex文件放入dex2jar-2.0文件夹下,

之后进入命令行进入到此文件夹中

执行命令 d2j-dex2jar classes.dex

执行完成之后再dex2jar-2.0文件夹下会生成一个classes-dex2jar.jar;

三、jd-gui的使用

安装jd-gui-windows-1.6.3.zip中的jd-gui.exe

到这里,反编译的过程就完成了,但是如果该APK进行了混淆处理,那么你看到的类文件名称以及里面的方法名称都会以a,b,c….之类的样式命名,所以你可以想找到你所想得知的界面代码可能会十分费劲,找到了代码可能看起来也会很费劲,可是一个大体的思路会获得,有了这个思路,你就可以自己去尝试了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在线反编译class文件是一种通过互联网上的工具或平台对编译后的Java类文件进行反向转换的过程。它允许开发人员或其他有兴趣的个人对特定的class文件进行分析和修改。 在使用在线反编译class文件之前,需要准备一个class文件,并确保该文件符合Java字节码的标准格式。然后,找到一个支持在线反编译的工具或平台。这些工具或平台通常提供了一个简单易用的界面,使用户能够上传和处理class文件。 使用在线反编译工具时,首先需要将class文件上传到工具指定的位置。然后,工具会对该文件进行解析,并将其转换为对应的Java源代码。这个过程使用了一系列复杂的算法和技术来还原出原始的代码结构和逻辑。 一旦class文件成功反编译为Java源代码,用户就可以阅读和修改它。这是非常有用的,特别是在没有源代码或需要分析第三方代码时。通过在线反编译,开发人员能够了解class文件中的逻辑和算法,并对其进行修改或优化。 然而,需要注意的是,在线反编译class文件有一些限制和法律风险。有些class文件可能使用了特殊的保护措施,如混淆、加密或数字签名等,这种情况下反编译是非常困难甚至是不可能的。此外,有些国家或地区对于反编译的合法性有明确规定,经授权的反编译可能会引起法律问题。 总之,在线反编译class文件是一个方便的工具,它能够帮助开发人员分析和修改编译后的Java类文件。然而,在使用时需要谨慎,并遵守相关法律规定。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值