sublime

  1. 1. Sublime Text 逆向之旅
    1. 1.1. 0x1 准备材料
    2. 1.2. 0x2 信息收集
    3. 1.3. 0x3 逆向分析
    4. 1.4. 0x4 结语

Sublime Text 逆向之旅

0x1 准备材料

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

0x2 信息收集

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

1665572506454

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

1665572534080

0x3 逆向分析

拖入x64dbg

1665572798998

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

1665572963704

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

1665573162424

跟进去

1665573348423

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

1665573542059

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

1665575588805

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

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

1665575892220

访问断点

1665576094456

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

1665576376079

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

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

1665576747185

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

1665576846983

打补丁看结果

1665576937115

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

0x4 结语

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