JEB Decompiler for Android是功能强大的Android反编译器和Android调试器,使用JEB对恶意APK和安全审核执行反向工程。从而有效减少昂贵的逆向工程时间,支持反编译模糊的APK,检查Java代码并在几分钟内调试关闭源代码的应用程序。我们的模块化后端,加上强大的用户界面桌面平台的前端,允许重构操作和脚本自动化复杂的任务。
功能特色
1、对Android应用程序(小型或小型)的应用程序进行静态和动态分析大。
使用我们的Dalvik反编译器反编译代码,包括multi-dexAPK。
重构分析以消除应用程序保护程序生成的混淆代码。
重建资源和模糊的XML文件。
无缝调试Dalvik代码以及所有本机代码(Intel,ARM)。
通过我们的API自动执行逆向工程任务并编写脚本。
2、强大。
对Android应用程序和Dalvik字节码执行精确而强大的反编译。
我们内部的反编译器可以处理真正的Dalvik代码:免费工具需要从Dex到Jar进行转换,而JEB则没有必要(请参阅其重要性)。
我们的Dalvik和本机代码调试器提供了无与伦比的功能,可以无缝分析实时应用程序,从而可以检查代码并挂钩敏感的API。
3、灵活。
重构,注释,浏览和修改分析输出。
我们的分析模块支持代码重构,虚拟层次结构以组织高度混淆的代码或代码清除(例如,在解密混淆的内容或未反射的代码时)。
4、可扩展
利用JEB API自动执行逆向工程任务。
使用Java或Python,用户可以编写自己的脚本和插件来自动化逆向工程过程。高级用户可以编写成熟的分析模块和无头的前端。
5、使用JEB调试开源Android应用程序
JEB提供字节码和本机(ARM,Intel)调试器模块,以允许对复杂应用程序进行动态分析。
无缝调试所有应用程序的Dalvik字节码和本机代码:在Dalvik中,进入JNI方法(本机例程),然后继续调试本机代码。相反,在完成本机方法后,JEB将恢复Dalvik调试会话。
JEB允许调试所有应用程序,包括不允许显式调试的应用程序(仅适用于ARM v7平台)。
使用JEB Debuggers API可以自动执行诸如内存检查或例程挂钩的任务,以 进行数据拦截。
使用说明
常见动作
JEB的主要用途之一是分析二进制代码。本节重点介绍代码分析和重构的基础知识,例如:
重命名方法或字段等项目
通过将项目移至包来更改代码结构
评论
通过交叉引用导航代码库
查看类型层次结构
等等
在RCP客户端中,可以通过“操作”和“导航”菜单实现许多交互。这些动作由大多数执行代码反汇编的JEB分析模块实施。
注意:其他操作组,例如本机代码操作和调试操作,将在后面的部分中详细介绍。
注意:本节中的示例基于使用AndroidDEX解析器对Raasta.apk的分析。请记住,动作的功能和行为取决于实现和执行它们的模块。
1、重命名
分析人员的一项重要要求是能够在整个代码库中一致地重命名代码项,例如类型,方法和例程,字段和数据项,程序包等。
将插入符号放在要重命名的项目上
按N键或选择“操作”,“重命名”
输入新名称,然后按Enter
提示:在“重命名”对话框中,按Ctrl+Space可以显示您的重命名历史记录。
2、评论
在代码中的任何位置,按/(斜杠)添加注释。注释附加到地址或项目。
3、导航
在项目上按Enter键或双击它,将插入号插入到项目的定义中。
您可以使用传统的Alt+左箭头键(或Escape)和Alt+右箭头键组合或通过“导航”菜单来回导航。
“下一个项目”和“上一个项目”命令使您可以在当前选定的项目之前或之后跳转到类似的项目。
4、相互参照
交叉引用可以检查引用该项目的项目。按X键使其可视化。
您可以通过双击跳转到交叉引用。
5、类型层次结构
在类型项(例如类或接口)上使用T键以使其祖先和子级形象化。双击类型项目以跳至项目定义。
6、改制
“创建软件包”和“移至软件包”操作提供了强大的重构可能性,这在处理模糊不清的大型二进制文件时特别有用。
如果模块支持,则用户能够:
使用K键创建人工包(又名命名空间)。
使用L键将物品(例如类型)移至现有或人工包装。
以下屏幕快照是一个示例,其中将类AppHelp从com.pnfsoftware.raasta软件包移动到名为的新创建的软件包com.abc。
想了解更多?观看我们的YouTube演示视频,该视频演示了高度混淆的Android恶意软件应用程序的高级重构和自动重组。
7、对象替代
使用O键可以检查覆盖,例如在面向对象的字节码文件的情况下重新定义虚拟方法。
注意:如上所述,请记住,允许插件将它们想要的语义附加到给定的动作上。例如,对于文档分析插件,“覆盖”操作可能相关也可能不相关。如果存在,那么它肯定会与“方法替代”具有不同的含义。
8、变基常数
此功能允许选择用于呈现立即常数整数的基数。反复按B键可循环浏览该插件提供的基础。
通常,提供底座8、10、16。一些插件可能会提供其他基础(例如基础2)或非常规表示模式(例如基于字符的即时渲染)。
使用方法:
1. Replace the original JEB.jar with patched one. (Its under bin folder)
2. Register it with Keygen (run it on command line: java Keygen)