首页
社区
课程
招聘
[分享][推荐] 一个机器码相关 的CRACK ME
发表于: 2008-4-12 21:49 8170

[分享][推荐] 一个机器码相关 的CRACK ME

2008-4-12 21:49
8170
要求: 写出详细分析过程,不能爆破! 
     

 说明:程序不是我写的! !发出来大家分享一下;

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (20)
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
2
没看见SEH啊?

难道我被忽悠了?

OpetntO
137259176
2008-4-12 22:15
0
雪    币: 420
活跃值: (77)
能力值: ( LV13,RANK:500 )
在线值:
发帖
回帖
粉丝
3
输入你的系列号看了一下.Bad name or serial Number!
断点: 
0042DB3B  |.  E8 E8C6FEFF   call    0041A228

堆栈为: 
0012F990   0012FA98  指向下一个 SEH 记录的指针
2008-4-13 09:45
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
4
这个是跟机器码相关的,别人的机子是用不了的
2008-4-13 10:22
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
5
0042DCB7  |.  A1 58F74200   mov     eax, dword ptr [42F758]

此处能看到明码,将【42F758】转换成十进制字符就是注册码。
似乎跟SEH没关系。
2008-4-13 10:55
0
雪    币: 420
活跃值: (77)
能力值: ( LV13,RANK:500 )
在线值:
发帖
回帖
粉丝
6
我一会在试试看 !
2008-4-13 12:44
0
雪    币: 27
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
0042DB21  |.  E8 5E75FDFF   call    <jmp.&kernel32.GetVolumeInformat>; \GetVolumeInformationA

这里获得硬盘序列号... 跟机器码相关
2008-4-13 14:26
0
雪    币: 420
活跃值: (77)
能力值: ( LV13,RANK:500 )
在线值:
发帖
回帖
粉丝
8
   昨天好象是输入异常引起的错误! 

  怎么输都是错的!!
  怪怪哦 !

name: kanghtta
ds:[0042F758]=808DD47C
eax=006CBE66, (UNICODE "ate(&U)")

命令行里: ?0x808DD47C   
得:2147483647  
  
   check bad or serial number!  ????  负数转化成正数错了! ???
2008-4-13 15:09
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
9
0042DB21  |.  E8 5E75FDFF   call    <jmp.&kernel32.GetVolumeInformat>; \GetVolumeInformationA

你的eax返回多少?

808DD47C(H)->2156778620(D)
2008-4-13 15:14
0
雪    币: 420
活跃值: (77)
能力值: ( LV13,RANK:500 )
在线值:
发帖
回帖
粉丝
10
刚才在同学机子上调了会 !    在他机子上就是对的! 郁闷....害我看了大半夜的书!!
 

这个函数调用成功返回的是非零值啊?
If all the requested information is retrieved, the return value is nonzero.

If not all the requested information is retrieved, the return value is zero. To get extended error information, call GetLastError. 

 0042DB21  |.  E8 5E75FDFF   call    <jmp.&kernel32.GetVolumeInformat>; \GetVolumeInformationA
未执行CALL时
EAX: 00D20FD4
执行后: EAX : 00000001
2008-4-13 15:37
0
雪    币: 420
活跃值: (77)
能力值: ( LV13,RANK:500 )
在线值:
发帖
回帖
粉丝
11
808DD47C(H)->2156778620(D) 

32位有符号数表示的最大范围: -2147483648 (D)到+2147483647(d)<2156778620(D)
  
不异常就不正常了!    嘿嘿...谢谢petnt , 改天请你吃饭噶!  

 刚开始还以为是程序的问题! 没想到是我机子的问题!  
   改天换个硬盘去! 嘿嘿.......
2008-4-13 15:41
0
雪    币: 293
活跃值: (96)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
0042DCBC  |.  3B05 60F74200 cmp     eax, dword ptr [42F760]
0042DCC2  |.  75 17         jnz     short 0042DCDB
0042DCC4  |.  6A 00         push    0
0042DCC6  |.  66:8B0D 1CDD4>mov     cx, word ptr [42DD1C]
0042DCCD  |.  B2 02         mov     dl, 2
0042DCCF  |.  B8 A0DD4200   mov     eax, 0042DDA0                    ;  good serial, thanks for trying this crackme by niabi !
2008-4-14 10:30
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
正在学习中,请多关照
2008-5-7 20:41
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
能写详细点吗?
我有好几个地方不懂...
2008-5-7 23:07
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
有人搞出来了吗?
2008-5-12 11:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
最小用户名数为6个.任意序列号.找到0042DDE0=echap519.0042DDE0 (ASCII "Bad Name Or Serial Number !!!!!")
向上看,找到0042DCBC  |.  3B05 60F74200 CMP EAX,DWORD PTR DS:[42F760]

处下断,F9运行,输入任意大于六位的用户名,任意序列号,check.此时,DS:[0042F760]=00BBDEEC即你的序列号
EAX=C4097998即正确的注册码.
2008-5-12 17:12
0
雪    币: 231
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
^^^^还是没看懂~~~
2008-5-13 08:57
0
雪    币: 293
活跃值: (96)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
如用户名为:shizong,序列号随便填,在这里下断点。
0042DCAD  |.  E8 F688FDFF   call    004065A8
0042DCB2  |.  A3 60F74200   mov     dword ptr [42F760], eax
0042DCB7  |.  A1 58F74200   mov     eax, dword ptr [42F758]
0042DCBC  |.  3B05 60F74200 cmp     eax, dword ptr [42F760]
此时数据窗口eaX值为1736073180
上传的附件:
  • 1.jpg (19.19kb,34次下载)
2008-5-13 09:22
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
问题是算法..
那堆call是干什么用的,我看里面有加有减的,然后存到同一个地方
2008-5-13 18:10
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
下来看看```
2008-5-14 01:25
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
我使用GetWindowsTextW可以断住,但是要跟好多次才出来错误对话窗口
所以直接加载在错误窗口出来的时候暂停,然后在消息循环里面下断点 单击OK 就断到
然后执行到返回几次就可以到了
0042DCDB  |> \6A 00         push    0                                ; /Arg1 = 00000000
0042DCDD  |.  66:8B0D 1CDD4>mov     cx, word ptr [42DD1C]            ; |
0042DCE4  |.  B2 02         mov     dl, 2                            ; |
0042DCE6  |.  B8 E0DD4200   mov     eax, 0042DDE0                    ; |ASCII "Bad Name Or Serial Number !!!!!"
0042DCEB  |.  E8 50F1FFFF   call    0042CE40                         ; \echap519.0042CE40
0042DCF0  |>  33C0          xor     eax, eax

这时候也就找到了关键点
当然也可以使用OLLYDBG查找弹出对话框的字符串调用 可以更快捷的找到关键点
我的注册码:
xueren
ds:[0042F760]=069F6BC7;111111111
eax=7623D80C;1982060556
2008-5-14 12:08
0
游客
登录 | 注册 方可回帖
返回
//