JEB Pro v5.28 (macOS, Linux, Windows) - 逆向工程平台

JEB Pro v5.28 (macOS, Linux, Windows) - 逆向工程平台

Reverse Engineering for Professionals.

请访问原文链接:https://sysin.org/blog/jeb/ 查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


JEB Decompiler

JEB

JEB 是逆向工程平台,用于对代码和文档文件进行反汇编、反编译、调试和分析,手动或作为分析管道的一部分。

反编译和调试二进制代码和混淆应用程序。分解和分析文档文件。

Android Dalvik,Intel x86,ARM,MIPS,RISC-V,S7 PLC,Java,WebAssembly & Ethereum Decompilers。

JEB

功能介绍

Android 反编译器 + Android 调试器

使用 JEB 对恶意 APK 进行逆向工程和安全审计。

减少昂贵的逆向工程时间:在几分钟内反编译混淆的 APK、检查 Java 代码并调试闭源应用程序。模块化后端与适用于桌面平台的强大 UI 前端相结合 (sysin),允许重构操作和脚本来自动执行复杂的任务。

对 Android 应用程序(无论好软件还是坏软件,无论大小)执行静态和动态分析。

  • 使用 Dalvik 反编译器 反编译 代码,包括 multi-dex APK。
  • 重构 分析以击败应用程序保护程序生成的混淆代码。
  • 重建 资源和混淆的 XML 文件。
  • 无缝 调试Dalvik 代码以及所有本机代码(Intel、ARM)。
  • 通过 API 自动执行 逆向工程任务并编写脚本。

Intel x86 反编译器

使用 JEB 对 x86 32 位和 x86 64 位程序和恶意软件进行逆向工程

x86 反编译器和 x86-64 反编译器提供以下功能:

  • 增强反汇编, 包括动态调用点解析、寄存器候选值确定、动态交叉引用等。
  • 将 x86 和 x86-64反编译 为伪 C 源代码。
  • 对于使用 MS VCPP 编译的程序,部分类恢复和反编译为 C++(参见视频)。
  • 高级优化 可阻止受保护或混淆的代码 (sysin)。
  • 用于高效 Windows 文件分析的 Win32 类型库通用签名
  • 允许重构 的交互层:类型定义、堆栈框架构建、重命名 / 注释 / 交叉引用等。
  • 完整的 API 和对 中间表示的 访问,以在 Python 或 Java 中执行高级和 / 或自动代码分析。

ARM 反编译器

使用 JEB 对为 ARM 平台编写的程序和恶意软件进行逆向工程

ARM 机器代码反编译器允许逆向工程师和安全审核员分析恶意 ARM 二进制文件

ARM 反编译器提供以下功能:

  • 增强反汇编, 包括动态调用点和系统调用的解析、寄存器候选值确定、动态交叉引用等。
  • 将 ARM 32 位和 ARM-Thumb 代码 反编译 为伪 C 源代码。
  • 高级优化 可阻止受保护或混淆的代码。
  • 允许重构 的交互层:类型定义、堆栈框架构建、重命名 / 注释 / 交叉引用等。
  • 用于在 Python 或 Java 中执行高级和 / 或自动代码分析的 完整 API

sysin

MIPS 反编译器

使用 JEB 对 MIPS 嵌入式程序和恶意软件进行逆向工程

MIPS 处理器和微控制器机器代码反编译器允许逆向工程师和安全审核员分析恶意 MIPS 程序并审核复杂的嵌入式系统(路由器、机顶盒、物联网设备等)

MIPS 反编译器提供以下功能:

  • 增强反汇编, 包括动态调用点和系统调用的解析、寄存器候选值确定、动态交叉引用等。
  • 将 MIPS 32 位 反编译 为伪 C 源代码。
  • 高级优化 可阻止受保护或混淆的代码 (sysin)。
  • 允许重构 的交互层:类型定义、堆栈框架构建、重命名 / 注释 / 交叉引用等。
  • 用于在 Python 或 Java 中执行高级和 / 或自动代码分析的 完整 API

sysin

RISC-V 反编译器

使用 JEB RISC-V 模块对 RV32/RV64 程序和二进制文件进行逆向工程

RISC-V 机器代码反编译器允许逆向工程师和安全审核员分析 RV32 和 RV64 程序

RISC-V 插件特有的功能:

  • 代码目标文件: 支持 Linux ELF、Windows PE 中的 RISC-V 或无头代码(例如固件)。
  • 反汇编器: 支持 RV32/RV64、以下 ISA 扩展的常规和压缩操作码:I(整数)、Zifencei、Zicsr、M(乘法)、A(原子)、F(单浮点)、D(双浮点),C(压缩)。请注意,目前不支持 RV128、RVE(嵌入式)和其他更 “奇特” 的扩展(mem tx、simd、向量等)。
  • 反编译: 支持 32 位和 64 位的 RVI(整数 / 通用操作的反编译)。计划添加对 F/D 扩展(浮点指令)的反编译器支持。
  • 重定位: 支持特定于 RISC-V 的常见 ELF 重定位。处理常见的 PLT 解析器存根。
  • 调用约定: 支持 ILP32D 和 LP64D 调用约定 (sysin)。可以定义自定义调用约定。
  • **类型库:**Linux 32/64 或 Windows 32/64 的 ARM 或 MIPS 类型库可以重复使用。

