tuts4you-lenaCrackme-tutorial04

   最近出差,一周没更新了,现在来学习下tutorial04的CrackMe。

   实验工具:x64dbg

   这个tutorial的目标是去除pixtopainbook1.07这个程序的限制,并且对其进行绿化,所以首先点击程序安装它,安装好之后的界面如下图:

   


一、目标

(一)对于这个程序,我们大致需要做两类改动,一类是修改一些未注册的提示,大概有三处,如下图



(二)另外一类是去除功能限制,添加entity和group的时候用数量上的限制,如下图



二、分析

(一)、首先使用peid查壳,没有壳,C++编写的。


(二)、用x64dbg载入


(三)、按F9跑起来,会发现x32dbg会中断在一个地方,如下图


C++的异常处理,应该是SEH,因此按Shift+F9,程序主界面出现。

(四)、首先处理两个功能限制

方法很多,可以通过检索限制的字符串或者MessageboxAPI找到相关的代码段。

这里我再介绍个小技巧:

首先让限制的对话框弹出,接着暂停x32dbg,再按alt+f9返回用户代码处,最后点击限制对话框的确定按钮,x32dbg就会自动返回到messagebox的call语句的下一句,如下图:


我们单步再向前把RET 0xC执行完,就可以到达限制功能的判断区域了


如图JL(jmp less)这个跳转应该就是限制功能挑战的语句了,修改JL为jmp



此时我们再添加entities,已经不弹窗了,同样添加group也是一样的套路,大佬们再试试吧~~。

(五)、接下来处理字符串

首先,查找字符串


再在内存窗口中转到字符串的地址。


然后修改之。


再看程序~~~


还有两处字符串,我用x32dbg死活找不到,一度以为是图片资源,后来知道了这么个事情:

有可能data和res节区的数据,再代码区找不到,只有直接在内存里搜索(并且是Unicode)。

如下图:





三、总结

1.SEH和shift+F9的使用

2.首先让限制的对话框弹出,接着暂停x32dbg,再按alt+f9返回用户代码处,最后点击限制对话框的确定按钮。

3.有可能data和res节区的数据,再代码区找不到,只有直接在内存里搜索(各种编码都试试,不一定是uncide)。

4.其实可以直接找到此程序的未注册判断代码区,就该判断注册与否那个跳转,用搞这么多其他的东西,但为了学习还是多折腾下吧。。。

猜你喜欢

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