品牌型号:联想拯救者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】目录中。

2、使用外部库的步骤
以下以Python脚本为例,介绍如何在JEB中使用外部库:
1)下载和放置库:下载所需的库并将外部库放置到【s】路径下(上图所示位置)。
2)引入库:在脚本中使用import语句加载库。例如,自带脚本文件中的【WidgetList】中的第一行:from com.pnfsoftware.jeb.client.api import I, IGraphicalClientContext,就是引用了外部库。

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

二、JEB Decompiler可以调用外部命令吗
JEB Decompiler也提供了调用外部命令的功能,但是需要结合脚本使用,通过JEB提供的API,我们可以编写脚本来调用其他模块或包中的命令,实现例如:项目分析、单位遍历、二进制文件处理等功能。
例如JEB提供的示例脚本(ListUnits),它就使用了JEB的API来列出当前打开项目中的所有单元(Unit),并引用外部包调用命令,实现了这个功能。

下面为大家分析一下这个脚本是怎么调用外部命令的:
1、引用外部包
在代码中,前两行【from xxx import I xxx】是引用了JEB提供的核心API。这两个可以访问和操作项目、单元。
2、调用外部命令
脚本中调用了【unit.getInput()】和【unitinput.getCurrentSize()】,这两个方法是外部包的命令(API提供的方法)。通过这些调用,我们实现了对单元大小的获取及相关处理。

实现的功能:
1、获取主项目对象:ctx.getMainProject()。
2、遍历所有单元及其子单元:通过递归调用checkUnit()。
3、获取单元输入和大小:unit.getInput()和getCurrentSize()。
4、打印单元的信息。
三、总结
以上就是JEB Decompiler如何使用外部库,JEB Decompiler可以调用外部命令吗的相关内容。本文以一个自带的演示代码为例,介绍了JEB Decompiler脚本使用外部库的相关步骤,另外介绍了JEB Decompiler调用外部命令的步骤,希望本文对你有所帮助。