Please enable Javascript to view the contents

Android 渗透测试之编译与反编译工具

 ·  ☕ 5 分钟  ·  ✍️ IceKam · 👀... 阅读

前言

最近在研究移动应用安全,算是这个行业的一个新兵。

一直没有更新文章是因为太忙了,现在分享一部分我最近使用的一些小工具。

编译/反编译工具

dex2jar

介绍

dex-reader旨在读取Dalvik可执行文件(.dex / .odex)格式。它具有与ASM类似的轻量级API。

dex-translator旨在执行转换作业。它读取dex-ir格式的dex指令,经过一些优化后,转换为ASM格式。

dex-translator使用的dex-ir,用于表示使用.class文件的dex指令dex-tools工具。

d2j-smali将dex反汇编为smali文件并从smali文件汇编dex。

与smali / baksmali不同的实现,相同的语法,但我们支持类型desc“Lcom / dex2jar \ t \ u1234;”中的转义

dex-writer以与dex-reader相同的方式编写dex。

下载地址

https://sourceforge.net/projects/dex2jar/

jd-gui

介绍

“Java Decompiler项目”旨在开发工具,以便反编译和分析Java 5“字节代码”和更高版本。

JD-Core是一个从一个或多个“.class”文件重构Java源代码的库。JD-Core可用于恢复丢失的源代码并探索Java运行时库的源代码。支持Java 5的新功能,例如注释,泛型或类型“枚举”。JD-GUI和JD-Eclipse包括JD-Core库。

JD-GUI是一个独立的图形实用程序,显示“.class”文件的Java源代码。您可以使用JD-GUI浏览重建的源代码,以便即时访问方法和字段。

JD-Eclipse是Eclipse平台的插件。它允许您在调试过程中显示所有Java源代码,即使您没有全部这些源代码也是如此。

JD-IntelliJ是IntilliJ IDE的插件。

JD-Core,JD-GUI和JD-Eclipse是根据GPLv3许可证发布的开源项目。

下载地址

http://java-decompiler.github.io/

apktool

介绍

用于逆向工程第三方,封闭式二进制Android应用程序的工具。它可以将资源解码为近乎原始的形式,并在进行一些修改后重建它们。

它还使得使用应用程序更容易,因为项目如文件结构和一些重复性任务的自动化,如构建apk等。

它不适用于盗版和其他非法律用途。它可用于本地化,添加一些功能或支持自定义平台,分析应用程序等等。

特征

拆卸资源近原始形式(包括resources.arsc,classes.dex,9.png.和XMLs)
将解码后的资源重建为二进制APK / JAR
组织和处理依赖于框架资源的APK
Smali调试(删除了2.1.0有利于IdeaSmali)
帮助重复性任务

要求

Java 8(JRE 1.8)
Android SDK,AAPT和smali的基础知识

下载地址

https://ibotpeaches.github.io/Apktool/

IDA pro

介绍

IDA是Windows,Linux或Mac OS X托管的多处理器反汇编程序和调试程序。

这个不解释太多了吧。

下载地址

https://www.hex-rays.com/products/ida/

ApkAnalyser

介绍

ApkAnalyser是一个用于检查和验证的静态虚拟分析工具。

它是一个完整的工具链,支持使用更多打印输出修改二进制应用程序。

然后你就可以了重新包装,安装,运行并验证logcat的结果。

ApkAnalyser也支持资源分析,您可以解码XML,查找资源引用和检测 您应用中的潜在问题。

它是一个独立的J2SE应用程序,在Apache 2.0许可下发布,100%用Java编写。

下载地址

https://github.com/sonyxperiadev/ApkAnalyser

Eclipse

不解释。

dexopt-wrapper

介绍

在Android 2.3版本以前,系统源码中提供了生成odex的工具dexopt-wrapper,位于Android 2.2系统源码的 build/tools/dexpreopt/dexopt-wrapper/ 目录下,查看DexOptWrapper.cpp文件会发现实际调用的是 /system/bin/dexopt 程序。

在5.0及以上版本的设备上,你可能已经再也找不到dexopt了,取而代之的是dex2oat。

010 editor

介绍

最6的二进制编辑器。

任何大小的文件都具有无与伦比的二进制编辑性能。

使用强大的二进制模板技术来理解二进制数据。

查找并修复硬盘驱动器,内存密钥,闪存驱动器,CD-ROM等问题。

调查和修改进程的内存。

下载地址

https://www.sweetscape.com/010editor/

SQLite Studio

介绍

SQLiteStudio是一个SQLite数据库管理器,具有以下功能:

便携式 - 无需安装或卸载。只需下载,解压缩并运行即可。

直观的界面,功能强大,但轻和快。
所有SQLite3和SQLite2功能都包含在简单的GUI中。

跨平台 - 在Windows 9x / 2k / XP / 2003 / Vista / 7,Linux,MacOS X上运行,并且可以在其他Unix上运行(尚未测试)。

导出为各种格式(SQL语句,CSV,HTML,XML,PDF,JSON)。
从各种格式导入数据(CSV,自定义文本文件[正则表达式])。

许多小的补充,如格式化代码,在编辑器窗口中执行的查询历史,动态语法检查等等。

Unicode支持。

Skinnable(界面可以看起来适用于Windows 9x / XP,KDE,GTK,Mac OS X或绘制小部件,适合其他环境,WindowMaker等)。

可配置的颜色,字体和快捷方式。

开源和免费 - 根据GPLv3许可证发布。

下载地址

https://sqlitestudio.pl/index.rvt

ApkIDE 改之理

APK改之理(APK IDE)是一款可视化的、易用的、快捷的、一体化的安卓APK修改工具。

集成了ApkTool、Dex2jar、JD-GUI等Apk修改工具。

集Apk反编译、Apk查壳、加密解密、Apk调试分析、Apk打包、Apk签名,支持语法高亮的代码编辑器。

基于文件内容的关键字(支持单行代码或多行代码段)搜索、替换引擎,打造成可视的、一体化的安卓反汇编工具。

从而大大简化Apk修改过程中的繁琐操作,修改更轻松。

下载地址

https://pan.baidu.com/s/13Ko7_glotT5IUU2nmSeisQ

Ghidra

详见:https://www.icekam.com/post/nsa-open-source-disassembly-tool-set-ghidra-reverse-must/

结语

生命诚可贵,折腾永不修!

分享
您的鼓励是我最大的动力
bitcoin QR Code

icekam
作者
IceKam
茶艺品鉴砖家,低端码字人口。