一、工具简介
010 Editor 是一款功能强大的文本和二进制编辑器,广泛应用于软件开发、数据分析和逆向工程。它支持文本和十六进制视图切换,具备独特的二进制模板技术,可快速解析复杂文件格式。内置脚本编译器支持 JavaScript,能自动化编辑任务。此外,它提供多光标编辑、正则表达式查找、二进制比较等高级功能,适合处理日志、配置文件和二进制数据。010 Editor 支持 Windows、macOS 和 Linux 系统,并通过丰富的插件扩展功能,是开发者和逆向工程师的得力工具。
二、安装激活
- 工具本体直接到官网下载即可:
https://www.sweetscape.com/download/010editor/
2.1 激活工具生成激活码
- 激活工具的项目地址
https://github.com/garfield-ts/010Keygen
- git clone 到本地
cd 010Keygen
# 生成注册码信息
python3 keygen.py
# 指定注册码参数
python3 keygen.py -u Admin -n 1 -d 2029-12-31 -t 0xac
我的python版本是:3.8.5报错信息如上。
大战bug
这个错误是由于 Python 版本不支持类型注解中的泛型语法(如
list[str]
)导致的。在 Python 3.9 之前,这种泛型语法是不被支持的,而是需要通过typing
模块来实现类似的类型注解。错误发生在
config.py
文件的第 37 行:def get_name_list(self) -> list[str]:
这里的
list[str]
是 Python 3.9+ 引入的新语法,用于表示函数返回值是一个字符串列表。如果你的 Python 版本低于 3.9,就会报出TypeError: 'type' object is not subscriptable
错误。解决方法
根据你使用的 Python 版本,有以下两种解决方法:
- 方法 1:升级 Python 到 3.9 或更高版本
如果你的项目允许,可以直接升级 Python 版本到 3.9 或更高版本。这样可以直接支持这种语法。
- 方法 2:使用
typing
模块(适用于 Python 3.5-3.8)如果你无法升级 Python 版本,可以使用
typing
模块来替代。修改代码如下:from typing import List def get_name_list(self) -> List[str]:
这样可以兼容 Python 3.5-3.8 的版本。
我这里选择第二种方法。
修改的内容:config.py
from typing import Optional,List,Dict # 导入List和Dict # 然后在报错的代码将list改成List,dict改成Dict def get_name_list(self) -> List[str]: # 37行 def get_desc_list(self) -> List[str]: # 40行 VERSION_DATE: Dict[str, date] = { # 85行
运行python3 keygen.py
但是激活失败。
尝试指定参数:
- -u 指定用户名
- -d 指定过期时间
python3 keygen.py -u sxksec.cn -n 1 -d 2029-12-31 -t 0xac
还是激活失败。
段网尝试还是失败。
看来可能需要自建一个服务器模拟验证一下。
2.2 搭建服务器模拟验证
然后在host中添加:
127.0.0.1 www.sweetscape.com
我们用python搭建一个本地服务器,端口为80,模拟激活时软件访问官网验证的过程,并返回成功的内容:
from flask import Flask
app = Flask(__name__)
@app.route('/cgibin/010editor_check_license_9b.php')
def hello():
return "<ss>valid</ss>"
if __name__ == '__main__':
app.run(host='127.0.0.1', port=80)
2.3 激活
激活还是失败了,怀疑是没有关闭系统代理的原因。
关掉clash之后重新尝试:激活成功✅
可以愉快的使用了。
三、使用
3.1 十六进制编辑
直接打开想编辑的文件。
然后点击菜单栏的Hex
进入十六进制编辑模式