Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >26款优秀的Android逆向工程工具

26款优秀的Android逆向工程工具

作者头像
知识与交流
发布于 2023-03-25 02:02:22
发布于 2023-03-25 02:02:22
8.5K0
举报
文章被收录于专栏:黑客技术家园黑客技术家园
工欲善其事必先利其器,好的Android逆向工程工具在逆向破解工程中起到事半功倍的作用。

1. SMALI/BAKSMALI

SMALI/BAKSMALI是一个强大的apk文件编辑工具,用于Dalvik虚拟机(Google公司自己设计用于Android平台的虚拟机)来反编译和回编译classes.dex。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。

2. ANDBUG

Andbug是一款针对Android平台的Dalvik虚拟机的调试工具,工具基于jdwp协议,使用了python封装,其灵活性和可定制性对逆向工程师和开发人员而言可谓是神器级别的安卓安全工具。它与Android的Eclipse插件调试使用相同的接口,其Java 调试线协议(JDWP)和Dalvik调试监视器(DDM)允许用户监视Dalvik虚拟机,检查进程状态。

不同于谷歌自己的Android软件开发工具包调试工具,AndBug不要求源代码。但是,它需要使用python封装,因为对于大多数重要的任务,它需要使用一个脚本断点(scripted breakpoints)的概念,称为“hooks”。

3. ANDROGUARD

androguard (也称Android guard) 是 Android 应用程序的逆向工程,提供恶意软件分析等功能。其特征为:

使用DAD作为反编译器; 可以分析恶意软件; 主要由Python 编写; 支持可视化;

androguard 支持:

DEX, ODEX; APK; Android的二进制XML; Android资源文件; 分解的DEX/ODEX 字节; DEX/ODEX 文件反编译程序;

4. APKTOOL

APKTool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。它可以完整解包APK,解包后你可以看到 APK 里面的声明文件、布局文件、图片资源文件、由 dex 解包出来的 smali 文件、语言文件等。如果你要汉化、修改界面、修改代码的话,apktool 可以帮你一站式完成。

特征:

反编译资源文件到原始格式(包括resources.arsc,classes.dex,9.png以及XML等); 将解码资源重建回二进制APK / JAR; 组织和处理依赖于框架资源的APK; Smali调试(2.1.0中移除,被IdeaSmali取代); 协助重复性任务;

5. AFE

AFE(Android Frameworkfor Exploitation)是一个开源项目,运行在Unix-based 的操作系统中,能够用来证明Android操作系统中存在安全漏洞,它还表明Android僵尸网络是能够存在的。使用AFE能够非常容易的自动创建一个Android平台的恶意软件,发现应用软件的漏洞(例如Leaking Content Providers,Insecure FileStorage,Directory Traversal等),以及在受感染的设备上执行任意命令。

AFE包含两个部分,PC端(以下称为AFE)和手机端(以下称为AFEServer)。AFE大部分是完全使用Python编写的。AFE是可扩展的,可以自由添加其他的模块或者将已有的工具移植到AFE框架下。AFEServer是一个在手机上运行的Android应用,用来和AFE的Python界面进行连接,执行AFE发送到手机的命令。

功能:

完善的命令行界面; 发现应用漏洞; 自动化创建恶意应用;

6. BYPASS SIGNATURE AND PERMISSION CHECKS FORIPCS

该工具通过使用Cydia Substrate为IPCs提供绕过签名和权限检查服务。

关于Cydia Substrate

Cydia Substrate是一个代码修改平台。它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的。

7. ANDROID OPENDEBUG

该工具利用Cydia Substrate将所有的应用程序在设备上运行;一旦安装任意应用程序就会有一个debugger连接到它们。

注意:该工具只能在测试设备中使用!

8. DARE

Dare是宾州大学计算机系发布的apk逆向工程工具,可以将Android系统中使用的apk文件反编译为JavaClass文件,这些Class文件随后可以通过现有的Java工具(包括反编译)进行处理。目前支持Linux和Mac OS X中使用。

9. DEX2JAR

dex2jar是一个能操作Android的dalvik(.dex)文件格式和Java的(.class)的工具集合。包含以下几个功能