sysin

WebAssembly 反编译器

使用 JEB 对 WebAssembly 二进制模块进行逆向工程

WebAssembly 插件提供以下功能:

  • 增强了 wasm 二进制模块的反汇编 和解析。
  • 将 wasm 字节码 反编译 为伪 C 源代码。
  • 高级优化 可阻止受保护或混淆的代码。
  • 用于输入 / 重命名 / 注释 / 交叉引用等的 交互层
  • 脚本和插件的 完整 API 访问权限。

JEB WebAssembly 插件还可以用于 反编译编译为 wasm 的智能合约,例如 EOS 或 Parity 合约。

sysin

阅读技术论文 “逆向工程 WebAssembly”

Ethereum 反编译器

使用 JEB 将以太坊不透明智能合约和 dApp 逆向工程为类似 Solidity 的高级代码

减少昂贵的逆向工程时间:反编译以太坊智能合约 类似 Solidity 的源代码,可轻松理解和审查闭源合约和 dApp。

  • 使用以太坊反编译器将 EVM 合约代码 反编译 为类似 Solidity 的高级代码。
  • 对分析结果 进行注释,以更好地理解编译后的合约或 dApp 正在做什么。
  • 通过 API 自动执行 或编写逆向工程任务脚本。
  • 右侧图片显示了以太坊主网上的合约的 JEB 双面板 “EVM 汇编 / 反编译代码” 视图。(点击放大。)*

sysin

Simatic S7 PLC 程序反编译器

S7 PLC 块反编译器扩展为逆向工程师和安全审核员分析西门子 Simatic S7 PLC 程序提供支持。

可访问官网了解完整详细信息。

PDF 文档分析器

使用业内最好的 PDF 文档分析器分析恶意 Adobe™ PDF 文件

PDF 模块分解并解码 PDF 文件,以提供对其内部组件(例如资源和脚本)的访问。它检测结构损坏并发出通知以报告可疑区域。通过桌面客户端或无头客户端(例如文件分析器堆栈或自动化管道)利用 PDF 模块。

使用 PDF 分析器手动或自动对各种尺寸的文档进行逆向工程。

  • 将 PDF 结构分解为具有视觉吸引力且可导航的树。
  • 处理损坏的文件、复杂的流(例如,多种编码等)。
  • 检索分析器生成的 20 多个通知和警报 (sysin),以查明可疑区域并使用它们对文件做出确定。
  • 即使在最极端的情况下也可以提取嵌入的 Javascript 。
  • 通过 JEB API 自动执行 逆向工程过程以执行批量分析。

下载地址

JEB Pro v5.28 (macOS, Linux, Windows), 2025-04-06

### 逆向工程反编译概述 逆向工程是一种通过对软件的目标代码进行分析,将其转化为更高级别的表示形式的过程。这一过程通常用于研究现有系统的内部结构、功能以及实现细节。在Java和Android领域,反编译工具被广泛应用于逆向工程中。 #### Java逆向工程中的Jad反编译工具 Jad是一款经典的Java反编译工具,能够将`.class`字节码文件转换为可读的`.java`源代码[^1]。虽然它可能无法完全恢复原始源代码,但它提供了足够的信息来帮助开发者理解已编译的Java程序逻辑。Jad支持多种反编译模式,并允许用户自定义规则以适应不同的需求。此外,其命令行接口和图形界面使得复杂代码的分析变得更加便捷。 #### Android逆向工程中的JEB反编译工具 针对Android应用的逆向工程JEB是由PNF Software开发的一款专业级工具[^2]。相较于其他同类产品,JEB不仅具备强大的APK文件反编译能力,还能对Dalvik字节码执行高效而精准的操作。它的核心优势在于以下几个方面: - **广泛的平台兼容性**:除Android外,还支持ARM、MIPS等多种架构的二进制文件反汇编。 - **混淆代码解析**:内置模块能有效应对高度混淆的代码,提供分层重构机制以便于深入分析。 - **API集成支持**:允许通过编写Python或Java脚本来扩展功能并完成特定任务。 #### APK反编译流程及其意义 当涉及到具体的APK包时,可以通过一系列步骤提取其中的信息来进行全面的安全评估或者学习目的的研究工作[^3]。这些步骤一般包括但不限于获取资产目录(`assets`)内的资源数据;解密XML配置文档如`AndroidManifest.xml`定位应用程序启动点;最后利用上述提到的各种专用软件重现整个项目框架供进一步探讨。 ```bash # 使用apktool反编译APK示例 apktool d your_app.apk -o output_directory/ ``` 以上命令展示了如何借助开源工具ApkTool轻松拆卸目标安卓档案至易于探索的状态下。 ### 结论 无论是传统的桌面端还是现代移动端环境里头,恰当运用合适的反编译解决方案都是达成逆向工程项目成功不可或缺的一环。每种工具有各自专精之处,在实际应用场景当中应当依据具体需求做出明智的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值