JEB Decompiler中文网站 > 使用教程 > JEB Decompiler如何使用外部库 JEB Decompiler可以调用外部命令吗
JEB Decompiler如何使用外部库 JEB Decompiler可以调用外部命令吗
发布时间:2025/01/16 10:26:51

品牌型号:联想拯救者R7000

系统:Windows 10专业版

软件版本:JEB 5.20.0.202411121942

JEB Decompiler主要用于恶意软件分析、反编译等领域。使用脚本可以扩展JEB的功能,也可以结合脚本调用外部命令。本文将为大家介绍JEB Decompiler如何使用外部库,JEB Decompiler可以调用外部命令吗的相关内容。

一、JEB Decompiler如何使用外部库

JEB Decompiler支持通过脚本和插件的形式扩展其功能,JEB的脚本可以用Python编写,并且支持引入第三方库,以下是详细介绍。

1、配置开发环境

JEB内置了Jython运行环境,支持运行Python 2.7版本的脚本。但是,Jython对原生C扩展库的支持有限,所以我们只能引入纯Python实现的外部库。我们可以将需要的库文件(如.py文件)直接放入JEB的【s】目录中。

JEB脚本文件
图1:JEB脚本文件

2、使用外部库的步骤

以下以Python脚本为例,介绍如何在JEB中使用外部库:

1)下载和放置库:下载所需的库并将外部库放置到【s】路径下(上图所示位置)。

2)引入库:在脚本中使用import语句加载库。例如,自带脚本文件中的【WidgetList】中的第一行:from com.pnfsoftware.jeb.client.api import I, IGraphicalClientContext,就是引用了外部库。

引用外部库
图2:引用外部库

3)运行脚本:在JEB中中运行该脚本,验证环境是否正常,如果出现下图所示的界面,说明成功调用外部库。

执行脚本
图3:执行脚本

二、JEB Decompiler可以调用外部命令吗

JEB Decompiler也提供了调用外部命令的功能,但是需要结合脚本使用,通过JEB提供的API,我们可以编写脚本来调用其他模块或包中的命令,实现例如:项目分析、单位遍历、二进制文件处理等功能。

例如JEB提供的示例脚本(ListUnits),它就使用了JEB的API来列出当前打开项目中的所有单元(Unit),并引用外部包调用命令,实现了这个功能。

ListUnits
图4:ListUnits

下面为大家分析一下这个脚本是怎么调用外部命令的:

1、引用外部包

在代码中,前两行【from xxx import I xxx】是引用了JEB提供的核心API。这两个可以访问和操作项目、单元。

2、调用外部命令

脚本中调用了【unit.getInput()】和【unitinput.getCurrentSize()】,这两个方法是外部包的命令(API提供的方法)。通过这些调用,我们实现了对单元大小的获取及相关处理。

代码解析
图5:代码解析

实现的功能:

1、获取主项目对象:ctx.getMainProject()。

2、遍历所有单元及其子单元:通过递归调用checkUnit()。

3、获取单元输入和大小:unit.getInput()和getCurrentSize()。

4、打印单元的信息。

三、总结

以上就是JEB Decompiler如何使用外部库,JEB Decompiler可以调用外部命令吗的相关内容。本文以一个自带的演示代码为例,介绍了JEB Decompiler脚本使用外部库的相关步骤,另外介绍了JEB Decompiler调用外部命令的步骤,希望本文对你有所帮助。

 

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