jwzyjwzy 发表于 2022-10-12 20:52

Sublime Text 逆向之旅

本帖最后由 jwzyjwzy 于 2022-10-20 19:16 编辑

# Sublime Text 逆向之旅

## 0x1 准备材料

+ x64dbg
+ frida
+ 最新版Sublime text 4(Build 4126)

## 0x2 信息收集

首先运行软件能看到标签框“**(UNREGISTERED)**“



其次在菜单栏 帮助-关于也有相同字样



## 0x3 逆向分析

拖入x64dbg



右键-搜索-当前模块-字符串



搜索关键字”unregistered“找到4个结果选择第一个



跟进去



发现这个字符串上面有个jmp跳转跳过了”未注册“说明没有执行这个jmp,要找的指令还在上面



往上找到这里发现je刚好跳转到”未注册“,上面的cmp比较了rsi+5和0的值是否相等如果相等则跳转到未注册,尝试修改rsi+5的值为1,(这里的rsi+5其实是这个函数的第二个参数),这里我用的frida hook了这个函数的第二个参数,其实直接用x64dbg修改也可以。本来以为cmp上面的call是关键call最后发现并不是,而且被断了5次没有一次返回值一样,之后索性hook这个函数,只是分析后的产物罢了



将其置1,发现软件已经没有未注册字样



当打完补丁以为没有事的时候发现再次打开软件需要点击 帮助-关于后才能去除未注册,这并不是想要的结果,继续分析,重新调试程序,回到rsi+5这里下一个访问断点,稍微改一下脚本拿到rsi+5的地址



访问断点



第一次断下来的没有啥用放了,看第二次段下来的地方



发现rax+5=rsi+5可以得到这里也需要修改,我们将其修改为 `mov byte ptr ds:, 0x1 `

下一条语句已经没有用了我们把他nop掉



当然之前的rsi+5那里也是如法炮制



打补丁看结果



这时重启后也没有未注册,大功告成

## 0x4 结语

教程很简单,给大家一个思路,功能什么的目前没有发现限制,菜鸟分析,如有错误,还请大牛斧正

longs75 发表于 2022-10-13 01:24

本帖最后由 longs75 于 2022-10-13 01:26 编辑

lies2014 发表于 2022-10-13 00:14
其实不用这么麻烦,直接在的地址下硬件写入断点,找到写入的地方直接改成如下就可以了:
仅仅这么修改是有问题的,软件运行时会检测注册状态,发现非法注册后会重新将标志位置0,变成未注册:



不过好象就这一处检测,把这里修改一下,标志置1,就没什么问题了。

这个软件启动时先检查是否有注册文件:License.sublime_license,只有找到注册文件,读取文件中的数据后,才能执行到关键CALL。CALL执行完毕后,当出口参数EAX=0时,才会将标位置1,表示注册成功。也就是说,在软件启动过程中,如果对标志只下“写断点”,只能拦截到初始化的时候对标志有写操作,其它发现不了什么有用信息,也拦不到关键CALL。所以楼主对标志下“访问断点”是还是正确的。





楼主第一个修改处确实比较重要,软件频繁调用这一段指令,修改这里就相当于频繁将标志置1,达到破解效果。

longs75 发表于 2022-11-1 20:55

FSociety 发表于 2022-11-1 15:47
大佬,想知道怎么分析出会重新将标志位置0

很简单,先发现有问题,然后对标志下写断点。

crips丶CR7 发表于 2022-10-21 22:50

longs75 发表于 2022-10-12 09:24
仅仅这么修改是有问题的,软件运行时会检测注册状态,发现非法注册后会重新将标志位置0,变成未注册:

...

老哥,你这用的是什么应用软件?

fangchang819 发表于 2022-10-12 21:37

不错!学习了!

Louis_cllc 发表于 2022-10-12 21:40

大佬牛,观摩学习。

江男 发表于 2022-10-12 21:43

谢谢楼主分享~~

wapj258 发表于 2022-10-12 21:46

感谢楼主分享{:301_997:}

hello6word 发表于 2022-10-12 21:48

我看不懂,但我大为震撼

ggyggy666 发表于 2022-10-12 22:08

学习了,这就实践一下。

yzyi 发表于 2022-10-12 22:20

学到了,这就试试

cericking 发表于 2022-10-12 22:35

很棒 按照这个思路,岂不是很多软件都能破解?

ggyggy666 发表于 2022-10-12 22:46

请问,x64dbg调试的时候,f9运行直接断在TLS那里,之后就没办法运行了,怎么解决呢?
页: [1] 2 3 4 5 6 7 8
查看完整版本: Sublime Text 逆向之旅