aaayun 发表于 2022-9-29 15:51

关于一个奇怪的查壳显示的软件注册码爆破的求助

众所周知要干一款软件就得先查壳,然后查完壳之后就是如下图所示:
各种信息。但是区段都是统的upx。但是壳信息又显示各不相同。
次软件是本地验证码注册。也就是说他的验证码是本地计算进行对比然后显示注册信息的。
所以我准备带壳爆破。但是在爆破过程中始终跟不出真码,所以来人才众多的论坛求助一番。

带入OD之后ctrl+G来到401000
然后搜索字符串,一直软件的关键字符串为:授权码不正确

然后双击关键字到达下图所处位置
网上翻了方一眼望不到边,好像他所有的字符串都在这个位置

直接拖动滑块翻到顶部有一个jnz跳转直接跳过了所有的字符串
不明觉厉





从50083F到5023EA

所以我决定用特征码的方式来试试

通过查壳得知软件是delphi编写的,
然后搜索二进制特征码:740E8BD38B83????????FF93????????
来到了按钮事件,本来搜出了很多个,挨个下断之后得出实际call为
下图这个。取消其他断点之后运行程序再次点注册断在此处。
然后F7跟进,再单步往下。


一直到达下图的call这个位置再单步一次程序显示授权码不正确。
所以在此处下断,重新运行并注册来到此处并F7跟进





跟进后再单步向下到达此处后。堆栈窗口显示读取了我输入的假码
我以为很快就能跟出真码并成功。






继续向下,到达此处右上方寄存器窗口出现不明字符。但只是3位字符





继续往下跟,并没有出现真码,直到出call。到达下图的位置在跟一次就出现授权码不正确。
哦豁,直接就G了。





我以为是我的方法问题,验证并不是在这里。所以有用暂停法又来了一次
运行程序,输入假码,然后点确定注册,回到OD点暂停,然后点K
调到下图中箭头位置下断







然后单步向下,知道下图中的call位置,再单步一次软件显示授权码不正确。
点确定,继续向下跟出call





出cal之后此时依然在系统领空,所以继续向下,再出call





到达下图的位置,但是此时的位置已经是软件授权码不正确提示点完确定所回到的
地方。



至此判定我失败了,依然没有找到关键的跳转或者关键的call。


所以来发帖求助广大坛友,到底是我的思路有问题还是操作步骤出现了错误?
还请广大坛友不吝赐教
附上软件以及火绒查杀

蓝奏云:https://wwt.lanzouy.com/iXcRm0ck8yoj

Hmily 发表于 2022-9-29 18:19

看图应该是加了VMP,关键代码被虚拟化了,应该不是很好跟。

aaayun 发表于 2022-9-29 18:45

Hmily 发表于 2022-9-29 18:19
看图应该是加了VMP,关键代码被虚拟化了,应该不是很好跟。

他这个壳就很奇怪,查壳显示的vmp,但是区段又是upx。进去之后通过VirtualProtect下断也可以断。但是跟不到 PAGE_READONLY。

Hmily 发表于 2022-9-29 21:33

aaayun 发表于 2022-9-29 18:45
他这个壳就很奇怪,查壳显示的vmp,但是区段又是upx。进去之后通过VirtualProtect下断也可以断。但是跟不 ...

区段本来就可以随便写,这不能作为唯一标准。
页: [1]
查看完整版本: 关于一个奇怪的查壳显示的软件注册码爆破的求助