This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
内容贡献者: 寂静的羽夏
简介
WingToolPy
是一个强大的羽云十六进制编辑器插件,它具有对 Python3 脚本的支持,拥有即时交互控制台,使用脚本分析二进制有了可能。本插件支持所有的原生IWingToolPlg
的所有接口,于此同时也拥有自己独特的接口以供与插件进行交互。
WingToolPy
协议
本插件遵守AGPL-3.0
,不得用于该协议之外的用途。
使用环境
本插件首先要正确安装WingTool
这个软件。如果通过安装我的发行的包,就不需要继续操作。本插件依赖python3
这个包,如果没有安装,你需要在终端输入以下命令进行安装:
sudo apt install python3
开发框架
QT 5.15.3 、 DTK 和 python3
如何编译
首先你需要安装 DTK ,具体可以参考WingTool
的WIKI
。然后我们需要安装python3
的开发包,需要输入以下命令进行安装:
sudo apt install python3-dev
然后我们就可以正常编译该软件了。
功能介绍
本插件给脚本支持除插件信息相关的所有原生插件接口,也就是说,除了插件信息相关的API
没有提供,其它的均提供了对应的python
接口。
API 接口
与插件接口开发的相关知识请到该页面进行学习 插件开发教程 。与插件API
均可以通过service
变量进行使用。
控制台
控制台和Python
自带的Shell
是一样的,不过它有智能填充的功能,只需要输入几个字符,然后按键盘上的Ctrl + 空格
即可显示(截屏截不到示意图)。
脚本编辑器
该插件业提供了脚本编辑器,它具有语法高亮和智能填充的功能。
风格图标样式和羽云十六进制编辑器完全一致,深度文本编辑器和羽云十六进制编辑器怎么用,这个就怎么用。下面仅介绍运行脚本的功能。
- ①:执行该编辑器的输入的脚本,输出会在控制台。
- ②:从文件外部执行脚本,输出会在控制台。
脚本中心
本插件提供了脚本中心。编写完脚本,需要编写一个注册文件并用文件夹封装一个包,才可以被该插件识别,就可以在宿主软件托盘中的“脚本中心”中包含,下面我们来介绍如何注册以及相关细节。
注册文件
注册文件是一个json
文件,只要保证脚本名称和该文件的文件名保持一致且都是合法正确的即可正常使用。但是,该插件注册脚本信息时不会检查对应的脚本是否真正存在,这会导致无法找到脚本的执行错误。比如如果注册hello.py
,就必须有对应的hello.json
文件,里面所有的成员都是可选的。
{
"author": "wingsummer",
"license": "GPL",
"commnet": "A useful script!",
"version": 1
}
下面我们来介绍相关成员:
- author :作者名称,默认为空。
- license :脚本遵守协议,默认
Unlicense
。 - commnet :脚本说明,默认为空。
- version :脚本版本号,默认为
0
。
脚本和注册文件都准备好了,我们如何注册呢?
我们需要在脚本文件夹下,即软件安装目录下的plugin
下新建一个PyScript
文件夹,如果有保留。如果没有类别,我们还需要新建一个文件夹,文件夹的名称就是该脚本的类别。然后我们把这两个文件拷贝到里面,之后下次启动程序,插件被加载成功就会检测并注册。
举个例子,比如我想注册hello.py
,也写好hello.json
文件。发现软件安装目录下的plugin
没有PyScript
文件夹,于是我新建了它;我想把我的脚本放到World
类别,我继续在PyScript
文件夹下新建名字为World
的文件夹。由于脚本是通过所谓的包,也就是文件夹管理,继续新建一个hello
文件夹,最后把文件放到里面。这样注册流程就结束了。注:每个脚本注册时必须有对应的包和类别,否则不予识别注册!
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。