JEB Decompiler中文网站 > 最新资讯 > JEB Decomplier编写引擎插件
JEB Decomplier编写引擎插件
发布时间:2024/09/29 18:31:00

要编写JEB Decomplier的引擎插件,首先需要明确插件的类型和编写语言。JEB客户端扩展(脚本)应使用Python编写,而JEB后端扩展(插件)则应使用Java编写。因此,如果你要编写的是客户端扩展或脚本,Python是首选语言;如果是后端扩展或插件,则需要使用Java。

 

JEB Decompiler支持多种架构的反编译器,包括dex、x86、x86_64、arm、arm64、mips、riscv、wasmbc、evmbc、simatic_mc7和avr等。这意味着你可以根据需要选择合适的反编译器架构来编写你的插件。

 

JEB Decompiler还提供了内置的插件和扩展,如Android Code Signature Generator、Android Code Recognition、VT Report Plugin等。你可以参考这些内置插件的实现方式来开发自己的插件。

编写JEB Decomplier的引擎插件时,应根据插件的类型选择合适的编程语言(Python或Java),并参考JEB提供的内置插件和扩展来实现功能。

引擎插件与任何 JEB 扩展(解析器、脚本等)一样使用 JEB API。

 

它们在 JEB 启动时加载。与解析器不同,它们的作用不是处理输入数据以生成单元;它们旨在执行指定的任务。它们对单元发出的事件做出反应(an IUnitis an IEventSource)。它们也可以由客户端按需调用。

 

从程序员的角度来看,引擎插件扩展了IEnginesPlugin(而处理器插件扩展了IUnitIdentifier接口)。

示例插件

 

示例插件可在我们的 GitHub 帐户上找到。示例:

 

  • Andhook:使用 JEB 调试器 API 进行 Android 加密原语挂钩
  •  
  • Androsig:Android 库代码签名和匹配(不再维护
  •  
  • VTPlugin:从 VirusTotal 信息中提取样本信息

 

骨架插件

 

完整源代码:GitHub 上的示例插件框架

 

public class SampleEnginesPlugin implements IEnginesPlugin { private static final ILogger logger = GlobalLog.getLogger(SampleEnginesPlugin.class); @Override public IPluginInformation getPluginInformation() { return new PluginInformation("Sample Plugin", "A sample JEB plugin", "PNF Software", Version.create(1, 0)); } @Override public List extends IOptionDefinition> getExecutionOptionDefinitions() { return null; } @Override public void execute(IEnginesContext context) { execute(context, null); } @Override public void execute(IEnginesContext engctx, Map<String, String> executionOptions) { logger.info("Executing sample plugin"); } @Override public void dispose() { } }

 

以上就是JEB Decomplier编写引擎插件的相关内容。JEB Decomplier编写引擎插件的主要作用是扩展JEB的功能,使其能够处理更多类型的文件和提供更高级的分析能力。

 

 

 

 

读者也访问过这里:
135 2431 0251