这小节是通过断在GetPrivateProfileStringA,然后找到注册码的。

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1.运行程序
输入假码111111,提示重启。通过这判断这是一个重启来验证的,那么它是如何来验证的呢?观察程序目录下会发现有一个名为“config.ini"的文件

shark恒破解笔记4-API断点GetPrivateProfileStringA 随笔 第1张

 

 

那么判断是通过读取ini文件来进行验证的。所以可以在GetPrivateProfileStringA处下断点,在它读取了ini中的注册码后,必然会与真码进行比较,那么我们就可以找到真码了。载入OD

 

下API断点:GetPrivateProfileStringA。这次是在这里设置断点:

 

 shark恒破解笔记4-API断点GetPrivateProfileStringA 随笔 第2张

 

运行程序,断下来

shark恒破解笔记4-API断点GetPrivateProfileStringA 随笔 第3张

 

 

 

 

此时,就位于了GetPrivateProfileStringA函数里面。这里记录一下,我们利用这个断点,是因为这个软件是有壳,我们为了进入用户领空进行操作,所以利用了这个断点。

 

现在我们要脱离系统领空,进入程序领空,就用不到这个函数断点了。

 

所以Alt+F9返回到用户代码去。

 

 

 shark恒破解笔记4-API断点GetPrivateProfileStringA 随笔 第4张

 

 

shark恒破解笔记4-API断点GetPrivateProfileStringA 随笔 第5张

 

 

观察汇编代码

 

从系统空间返回程序了,可是这里没什么关键跳,也没再寄存器窗口里看到可疑的字符串。只好一路F8直到retn。


跳出了上个call后,还是没发现什么。只好继续F8了。不久,就又断在了GetPrivateProfileStringA处,还是老办法Alt+F9返回到用户代码去。


返回用户空间后,只好继续F8。F8的过程中,观察堆栈和寄存器,不久就会出现这个:


shark恒破解笔记4-API断点GetPrivateProfileStringA 随笔 第6张

 

 

可疑字符串出现了,感觉都复制出来,一一试验一下。

 

 


经测试我们找到了真码

 




 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