waqqt 发表于 2021-6-30 18:00

Sublime Text 4 破解笔记

本帖最后由 waqqt 于 2021-7-1 17:26 编辑



# Sublime Text 4 破解笔记

偶然看到(https://www.sublimetext.com/)已经更新到版本4了,多了许多很nice的新特性,例如:

> 1.   船新 UI
> 2.   感知上下文的自动补全
> 3.   支持 TypeScript, JSX 和 TSX
> 4.   GPU 渲染
> 5.   ...

不得不说sublime是轻量化IDE性能王者,比vscode要快不少,不过vscode如今胜在生态。

于是第一时间下载体验,网上找了个补丁。不过用了一段时间后反弹了。又显示**UNREGISTER**未注册,而且保存文件弹注册窗口,可能是补丁作者没破解到位,对比了下破解的文件,发现破解者只是简单的单点爆破还有去除sublime服务器校验的域名而已。好久没玩win平台的crack,索性自己动手,拿来复习练手,下面正式开始!

------

首先x64dbg载入sublime_text.exe主程序,shift+F9跑起来



先找个最明显的点入手,例如点击帮助->关于



关于信息这里会有注册状态,未注册显示Unregistered,那首先想到字符串大法!直接sublime exe模块搜索字符串



双击进去来到



可以看到字符串上方有个jmp跳过它,那很明显jmp下面的move ecx,228就是关于界面未注册赋值的入口,ctrl+r找下引用



找到一处双击进去来到



可以看到下方是Registered to ... 注册给某某某,那很明显

```assembly
cmp byte ptr ds:,0
je sublime_text_origin.13F7159BE
```

**cmp**为关键比较**je**为关键跳转,cmp处下断点运行,再次点击关于,断下来到断点处,FPU中RSI寄存器值指向了地址**13FFD5ED8**



我们RSI右键->在内存中转到,查看内存



很明显这地方为0的时候标识未注册,把值改为1,运行之验证下结果。





果不其然Registered to Unlimited User License...

经测试,此处的修改是全局的,应该就是某个管理类中的某个布尔值来控制。改完之后ctrl+s也不再弹出提示购买弹出,窗口标题也没有提示UNREGISTERED了。



不得不说越优秀正规大型的软件往往采用比较优秀的架构设计模式,严格的面向对象风格编写。我记得以前一位长期做QQ魔改hack的大神曾赞叹过,QQ是他见过的架构最好,结构最清晰巴拉巴拉...的软件。翻译成人话就是:“非常好猜测编写的思路,非常好破解!”,哈哈哈哈哈。

好,回归正题,先不着急修改。如果这里只对跳转做爆破的话,那只是打开关于界面显示已注册而已,其他功能限制或者有暗桩啥的都没有破解绕过。网上很多对sublime的破解往往是每个限制的点爆破一下,改改跳转,再加个域名屏蔽防止服务器校验。这样可能没破解完整导致某个条件下又反弹触发校验机制,或者导致功能缺陷。

那我们的思路是,既然找到全局控制的点,那我们只需要找到一个合适的时机,对这个点强制写入值1,实现破解!

那怎么找到这个时机点呢?很简单,我们对地址**13FFD5ED8(重新运行后为xxxxD5ED8)**下个硬件执行断点。经过测试,有一个比较好的时机点是:每次聚焦或者切换标签的时候都会触发更改窗口标题,我们知道,未注册的时候每次窗口标题变更后面都带有(UNREGISTERED)未注册的字样。所以每次聚焦或切换标题的时候都会触发校验。所以这里是个蛮不错的点。果真我切换标签的时候,硬件断点也命中,来到这里



```assembly
cmp byte ptr ds:,0
sete cl
```

这里rax指向的就是全局控制是否注册字段的内存地址。这里和0比较了一下之后设置了ZF标志位。那就很简单了,直接操作这两句强制赋值rax指向地址的值为1即可。



运气很好,大小一致,接着第二句改下标志位,这里我们找一个空的没用的寄存器比如RCX来做等价替换



改完是



改完之,运行之,没问题完美破解,帮助->删除注册信息 都没用哈哈。ctrl+p补丁之。最后用(http://www.at4re.com/)撸个补丁。



~~补丁就不放了,因为杀软会警告。也蛮简单的,可以自己动手破一个。~~
应坛友要求,还是放下补丁吧~




waqqt 发表于 2021-7-20 14:16

kevk 发表于 2021-7-20 12:43
用这个补丁补4113版后,ctrl+B程序就停止运行了!

版本不对 不能打的{:1_924:},4113的 到我原贴https://www.cnblogs.com/xyida/p/14932186.html下载吧

kuzuzu 发表于 2024-1-7 13:18

找到了注册前跟着做的教程{:1_932:},码一个新找到的 设置"update_check": false仍然弹更新窗 的解决办法:
在C:\Windows\System32\drivers\etc里的host文件中加上:
127.0.0.1 www.sublimetext.com

kakolukia 发表于 2022-6-17 18:17

waqqt 发表于 2021-7-20 14:16
版本不对 不能打的,4113的 到我原贴https://www.cnblogs.com/xyida/p/14932186.html下载吧

老大太强大了

waqqt 发表于 2021-7-1 17:17

gas0324 发表于 2021-7-1 10:58
放啊,为啥不放,放啊,有本事你放啊

放就放,看不起谁呢{:1_926:}

bjxiaoyao 发表于 2021-7-1 12:36

牛逼牛逼,图文并茂,内容精彩,感谢分享。

书架菌 发表于 2024-1-31 11:09

大佬太给力了,跟着大佬的步骤一步步学,成功把自己不小心更新的4169给解决了。给大佬交个作业0v0

hackest 发表于 2021-7-1 10:43

补丁可以放的{:1_918:}

heilang99 发表于 2021-7-1 10:52

插个眼,有时间再看看,学无止境。

gas0324 发表于 2021-7-1 10:58

放啊,为啥不放,放啊,有本事你放啊

开创者 发表于 2021-7-1 11:05

值得学习一下,回头试试看,看得一头雾水。

jerry828 发表于 2021-7-1 11:24

感谢分享,学习学习!

又红又专 发表于 2021-7-1 12:13

补丁可以放

李某龙 发表于 2021-7-1 12:26

很赞,虽然我看不懂,有补丁的话最好了{:1_918:}

marlborogolo 发表于 2021-7-1 12:33


很赞值得学习一下
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: Sublime Text 4 破解笔记