dex-reader/writer:用于读写 DalvikExecutable (.dex) 文件格式. 包含一个简单的API(与ASM相似); d2j-dex2jar:执行dex到class的文件格式转换; smali/baksmali:与smali工具功能一致,但是对中文更友好; 其他工具:字符串解密

10. ENJARIFY

Enjarify是由Google推出的一款基于Python3开发,类似dex2jar的反编译工具,它可以将Dalvik字节码转换成相对应的Java字节码,有比dex2jar更优秀的兼容性,准确性及更高的效率。

11. DEDEXER

Dedexer是一款反编译dex文件的开源工具。特征包含:

不需要在android模拟器中运行; 能够将dex文件按照java源代码package的目录结构建好了目录,每个class文件对应一个ddx文件; 可作为像jasmin一样的反编译引擎;

12. FINO

一款Android动态分析工具。

13. INDROID

该项目的目的是证实在nix 系统a.k.a ptrace函数上的一个简单的调试功能可以被恶意软件滥用,在远程进程中注入恶意代码。Indroid为基于ARM的 nix设备提供创建远程线程(CreateRemoteThread)。

CreateRemoteThread是创建一个在其它进程地址空间中运行的线程(也称创建远程线程)。

14. INTENT SNIFFER

Intent Sniffer工具可以在任何运行谷歌Android操作系统的设备上使用。在Android平台中,Intent是应用程序之间进行通信的最常用的方式之一,Intent Sniffer工具实现监控运行时路由的广播Intent,也就是在系统上的应用程序之间发送的Intent。它并不监控显式广播的Intent,而是默认为(大多数情况下)无优先权的广播。

该工具也能够针对那些基于应用反射和动态审查安装程序的Intent来动态升级扫描的Action和Category。

15. INTROSPY

Introspy是一款黑盒测试工具,帮助我们理解Android应用程序在运行时的行为,协助我们识别潜在的安全问题。

16. JAD

JAD是一款Java反编译工具,可以通过命令行把Java的class文件反编译成源代码。

17. JD-GUI

JD-GUI是一个独立的显示“.class” 文件Java源代码的图形用户界面工具。用户可以使用JD-GUI浏览和重建源代码的即时访问方法和字段,以代码高度方式来显示反编译过来的代码。

18. CFR

CFR(Class File Reader),Java反编译器,支持Java 8的lamda表达式,Java 7 的字符串转换等,开发者为LeeBenfield。

19. KRAKATAU

Krakatau开发者为Storyyeller,目前主要包含三个工具——java类文件的反编译和反汇编工具,创建类文件的汇编工具。

20. PROCYON

Java反编译器和元编程框架Procyon可以在反编译工具中立足,显然是具有其独到优势的。它有进行控制流分析,以及类型推断,也支持java8特性,其开发者为Mike Strobel。

21. FERNFLOWER

Fernflower是一个对Java程序进行反编译分析的利器。目前正处于开发阶段,如有bug报告和改进建议可发送邮件至fernflower.decompiler@gmail.com

22. REDEXER

Redexer是Dalvik 字节码(用于安卓APP)分析框架,它是一套基于OCaml的实用工具,帮助程序员解析,操作Dalvik虚拟机。Redexer由来自马里兰大学帕克分校的PLUM组织开发完成,主要作者是:Jinseong Jeon,Kristopher Micinski以及Jeff Foster。

关于OCaml

OCaml是Caml编程语言的主要实现,由XavierLeroy,Jérme Vouillon,Damien Doligez,Didier Rémy及其他人于1996年创立。

23. SIMPLIFY安卓反混淆工具

Simplify安卓反混淆工具实际上是通过执行一个APP来解读其行为,随后尝试通过优化代码来实现行为一致,但是更容易被人理解的目的。每一种优化类型都是非常简单通用的,所以无论用的是什么特殊类型的混淆技术都没关系。其主要由3部分组成:smalivm,simplify以及demo app。

24. BYTECODE VIEWER

Bytecode Viewer是一个高级的轻量级Java字节码查看器,GUIProcyon Java 反编译器, GUI CFR Java 反编译器, GUI FernFlower Java 反编译器, GUI Jar-Jar, Hex 查器看, 代码搜索器, 调试器等。

这款开源工具完全采用Java编程语言进行开发。这款工具由Konloch设计并开发,目前也主要是Konloch正在维护这一开源项目。

