huowangwu1949 发表于 2013-5-12 09:17

160个CrackME编号003-ajj.1 来点热心鼓励我继续前进吧

本帖最后由 huowangwu1949 于 2013-5-12 09:18 编辑

{:300_941:}热心神马 就是小手一点啦{:300_950:}
文章标题】: 160个crackMe编号003-ajj.1
【下载地址】: 附下载
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
写在前
实际上这个是编号004由于这个160个crackme是一系列的 有的crackme验证方式是同一个人写的两个 基本上差不多 我就把
类似的跳过了 该编号003实际为编号004
----------------------------------------------------
今天是个非常有趣的crackme 最起码非常养眼 至于为什么大家爆破成功后就看到了~~
载入od
这个crackme有点特殊 因为看上去他好像是没有按钮 难道是实时检测输入框内容 输入正确直接弹出么
那我们就想多了 没这么复杂
载入停在这里
004582D0 > $55            push ebp
004582D1   .8BEC          mov ebp,esp
这里呢 我们有两种方法来爆破
第一种就是我们经常用的f12 暂停
载入后我们直接运行f9
输入 用户名 1 和假码 1 没有 按钮怎么办 大家细心观察就会发现 鼠标移动到那个输入框的中心 鼠标会编程“?”
猜想 这个东西就是按钮 尝试点一下
ok 没有反应
我们不管他直接f12 暂停
alt +k

地址       堆栈       函数过程 / 参数                     调用来自                      结构
0012FF40   77D19418   包含ntdll.KiFastSystemCallRet         user32.77D19416               0012FF70
0012FF44   0044159C   <jmp.&user32.WaitMessage>             CKme.00441597               0012FF70
0012FF74   00440D54   ? CKme.004414BC                     CKme.00440D4F               0012FF70
0012FF98   00440F52   CKme.00440D38                         CKme.00440F4D               0012FFAC
0012FFB0   00458321   CKme.00440ECC                         CKme.0045831C               0012FFAC
这里我们 选中最后一个显示调用 其实这里大家选中其他几个系统领空的 (004开头)进去跟一下也可以
但实际上都离 正确提示 比较远 这里我们直接选最近的
显示调用来到这里
0045831A   .8B00          mov eax,dword ptr ds:
0045831C   .E8 AB8BFEFF   call CKme.00440ECC
00458321   .E8 9EB4FAFF   call CKme.004037C4
00458326   .0000          add byte ptr ds:,al
习惯往下找 往上找
往下都是空了
那我们往上找
004580A9|.BA 14814500   mov edx,CKme.00458114                  ;恭喜恭喜!注册成功

找到 上面这里 肯定就离正确地方不远了
大家可以看到
0045808F|.83FB 13       |cmp ebx,0x13
00458092|.^ 75 AB         \jnz short CKme.0045803F
00458094|.33D2          xor edx,edx
00458096|.8B86 F0020000 mov eax,dword ptr ds:
0045809C|.E8 BFB1FCFF   call CKme.00423260
004580A1|.A1 20B84500   mov eax,dword ptr ds:
004580A6|.83C0 70       add eax,0x70
004580A9|.BA 14814500   mov edx,CKme.00458114                  ;恭喜恭喜!注册成功

恭喜注册成功上面jnz 往上 是一个循环 如果你下断来跟会发现他会一直循环十八次
往上 还有一个这种类似的循环 其实这里就是算法
但是我没跟到注册码 很惭愧
我们不管算法 我们直接爆破 看怎么才能让程序代码顺序执行触发到正确提示
我们现在算法的下面下断
00458094|.33D2          xor edx,edx

断不下来
说明有跳转 直接走过了这正确call
我们网上找
0045803B|. /75 76         jnz short CKme.004580B3

发现这里会直接跳过了正确call
我们在这里下断
断下来了
nop 或者标志位爆破
继续运行 看爆破成功 注册下面出现了正确的提示 哇 好正!至于是什么大家自己爆破一下 就看到了
今天就到这里
ps 另一种方法就是字符串 一步到达正确提示 这个大家都会我就不演示了

--------------------------------------------------------------------------------
【经验总结】
按钮不一定都是显现的
如果正确call被跳过 可能是有跳走过他

--------------------------------------------------------------------------------
【版权声明】: 本文原创于huowangwu1949, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2013年05月12日 9:12:14

不评分我就这样了{:300_953:}



七方 发表于 2013-5-12 09:33

不错,收藏了

Rainy 发表于 2013-5-12 09:51

顶一个,希望楼主多发精品

RedAngel丶 发表于 2013-5-12 10:24

160呀,要坚持下去很难呀

逍遥枷锁 发表于 2013-5-12 10:28

其实这个还是有漏洞的,直接用上几节的方式也可以破解,字符串还是泄漏了,这样更快找到关键,{因为显示调用,为什么往上来或往下拉是关键,一般往上,最好也解释下F12找这个关键的分解,为什么往上可以找到关键,这个对于新手也是一种迷茫}直接搜索字符串,在段首下断跟踪。可以破解。

ebaodi 发表于 2013-5-12 11:28

楼主坚持,我是你的忠实听众。
这个我也看了,一看没啥按钮就没深看,我是新手,不明白的东西太多,看见没见过的就晕

Bingeye 发表于 2013-7-12 19:33

这个怎么追码来着?

sunset920 发表于 2013-11-12 14:03

005的怎么破好久发一个呗??

batistutawt 发表于 2014-5-8 16:48

第二种方法呢?
页: [1]
查看完整版本: 160个CrackME编号003-ajj.1 来点热心鼓励我继续前进吧