Sublime Text 是一个文本编辑器(收费软件,可以无限期试用),同时也是一个先进的代码编辑器。免费使用和付费后主要有两点不同,一是定期弹框,二是标题显示unregistered字样。
针对这两点进行针对性补丁,分析过程如下
弹窗
通过字符串 “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,0 |
在线补丁
我写了一个网页,可以在线打补丁,目前支持windows x64 4180和windows x64 4169两个版本