码迷,mamicode.com
首页 > 其他好文 > 详细

适合新手的160个creakme(四)

时间:2019-08-17 01:14:31      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:成功   界面   str   适合   阴影   比较   决定   一个   区域   

这题没有什么特殊字符串,Delphi写的,使用DeDeDark分析一下,找到几个特殊的事件

技术图片

一个是KeyUp

技术图片

一个是chkcode

技术图片

还有就是中间区域的单击或是双击事件

技术图片

直接跟进去这几个函数,然后找比较和跳转指令,就很容易发现,最终决定中间区域是否显示图片的跳转在,panel的单击事件的这里

技术图片

直接将这个JNE跳转改成JE就可以实现爆破

然后从上面的比较指令可以看出,比较的是ESI+30C处的值和85的大小

然后跟进去每个函数,在chkcode中就可以发现,如果注册码正确,内存[ESI+30C]被赋值0x3E,否则内存[ESI+30C]等于0,内存[ESI+30C]初始值为0;若是注册码正确,在chkcode事件中,内存[ESI+30C]被赋值0x3E,在Panel1DblClick事件(双击矩形阴影进行触发)中被进一步赋值0x85,从而在Panel1Click事件(单击或双击矩形阴影进行触发)中0x0045803B处的指令就不会发生跳转,从而反馈注册成功的信息,最后界面的矩形阴影会被一幅照片取代。

然后跟踪chkcode可以直接发现它的注册码可以直接在栈上被发现,简单试几个就很容易猜出是下面的字符串,其中name是用户名

黑头Sun Bird"+str(len(name)+5)+"dseloffc-012-OK"+name

 

适合新手的160个creakme(四)

标签:成功   界面   str   适合   阴影   比较   决定   一个   区域   

原文地址:https://www.cnblogs.com/likaiming/p/11366967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!