吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6536|回复: 70
收起左侧

[原创] Sublime Text 逆向之旅

  [复制链接]
jwzyjwzy 发表于 2022-10-12 20:52
本帖最后由 jwzyjwzy 于 2022-10-20 19:16 编辑

Sublime Text 逆向之旅

0x1 准备材料

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

0x2 信息收集

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

1665572506454.png

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

1665572534080.png

0x3 逆向分析

拖入x64dbg

1665572798998.png

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

1665572963704.png

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

1665573162424.png

跟进去

1665573348423.png

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

1665573542059.png

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

1665575588805.png

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

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

1665575892220.png

访问断点

1665576094456.png

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

1665576376079.png

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

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

1665576747185.png

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

1665576846983.png

打补丁看结果

1665576937115.png

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

0x4 结语

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

免费评分

参与人数 33吾爱币 +41 热心值 +31 收起 理由
hnb + 1 + 1 那位大哥能给个成品,小白还是不会弄
zhouzq709 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xu280102957 + 1 + 1 谢谢@Thanks!
FSociety + 1 + 1 用心讨论,共获提升!
bjznhxy + 1 + 1 谢谢@Thanks!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
AiStack + 1 + 1 用心讨论,共获提升!
xlc0210 + 1 + 1 我很赞同!
phyills + 1 + 1 谢谢@Thanks!
川木 + 1 谢谢@Thanks!
yanecc + 1 + 1 我很赞同!
Xiangzhisuoxin + 1 + 1 我很赞同!
fullstack + 1 <font __transmart="">我很赞同!</font>
ghimi + 1 优秀
Link_Stark + 1 + 1 用心讨论,共获提升!
笙若 + 1 + 1 谢谢@Thanks!
zyjsuper + 1 + 1 我很赞同!
某些人 + 1 + 1 谢谢@Thanks!
allspark + 1 + 1 用心讨论,共获提升!
我今天是大佬 + 1 + 1 我很赞同!
HillBoom + 1 + 1 用心讨论,共获提升!
zyh109 + 1 + 1 用心讨论,共获提升!
xzhtx + 1 + 1 谢谢@Thanks!
longs75 + 1 + 1 用心讨论,共获提升!
wgz001 + 1 + 1 用心讨论,共获提升!
charlieb1 + 1 + 1 用心讨论,共获提升!
cchume + 1 + 1 用心讨论,共获提升!
wkxq + 3 + 1 谢谢@Thanks!
lingyun011 + 1 + 1 我很赞同!
wapj258 + 1 + 1 用心讨论,共获提升!
fangchang819 + 1 + 1 用心讨论,共获提升!
RUO + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
知心 + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

longs75 发表于 2022-10-13 01:24
本帖最后由 longs75 于 2022-10-13 01:26 编辑
lies2014 发表于 2022-10-13 00:14
其实不用这么麻烦,直接在[rsi+5]的地址下硬件写入断点,找到写入的地方直接改成如下就可以了:

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

捕获.JPG

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

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

捕获2.JPG



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

免费评分

参与人数 5吾爱币 +10 热心值 +4 收起 理由
39188569 + 1 + 1 谢谢@Thanks!
Hmily + 6 + 1 用心讨论,共获提升!
wapj258 + 1 + 1 一个开头判断,一个运行中某刻判断
tuota + 1 + 1 只要修改两处
jwzyjwzy + 1 我很赞同!

查看全部评分

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

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

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
FSociety + 1 + 1 热心回复!

查看全部评分

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
感谢楼主分享
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那里,之后就没办法运行了,怎么解决呢?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 16:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表