本帖最后由 HOWMP 于 2024-12-26 16:35 编辑
Sublime Text 是一个文本编辑器(收费软件,可以无限期试用),同时也是一个先进的代码编辑器。免费使用和付费后主要有两点不同,一是定期弹框,二是标题显示unregistered字样。
针对这两点进行针对性补丁,分析过程如下
更新历史
2024年12月26日:更新了windows x64 4189
弹窗
通过字符串 "Hello! Thanks..."定位到弹窗函数,查找交叉引用找到关键函数
补丁
此处可以使第二个if判断条件永远不成立,即可不弹窗
指令 |
汇编 |
48 3D 80 CB A4 00 |
cmp rax,A4CB80 |
修改为
指令 |
汇编 |
33 C0 |
xor eax,eax |
83 F8 01 |
cmp eax,1 |
90 |
nop |
标题
通过SetWindowTextW导入函数定位,找到标题设置函数
"unregistered"字符串由图中51行异或解密出来
补丁
a4为一个BYTE,其中第二个bit位表示未激活
删除括号
修改两处 a4 & 0x3E 为 a4 & 0x3C,未注册时不显示括号
指令 |
汇编 |
41 F6 C4 3E |
test 12b,3E |
修改为
指令 |
汇编 |
41 F6 C4 3C |
test 12b,3C |
删除未注册字样
修改a4 & 2 为 a4 & 0,不再显示未注册
指令 |
汇编 |
41 F6 C4 02 |
test 12b,2 |
修改为
指令 |
汇编 |
41 F6 C4 02 |
test 12b,2 |
在线补丁
我写了一个网页,可以在线打补丁,目前支持windows x64 4180和windows x64 4169两个版本
https://www.guage.cool/tool/sublime/index.html
|