我也来一个crackme
菜鸟也来写一个crackme,写的不是很好这个crackme没有SMC,SEH等技术,也没有高级的算法
希望给位大侠给我提点写crackme的技巧,大家一起提高嘛!!^_^
在看雪,被高手“疯子鱼”给爆破了
/*401BE1*/TEST EDX,EDX
这里 把edx改为9 即可
算法长懒得看啦
我进行了一下改进,出了一个修改版
[ 本帖最后由 renwoxiao 于 2009-7-25 10:57 编辑 ] dede怎么查找啊,我不会,问下,呜呜~ 不知道你的算法是什么 但是 有7位数用户名和注册码一样 就行了搞不懂有时候对有时候错 有点难度哦,如果有一个 用户名对应的注册码就可以马上 KO 了 出来后是16 就可以成功了,可惜就是找不到这个数,无奈,还是要看到真是注册码才行
[ 本帖最后由 lgjxj 于 2009-7-26 10:59 编辑 ] 原帖由 lgjxj 于 2009-7-26 00:27 发表 https://www.chinapyg.com/images/common/back.gif
出来后是16 就可以成功了,可惜就是找不到这个数,无奈,还是要看到真是注册码才行
高手呀,/:L 算你爆破成功了,不知道你是从哪里知道这个数的(给我说一下,或者把爆破的程序传上来给我看一下,我下次改进),这也有可能是用MessageBox的一个软肋,从MessageBox的参数,反跟踪到数据的来源,不知道这个16是你从1开始试出来的吗????
下次用一个窗体试一试
至于算法嘛,数学要很好才行
[ 本帖最后由 renwoxiao 于 2009-7-26 11:46 编辑 ] 不是这样算的
00401C39 8BD8 mov ebx, eax ;上面出来后=0x16 就 OK
00401C3B 59 pop ecx
00401C3C BE A0214600 mov esi, 004621A0 ;失败 字符串
00401C41 mov eax, dword ptr
就是上面这条代码出卖了结果 ebp = 12f5c8 + ebx( 如果是 0x16) * 4 - 1c0 = 12f460
看堆栈
0012F460 0046218C修订版.0046218C 这个 46218c dword 内存数据是B0 C8 BD A7 叭涧..
对应的解码 key 是3 1 4 1
也就是成功的字符串
然后你调用
00401C5E .F3:A5 rep movs dword ptr es:, dword ptr ;由于上面 esi(失败)和 edi ( 我们注册码说了算)
00401C60 .8BCA mov ecx, edx
00401C62 .83E1 03 and ecx, 3
00401C65 .F3:A4 rep movs byte ptr es:, byte ptr
上面的代码为 复制多了一份 成功的字符串
这样就为 MessageBox 添加了需要的内容 也就是说一个注册码就可以出卖了整个布局,今天没时间了,如果你贴了 KEY , 晚上回来玩玩
包括你第一个 cm 也是一样, key 一出,马上就完了
应你要求放一个 爆破版
[ 本帖最后由 lgjxj 于 2009-7-26 11:51 编辑 ] 高手呀,膜拜一下~~~~~
我想知道一下,16h是你怎样弄出来的,是从0开始试吗?????
我最后的是否成功的标志老是处理不好,请问一下,如果把MessageBox改为一个窗体,
把注册窗口处理一部分的数据,传到另外一个窗口中,在新的窗口中再处理,然后判断成功与否,这样是不是难破解一点(毕竟MessageBox有参数,可以反跟踪)
请高手点拨一下,小弟万分感激 第一个crackme按钮事件在哪里,我不会,呜呜,问下,怎么找到的