好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 huowangwu1949 于 2013-5-11 07:01 编辑
我会努力更新哒 给点热心吧亲
【文章标题】: 160个CrackMe编号002[Afkayas].1
【文章作者】: huowangwu1949
【下载地址】: 自己搜索下载
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
载入 运行 crackme
输入用户名和假码 确定 弹出错误
F12暂停 ALT+F9执行到用户返回 点击错误提示框 返回到这里
00402622 . 8D4D E8 lea ecx,dword ptr ss:[ebp-0x18]
从这里往上看是错误提示
004025E5 > \68 C81B4000 push Afkayas_.00401BC8 ; UNICODE "You Get Wrong"
在网上是正确提示
0040258B . /74 58 je short Afkayas_.004025E5
0040258D . |68 801B4000 push Afkayas_.00401B80 ; UNICODE "You Get It"
00402592 . |68 9C1B4000 push Afkayas_.00401B9C ; ASCII "\r"
看到这里大家最喜欢的jnz 或者je有出现了 nop掉 或者标志位爆破
这个crack很简单 但是下面有提示
004025A1 . 68 A81B4000 push Afkayas_.00401BA8 ; UNICODE "KeyGen It Now"
找到我的注册码 keygen it now
别着急 大家记着往上找 这就是要细心了
00402533 . FF15 28414000 call dword ptr ds:[<&MSVBVM50.__vbaStrCm>; msvbvm50.__vbaStrCmp
可以看到这一句
注意 关键的字符“strcmp” 这句的意思就是字符串string cmp 字符串比较
可以猜想到是比较真码和假码的字符串
我们在这里下断 试一下
继续运行 输入假码
断下来了
00402533 . FF15 28414000 call dword ptr ds:[<&MSVBVM50.__vbaStrCm>; msvbvm50.__vbaStrCmp
注意寄存器窗口 里面弹出了 AKA-1268007 测试后这就是用户名对应的注册码 (这个crackme好像就是死码 输入什么都是这个好像
我们可以继续逆推 这里弹出了注册码 那上面可能就是算法
我们继续往上面找 可以看到
00402530 . FFD3 call ebx ; msvbvm50.__vbaStrMove; <&MSVBVM50.__vbaStrMove>
strmove 传递字符串到什么地方
在网上 有
0040251D . 68 701B4000 push Afkayas_.00401B70 ; UNICODE "AKA-"
00402522 . 51 push ecx ; /String = "$R"
00402523 . FFD7 call edi ; \__vbaStrCat
00402525 . 8B1D 70414000 mov ebx,dword ptr ds:[<&MSVBVM50.__vbaSt>; msvbvm50.__vbaStrMove
看到AKA- 可以猜到上面就是对算出来的注册码嵌套上 AKA- 作为开头
我们可以下断 跑一下
0040250A . FF15 04414000 call dword ptr ds:[<&MSVBVM50.__vbaHresu>; msvbvm50.__vbaHresultCheckObj
在这里下断 运行再一次
发现直接跑到了
00402533 . FF15 28414000 call dword ptr ds:[<&MSVBVM50.__vbaStrCm>; msvbvm50.__vbaStrCmp
004024FC . /7D 12 jge short Afkayas_.00402510
004024FE . |68 A0000000 push 0xA0
00402503 . |68 5C1B4000 push Afkayas_.00401B5C
00402508 . |56 push esi
00402509 . |50 push eax
0040250A . |FF15 04414000 call dword ptr ds:[<&MSVBVM50.__vbaHresu>; msvbvm50.__vbaHresultCheckObj
jge 跳过了我们刚才下断的地方
我们可以在jge下断或者段首
00402310 > \55 push ebp
下断来继续调试
就可以看到 这个很2的算法的过程 取huowangwu1949 用户名的 h 到xxxx 算出一个数字 然后retn返回到一个call的下方
几次之后 就出来了这个 AKA-1268007
至此 这个crackme结束了
- -其实算法我根本不懂 只知道他是从那里开始取用户名的一部分开始 算。。。到算出结果
就是这样
为什么呢 大家找一下就可以发现一个判断
--------------------------------------------------------------------------------
【经验总结】
仔细观察 对英文单词敏感 strcmp strmove
--------------------------------------------------------------------------------
【版权声明】: 本文原创于huowangwu1949, 转载请注明作者并保持文章的完整, 谢谢!
2013年05月10日 19:24:52
Afkayas.1.zip
(3.88 KB, 下载次数: 29)
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|