MAC端Android反编译工具及使用

【写在前面】

今天在做项目时遇到一个困难,需求是这样的:

模仿csdn客户端,实现app端查看博文内容,要求不使用H5混合开发实现文章在界面上的显示;


图1-1 简书博文界面


我想到了简书客户端有实现类似的功能,虽然不知道它是不是用原生开发的,但是想要尝试学习一下,就看了一下反编译,现在将反编译的操作写成这篇文章供大家参考。

PS: 如果大家知道如何使用非H5方式实现富文本查看功能,希望大家在文章底下评论留言,谢谢大家了!


【工具下载】

http://download.csdn.net/detail/wj_november/9534211

http://download.csdn.net/detail/wj_november/9534292


【使用操作】

下载好我们的软件并安装后,我们的软件是这样的:



图2-1 反编译工具



我们的反编译主要分为两个部分,主要是:

资源文件的反编译
java代码的反编译

=资源文件的反编译=

我们打开AndroidCrackTool软件,选择好我们要反编译的apk:

 

图2-2 反编译资源文件



图2-3 资源文件反编译成功

点击执行按钮,出现如图2-3说明资源文件反编译成功。

这时候可能有的同学会说,用普通的解压软件解压也可以得到资源文件。这里我们要注意,解压软件解压出来的文件是字节码,我们对比一下两者的区别:


图2-4 AndroidCrackTool反编译结果


图2-5 普通压缩软件解压缩结果

然后我们打开AndroidManifest.xml,看一下二者文件内容有何不同:


图2-6 AndroidCrackTool反编译后的Manifest.xml文件


图2-7 普通压缩软件解压缩后的Manifest.xml文件


可以看到,我们的代码经过编译后,转为了十六进制的字节码。


=java代码反编译=

这一步操作,我们要用到我们之前用普通解压软件解压后得到的classes.dex文件,如下图:


图2-8 解压缩后得到的classes.dex文件

这个dex的具体机制我目前不是很懂,但是之前看过一些博客,讲的是,我们的代码经过编译后,会压缩成一个.jar文件,我们可以理解为另外一种格式的压缩文件,类似于.zip或.rar,为了不让我们的代码轻易被他人解压缩窃取,Android将.jar加了一个叫做“壳”的东西,加壳后的.jar文件就是.dex文件了,我们可以把.dex文件理解为加密过的压缩文件,一般我们需要特殊的软件进行去壳操作,我们用到的软件就是dex2jar.

我们将之前得到的classes.dex文件,放入dex2jar文件夹,然后打开终端,输入命令进行去壳操作:

cd dex2jar文件夹
sh dex2jar.sh classes.dex

图2-9 执行dex转jar命令

这时候我们查看一下我们dex2jar的文件夹,我们可以看到,我们的文件夹里多了一个classes_dex2jar.jar的文件:

图2-10 生成classes_dex2jar.jar文件


然后,我们用JD-GUI工具打开classes_dex2jar.jar文件,这时候就得到了源码:


图2-11 得到源码


当然我们会遇到这样的代码:


图2-12 代码混淆


这种情况叫“代码混淆”,为了防止我们写的代码被反编译后窃取,android设置了最后一层屏障,就是将我们原来对类、变量、方法的命名以abcd的字母来代替,让其失去原有的意思,防止我们的代码被别人读懂。但是这个对于有多年项目经验的大神们来说,并不构成障碍,因为写代码写得多了,根据其代码逻辑,大致可以判断代码的含义,而且也可以通过import进来的包,理解其作用。

奈何我只是一只菜菜的安卓小白,并不能很容易地读懂代码的含义,看来想要从简书app中学习到原生加载富文本的功能,尚需花费时日了。

本次反编译工具的使用教程就到这里,如果本文有出现错误的地方,欢迎大家多多指正!