在这款工具中,还设计有一个插件系统,它可以允许你与加载的类文件进行交互。比如说,你可以写一个字符串的反混淆工具,恶意代码搜索器,或者其他的一些你所能想到的东西。

你不仅可以使用一个他人预先编写完成的插件,而且你也可以使用你自己写的插件。不仅如此,它还支持使用Groovy脚本,Python脚本,以及Ruby脚本。当插件状态被激活之后,它会将每一个单独的类文件加载进BCV中,这样一来,用户就可以使用ASM来控制这些加载的类文件了。

25. RADARE2

radare2是一款开放源代码的逆向工程平台,它可以反汇编、调试、分析和操作二进制文件。

主要特点:

多平台多架构的; 高度脚本; 十六进制编辑器; IO包裹; 文件系统支持; 调试器支持等;

26. JEB FOR ANDROID

JEB是一个功能强大的为安全专业人士设计的Android应用程序的反编译工具。用于逆向工程或审计APK文件,可以提高效率减少许多工程师的分析时间。

特征表现为:

全面的Dalvik反编译器; 交互性; 可全面测试APK文件内容; 多平台(支持Windows, Linux和Mac等操作系统)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 黑客技术家园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
android逆向工具/命令
jd-gui 查看jar包的java代码 使用jd-gui打开classes-dex2jar.jar就可以看到源代码了
tea9
2022/09/08
8790
Pentestbox神器说明(二)
前言 接上篇,把剩下的补全,废话不多说,直接上干货 14、密码破解 14.1 Findmyhash findmyhash。py尝试不同类型的裂缝散列使用免费的在线服务。 1 2 3cmd.exe C:\Users\Demon\Desktop >findmyhash 14.2 HashIdentifier 软件来识别不同类型的散列加密数据,尤其是密码使用。 1 2 3cmd.exe C:\Users\Demon\Desktop >hashidentifier 14.3 Hashcat Hashcat是
用户1467662
2018/03/30
1.6K0
s002android逆向安全初级篇之android smali语法总结
smali中有两类数据类型:基本类型和引用类型。 引用类型是指数组和对象,其他都是基础类型。
上善若水.夏
2018/09/28
7770
Android逆向分析从入门到深入
学习逆向的初衷是想系统学习Android下的hook技术和工具, 想系统学习Android的hook技术和工具是因为Android移动性能实战这本书. 这本书里用hook技术hook一些关键函数来计算关键函数的调用参数和调用时长, 从而确定性能问题发生的位置和原因. 但目前没有比较系统的讲解hook的书籍, 所以就系统的了解下逆向分析.
用户7118204
2020/03/24
1.3K0
Android常用工具集合(一)
下载地址 : https://ibotpeaches.github.io/Apktool/
Jumbo
2019/03/07
1.3K0
常见APP攻击方法攻击原理和防御方法介绍
用户打开安卓手机上的某一应用,这时,恶意软件侦测到用户的这一动作,如果立即弹出一个与该应用类似的界面,拦截了合法的应用,用户几乎无法察觉,该用户接下输入账号、卡密什么的 其实是在恶意软件上进行的,接下来会发生什么就可想而知了。
知识与交流
2023/09/18
9650
常见APP攻击方法攻击原理和防御方法介绍
Android逆向之静态分析
想必打过CTF的小伙伴多多少少都触过Android逆向,所以斗哥将给大家整一期关于Android逆向的静态分析与动态分析。本期先带来Android逆向的静态分析,包括逆向工具使用、文件说明、例题解析等。
漏斗社区
2018/09/29
1.8K0
Android逆向之静态分析
Android逆向工具介绍
反汇编工具 Apktool/ShakaApktool apktool Download ShakaApktool Github 作者已经不更新了 smali/baksmali dex2jar enjarify 静态分析工具 android-classyshark jadx JD-GUI BytecodeViewer Android Killer Android Killer下载 动态调试工具 JEB jdb Android Studio/Intellij ID
tea9
2022/09/08
3460
安卓反编译记录
下午闲来无事便想修改个app的名字,弄来一下午顺便在记录下,熟悉了步骤还是挺简单的,不过使用的工具这个东西最好是下载最新的,比较反编译出错,很大程度上依赖工具的强大,在此也是收集网络资料而来,不过话说技术这个东西,博客很多用法已经失效,各位看客也只能看看参考就好(不过特别鄙视那些博客随便复制,不经过自己的实测就发表,可能只是自己记录,可是很容易误导别人,因为我看到很多就是错的,不是过时的问题,是语句本身出错!!!)
渴望飞翔的猪
2022/07/17
5540
安卓反编译记录
【建议收藏】Android和iOS逆向分析/安全测试/渗透测试工具
1.Appie用于Android Pentesting的便携式软件包,是现有虚拟机的绝佳替代品
测试开发技术
2024/06/11
7740
【建议收藏】Android和iOS逆向分析/安全测试/渗透测试工具
s001android逆向安全初级篇之apk逆向常用工具及简单使用一览
关于apk 逆向中的一些工具的使用,看了不少文章,也使用过有很长一段时间了,今天对此做一总结:
上善若水.夏
2018/09/28
1.3K0
Android 逆向工具篇—反编译工具的选择与使用
在过去,当我们想要了解一个 app 内部运作细节时,往往先通过 ApkTool 反编译 APK,生成 smali 格式的反汇编代码[1],然后大佬和老手直接阅读 smali 代码,适当的进行修改、插桩、调试,经过一定的经验和猜想,理解程序的运行逻辑和加解密细节,比如如下的 smali 代码。
Python编程与实战
2019/12/04
27.1K1
有那些好用的java jar反编译工具:每个对应的优势劣势对比
在这篇技术博客中,跟随猫头虎博主的脚步,深入探索Java JAR文件反编译工具的神秘领域。无论你是编程新手还是资深开发者,本文都将带你了解如何逆向工程Java类文件,揭露其中的代码逻辑。通过本文,你将学会使用各种强大的反编译工具,包括CFR、Fernflower、Procyon和JD-GUI,它们各自的优势、劣势、下载方式和使用方法将一一展开。加入我们,发掘隐藏在JAR文件背后的秘密吧!本文包含关键词,如“Java反编译工具”、“CFR下载”、“Fernflower使用方法”等,旨在帮助你轻松找到本篇文章。
猫头虎
2024/04/07
3.7K0
Android 安全分析和漏洞挖掘|工具集
@tanprathan 最近在Github上放出了一份移动应用安全分析工具的清单(Cheat Sheet),里边工具比较齐全。Security Toolkit翻译了其中的Android部分,大家有兴趣可以收藏之,以备日后要用。
Power7089
2021/01/11
2.3K0
Android逆向分析概述
学习逆向的初衷是想系统学习Android下的hook技术和工具, 想系统学习Android的hook技术和工具是因为Android移动性能实战这本书. 这本书里用hook技术hook一些关键函数来计算关键函数的调用参数和调用时长, 从而确定性能问题发生的位置和原因. 但目前没有比较系统的讲解hook的书籍, 所以就系统的了解下逆向分析.
望天
2018/08/02
1.4K0
Android逆向分析概述
【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )
参考 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx ) 一、apktool 博客章节 ;
韩曙亮
2023/03/29
7.7K0
【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )
Android逆向入门篇--java层静态分析
apk包内的dex文件是dalvik虚拟机可识别的可执行文件,我们主要也是对dex文件进行逆向,分析其代码逻辑、更改其逻辑做一些分析、破解之类的行为
迅达集团
2019/07/01
1K0
Android常用反编译工具
下载地址: https://ibotpeaches.github.io/Apktool/
李玺
2021/11/22
4.9K0
Android常用反编译工具
Android逆向分析从入门到深入
学习逆向的初衷是想系统学习Android下的hook技术和工具, 想系统学习Android的hook技术和工具是因为Android移动性能实战这本书. 这本书里用hook技术hook一些关键函数来计算关键函数的调用参数和调用时长, 从而确定性能问题发生的位置和原因. 但目前没有比较系统的讲解hook的书籍, 所以就系统的了解下逆向分析.
望天
2019/09/26
4.4K0
Android逆向分析从入门到深入
移动安全渗透测试清单 2022
多合一移动安全框架的移动安全渗透测试列表,包括 Android 和 iOS 应用程序渗透测试。
信安之路
2022/10/04
2.3K0
相关推荐
android逆向工具/命令
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档