【注册问题】sublime text 不完全注册

手头有个旧版的sublimetext,上一次用还是一年前了。用od分析了下里面的注册过程。

值得吐槽的是:注册时弹出来的提示活像crackme习题的提示。。

在菜单中输入序列号并注册后,关键判断是下面这段:

00FCAA9D   . E8 DFF1FFFF    CALL sublime_.00FC9C81
00FCAAA2   . 83C4 10        ADD ESP,10
00FCAAA5   . 85C0           TEST EAX,EAX
00FCAAA7   . 0F9405 24442A0>SETE BYTE PTR DS:[12A4424]
00FCAAAE   . 85C0           TEST EAX,EAX
00FCAAB0     0F85 E4000000  JNZ sublime_.00FCAB9A

上面的代码:第一行是一个判断函数,返回值被保存,并根据其值条件转移,形成注册成功的结果。

来到这个函数内部,可以看到一段挺长但是没啥特别技巧的验证过程,不过我还没仔细看 - - 。

值得吐槽的是,这个函数里有大量的cmp , 据我了解是开发者禁止了被公开的序列号的ID,估计是这个过程吧。

最后返回值的地方:

00FCA3CF  |> 8D4D C8        LEA ECX,DWORD PTR SS:[EBP-38]
00FCA3D2  |. E8 AC80F3FF    CALL sublime_.00F02483
00FCA3D7  |. 8D4D B0        LEA ECX,DWORD PTR SS:[EBP-50]
00FCA3DA  |. E8 A480F3FF    CALL sublime_.00F02483
00FCA3DF  |. 8D4D 80        LEA ECX,DWORD PTR SS:[EBP-80]
00FCA3E2  |. E8 9C80F3FF    CALL sublime_.00F02483
00FCA3E7  |. 8D4D 98        LEA ECX,DWORD PTR SS:[EBP-68]
00FCA3EA  |. E8 9480F3FF    CALL sublime_.00F02483
00FCA3EF     8BC7           MOV EAX,EDI
00FCA3F1  |. E8 716B0300    CALL sublime_.01000F67
00FCA3F6  \. C3             RETN
上面的代码:倒数第三行就是关键,根据之前的观察,要注册成功必须eax为0,所以把0x8bC7 改称成0x33C0 ,直接把eax清零。

这样即可注册成功。

遗留问题:

license文件仍然有问题,注册完关掉再开就没用了。

(据观察,软件打开时

sublime_.00FC9C81
这个判断函数也会被调用。)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值