返回介绍

16.1 逆向操作惯例

发布于 2024-10-10 22:32:19 字数 616 浏览 0 评论 0 收藏 0

当对一个 apk 进行破解之前,会做如下两件事:

·用压缩软件解压 apk,得到 classes.dex,然后使用 dex2jar+jd-gui 工具查看代码逻辑。但是这里会发现资源文件如 AndroidManifest.xml 和 res 下面的 XML 文件都是乱码的,因为它们遵循 Android 中的 arsc 文件格式,关于这个文件格式在之前几章已经详细介绍过了。其实不管是什么文件格式,都有文件格式的说明文档,只要按照说明文档去做解析即可。

·使用 apktool 工具反编译 apk,得到 smali 源码和资源文件。smali 语法是 Android 虚拟机识别执行的指令代码,和 dex 文件可以相互转化,使用 baksmali.jar 和 smali.jar 这两个工具即可。当然这里还可以得到所有的资源文件,即 arsc 格式解析之后的内容,而且这个工具可以实现回编译,这个功能也是很强大的,不过后面分析源码就知道了,回编译其实是借助 aapt 这个强大的系统命令来完成的。可以看到如果想要完全分析一个 apk,apktool 工具是不可或缺的,它是开启破解大门的钥匙,这个工具也是逆向领域的敲门砖,而且现在很多可视化的破解工具的核心都是使用 apktool+dex2jar+jd-gui 这三个工具组成的,只是后期做了一定的界面优化。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文