tuts4you-lena151-Crackme-tutorial10

一、简介

(一)、目标

      本次我们需要破解的是的文件有三个,分别是Tut.ReverseMe1.exe、ReverseMe2.exe、CConvert.exe,他们都是VB程序,但依赖的库很老旧,在windows7下需要额外下载msvbvm50.dll这个库。

(二)、工具

         本次破解只使用x32dbg

二、破解过程

(一)、Tut.ReverseMe1.exe

    1.程序界面,需要去掉弹窗和计算注册码,如下图。

   

  2.载入程序到x32dbg中,按f9跳转到入口点,并查找弹窗的字符串,并在调用字符串的地方下断点。

3.ctrl+f2重启程序,程序停在断点处,f8单步跳转,往上寻找,找到这个函数的入口点,将语句改为ret。

扫描二维码关注公众号,回复: 1047123 查看本文章




4.在重启时,程序的nag窗口语句消失了,接下来研究注册过程,也查找字符串,找到字符后,下断点



5.程序停在断点处,往上滚动,发现有个字符串的比较,试下这个字符串是不是key。

6.发现我们的猜想是正确的



(二)、CConvert.exe

1.程序界面如下,我们需要去除窗口,计算验证码。

    

2.先查找字符串,用nop充填,弹窗消失。



3.打开注册界面,随便输入一些值,点击注册,获取一些特征字符串,如下图。


4.查找弹窗所显示的字符串所在位置,往上滚动,会发现注册成功与否的跳转判断,如下图



4.其实到这修改跳转已经算成功了,但我们继续研究下它的注册算法,由于我输入的是h123120,所有注册码应该是首字母h的ascii码乘上20即2080,然后拼接上两个单词,输入此注册码,注册成功。




(三)、ReverseMe2.exe

1.其程序界面如下图,需要我们寻找注册码,但输入注册码之后,我们发现程序的注册按钮一直是灰色的。

                                     

2.查找字符串,分析一些比较可疑的字符串。


3.通过以上字符串,找到这段代码,可能文件需要一个reginfo.key,创建一个空的reginfo.key文件在相同目录下,此时提示比变了。


4.继续寻找到跳转成功的区域,往上滚动,找到这个函数的入口点,再查找引用。




5.查看403390这个地址,但是跳转到这个地址后,完全就没思路了,冥思苦想之后,我想起来还可以用寻找api的方式

一般vb的验证的api总少不了_vbaVarTsteq()这个函数,我在所有的这个函数的调用之上下断点,最后终于在输入的验证码的时候程序停在了如下地址。



6.往上滚动,查看到注册码,输入,注册成功



7.分析算法流程

查看上面的代码,应该也是在用ascii码怎么分析,具体我就不分析了。

三、总结

(一)字符串查找的路子走不通可以寻找api

(二)vb程序的窗口有的时候需要在函数入口处直接ret

猜你喜欢

转载自blog.csdn.net/h123120/article/details/80041772