另外,如果大家懂得如何用原生的方法实现富文本的加载,很感谢您在文章下面评论 ^_^

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要下载Android反编译工具,您可以按照以下步骤进行操作: 首先,打开您的浏览器,然后在搜索引擎中搜索“Android反编译工具下载”。您会看到许多网站和资源提供这些工具的下载。 根据您的需求和喜好,选择一个您信任的网站来下载反编译工具。请注意,确保您从可靠的和官方的网站下载这些工具,以避免安全风险。 一旦您打开选择的网站,找到适合您的Android反编译工具并选择下载选项。通常,这些工具会提供Windows、Mac和Linux等不同操作系统版本的下载。 单击下载按钮后,选择保存文件的位置。最好将其保存在自己容易找到的文件夹中,以方便后续使用。 下载完成后,导航到保存工具的文件夹,并解压缩下载的文件。大多数情况下,这可以通过右键单击文件并选择“解压缩”选项来完成。 完成解压缩后,您可以找到反编译工具的可执行文件。双击该文件,它将开始运行。 请注意,某些反编译工具可能需要您在计算机上安装Java运行时环境(JRE)。如果您尚未安装JRE,请按照指示从官方Java网站进行安装。 完成这些步骤后,您就可以使用所下载的Android反编译工具。具体的使用方法和功能可以在工具的官方网站或帮助文档中找到。 总之,下载Android反编译工具需要在可靠的网站上找到并选择合适的工具进行下载。记得保存并解压缩下载的文件,然后按照工具提供的说明启动和使用工具。 ### 回答2: 在网上可以找到许多可供下载的Android反编译工具,这些工具可以帮助开发者分析和修改已编译的Android应用程序。以下是一些常见的Android反编译工具: 1. Apktool:这是一个开源工具,用于反编译和重新编译Android应用程序。它可以提取应用程序的资源文件和源代码,使开发者可以查看和修改其中的内容。 2. jadx:这是一个用于反编译DEX文件(Dalvik Executable)的工具,可以将Android应用程序转换为易于阅读和理解的Java代码。它还提供了图形用户界面,方便用户进行操作。 3. dex2jar:这是一个将DEX文件转换为JAR文件的工具,使开发者可以使用Java反编译工具来查看和修改Android应用程序。它还可以将转换后的JAR文件导入到集成开发环境(IDE)中进行进一步的分析和开发。 4. JEB Decompiler:这是一个专业的反编译工具,可以将Android应用程序转换为易读的Java源代码。它提供了强大的分析和调试功能,方便开发者进行逆向工程和应用程序的修改。 需要注意的是,反编译工具使用应遵守法律法规和道德规范,不应用于非法目的。反编译他人应用程序可能涉及侵犯知识产权和违反隐私等问题,因此使用者需谨慎使用,并尊重他人的权利和隐私。 ### 回答3: android 反编译工具是一种用于提取和分析已编译的Android应用程序的工具反编译工具可以将已编译的apk文件转换成可读性更高的源代码,使开发者能够了解应用程序的内部结构和实现细节。 要下载android 反编译工具,可以按照以下步骤进行操作: 第一步,打开互联网浏览器,搜索并进入可信任的下载网站,如Github、SourceForge或官方网站等。 第二步,使用关键词搜索“Android 反编译工具”,比如常用的工具有Apktool、Dex2jar、JD-GUI等。根据个人需求和使用习惯选择合适的工具。 第三步,进入所选工具的下载页面,通常会提供多个版本以及源代码和二进制文件的下载选项。根据自己的需要选择适合的版本进行下载。 第四步,点击下载链接开始下载反编译工具。根据网络速度和文件大小的不同,下载时间可能会有所变化。请确保网络连接稳定,避免中断和下载错误。 第五步,下载完成后,找到下载的文件并解压缩(如果需要)。根据所选工具的安装和配置要求进行相应操作。 第六步,启动已安装的工具,并使用它来打开或导入想要反编译的apk文件。工具将进行分析和转换,生成可读性更高的源代码或其他相关文件。 总之,下载android 反编译工具并不复杂,只需要通过合适的渠道找到可信任的工具和下载链接,按照指引进行操作即可。但请注意,反编译和分析他人的应用程序可能涉及法律和道德问题,请在合法和适当的情况下使用反编译工具

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值