逆向工程 反编译_Android逆向工程和反编译

逆向工程 反编译

使用apktool,dex2jar,jd-gui对android java应用程序进行反向工程,以将.apk文件转换为.java。

通过对Android应用程序(.apk文件)进行反向工程,我们可以获得以下内容:

  • 了解如何构建应用程序中的特定UI
  • 阅读AndroidManifest.xml –应用中的权限,活动,意图等
  • 该应用程序中使用的本机库和图像
  • 混淆的代码(默认情况下,Android SDK使用ProGuard工具,该工具通过删除未使用的代码并使用语义上晦涩的名称重命名类,字段和方法来缩小,优化和混淆代码。

所需工具:

首先下载以下内容。

使用ApkTool

提取AndroidManifest.xml以及res文件夹中的所有内容(布局xml文件,图像,用于webview的html等)。

运行以下命令:

>apktool.bat d sampleApp.apk

它还提取所有.class文件的.smali文件,但是很难读取。

##您可以使用7-zip之类的zip实用程序来实现。

使用dex2jar

要从.apk文件生成.jar文件,我们需要JD-GUI从该.jar中查看源代码。

运行以下命令:

>dex2jar sampleApp.apk

反编译.jar JD-GUI

会反编译.class文件(对于android应用,则为模糊处理;对于其他.jar文件,则为可读的原始代码)。 即,我们从应用程序中获取了.java。

只需运行

jd-gui.exe and File->Open to view java code from .jar or .class file.

您可能还喜欢 -


参考: Android逆向工程–GT博客博客中从我们的JCG合作伙伴 Ganesh Tiwari 反编译.apk-.dex-.jar-.java

翻译自: https://www.javacodegeeks.com/2012/11/android-reverse-engineering-and-decompilation.html

逆向工程 反编译

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值