入学考试 CM3 注册机

1、CFF 看文件信息,显示 vc6写的
2、想找 按钮事件 对应代码:消息入口查找器 不起作用

bp MessageBoxA;什么都不填,按 test按钮
0040438B       .  50            PUSH EAX                                 ; /Style = MB_OKCANCEL|MB_APPLMODAL
0040438C       .  52            PUSH EDX                                 ; |Title = 000B0002 ???
0040438D       .  51            PUSH ECX                                 ; |Text = "\xC2\x0C"
0040438E       .  6A 00         PUSH 0                                   ; |hOwner = NULL
00404390       .  FF15 A0E34600 CALL NEAR DWORD PTR DS:[<&USER32.Message>; \MessageBoxA
找到call头
004042F0       .  83EC 64       SUB ESP, 64  下断,看到返回:

0041CC51       .  8B4424 0C     MOV EAX, DWORD PTR SS:[ESP+C] 往上找到call头
0041CC30       .  8D4424 08     LEA EAX, DWORD PTR SS:[ESP+8]   下断,返回:

0040118C      |.  83C4 10       ADD ESP, 10  往上找到call头
00401168      /.  55            PUSH EBP 下断,返回: (这里应该是按钮事件) 只断一次

0041CCE0      |.  5F            POP EDI   往上找到call头
0041CC70      /$  55            PUSH EBP  如果在这里下断,显示程序window时不按按钮也会被断下,可见这里应该是个消息处理call,断下后返回

00412739      |. /E9 58070000   JMP 00412E96 往上找到call头
004121F0      /$  64:A1 0000000>MOV EAX, DWORD PTR FS:[0]  是一个switch case


用example code F8 跟,下面弹出了正确提示
004017D4  |.  E8 2A1E0000   CALL 00403603

004013DC  |.  E8 A8080000   CALL 00401C89  // 这个call后,eax是正确的码
004013E1  |.  8945 DC       MOV DWORD PTR SS:[EBP-24], EAX

下面就是做内存注册机了

开始用keymaker,发现只弹出了一部分注册码字串,不是完整的,数了下是259(103h)个字符。但正确的码有 591字节。于是想修改 keymaker的注册机。od载入,发现 00401000一段是空白的,代码在第二段 00407000,F9 执行后,发现 00401000 被填充了代码,在 ReadProcessMemory 下断,找到了读注册码的代码,在exe文件搜代码hex,搜不到,说明代码是被压缩放在exe的,执行的时候才解码出来,想在exe文件里修改buf大小是不可能了。

百度搜 内存注册机, 找到了 http://bbs.pediy.com/showthread.php?t=45821  给出了内存注册机的汇编源码

看了下,修改了几个参数,下载 RadAsm,编译后,老是提示 变量定义错误,仔细看,原来 BreakPoint dd 004013E1  地址后面少了个 h。修改后,编译得到exe,测试,能弹出正确注册码。


有幸能加入[C.L.G]这个组织了啊


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值