首页
社区
课程
招聘
刚弄了个CrackMe 给大家练练手
发表于: 2010-6-8 14:37 10845

刚弄了个CrackMe 给大家练练手

2010-6-8 14:37
10845
这个东西用暴破很容易。大家多分析分析算法 。最好能写出注册机。

PS:最新的在6楼,请去6楼下载

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (27)
雪    币: 338
活跃值: (103)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
2
kkmylove
3388997800  水平不行 弄不出来算法
2010-6-8 16:48
0
雪    币: 695
活跃值: (25)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
3
pediy
2936013052
2010-6-8 16:54
0
雪    币: 131
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
famsky
2902458623

好长啊
2010-6-8 17:04
0
雪    币: 40
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
期待大家的注册机哦
2010-6-8 17:17
0
雪    币: 40
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我对不起大家。。。。这个让我弄错了,我马上修改 新产品马上上架,我感觉难度会增加点(对我来说)
不过核心算法没改大家有兴趣的话 可以研究一下注册机
上传的附件:
2010-6-8 17:22
0
雪    币: 306
活跃值: (85)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
7
hack一生
3724542134l
2010-6-8 19:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
搞不来。。。。继续研究中
2010-6-8 20:01
0
雪    币: 340
活跃值: (51)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
004015D0   .  6A 01         PUSH 1
004015D2   .  48            DEC EAX
004015D3   .  50            PUSH EAX
004015D4   .  E8 19500100   CALL CrackMe.004165F2
004015D9   .  8B4424 18     MOV EAX,DWORD PTR SS:[ESP+18]            ;  寄存器中出序列号
004015DD   .  0FBE50 05     MOVSX EDX,BYTE PTR DS:[EAX+5]
004015E1   .  8A40 06       MOV AL,BYTE PTR DS:[EAX+6]
004015E4   .  884424 24     MOV BYTE PTR SS:[ESP+24],AL
004015E8   .  884424 1C     MOV BYTE PTR SS:[ESP+1C],AL
004015EC   .  8B4C24 24     MOV ECX,DWORD PTR SS:[ESP+24]
004015F0   .  81E1 FF000000 AND ECX,0FF
004015F6   .  3BD1          CMP EDX,ECX
004015F8   .  75 06         JNZ SHORT CrackMe.00401600
004015FA   .  FEC0          INC AL
2010-6-8 21:46
0
雪    币: 435
活跃值: (1282)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
10
论坛终于能上了

004014F5   .  8D56 5C       lea     edx, dword ptr [esi+5C]          ;  算法开始
004014F8   >  8BC7          mov     eax, edi
004014FA   .  BD 08000000   mov     ebp, 8
004014FF      8BD8          mov     ebx, eax
00401501   .  80E3 01       and     bl, 1
00401504   .  F6DB          neg     bl
00401506   .  1BDB          sbb     ebx, ebx
00401508   .  81E3 C5000080 and     ebx, 800000C5
0040150E   .  D1E8          shr     eax, 1
00401510   .  33C3          xor     eax, ebx
00401512   .  4D            dec     ebp
00401513   .^ 75 EA         jnz     short 004014FF                   ;  内层循环,8次
00401515   .  8902          mov     dword ptr [edx], eax
00401517   .  47            inc     edi
00401518   .  83C2 04       add     edx, 4
0040151B   .  81FF 00010000 cmp     edi, 100
00401521   .^ 72 D5         jb      short 004014F8                   ;  外层循环,100次
00401523   .  334C24 24     xor     ecx, dword ptr [esp+24]
00401527   .  8BC1          mov     eax, ecx
00401529   .  8BCE          mov     ecx, esi
0040152B   .  8BD0          mov     edx, eax
0040152D   .  81E2 FF000000 and     edx, 0FF
00401533   .  C1E8 08       shr     eax, 8
00401536   .  8B7C96 5C     mov     edi, dword ptr [esi+edx*4+5C]
0040153A   .  33F8          xor     edi, eax
0040153C   .  8D4424 14     lea     eax, dword ptr [esp+14]

从程序里把这几条指令抠出来,就是注册算法了
纵使你用了800次的循环也还是败在明码比较上
2010-6-9 21:50
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
11
[QUOTE=bitt;821197]论坛终于能上了

004014F5   .  8D56 5C       lea     edx, dword ptr [esi+5C]          ;  算法开始
004014F8   >  8BC7          mov     eax, edi
004014FA   .  BD 08...[/QUOTE]

CRC32 ?
2010-6-10 00:51
0
雪    币: 435
活跃值: (1282)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
12
那个我就不知道了,不懂密码学
2010-6-10 08:38
0
雪    币: 517
活跃值: (64)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
13
vc6.0写的标准的MFC程序

返回地址: 004179EE  函数名称: OnCommand:WM_COMMAND_0x03EA(程序内部函数)
     
返回地址: 00419614  函数名称: CString::operator=(char const *)(程序内部函数)
CString::operator=: 赋值
          string=""
CString::operator=返回值: 0x0012F4DC
     
返回地址: 00419627  函数名称: GetDlgItem(USER32.dll)
GetDlgItem: 获得指定控件的句柄
          hDlg=0x0007042C
          nIDDlgItem=0x000003E8
GetDlgItem返回值: 0x001704F4(控件的句柄)
     
返回地址: 00419634  函数名称: GetWindowTextLengthA(USER32.dll)
GetWindowTextLengthA: 调查窗口标题文字或控件内容的长短
          hWnd=0x001704F4
GetWindowTextLengthA返回值: 0x00000008
     
返回地址: 00419648  函数名称: GetWindowTextA(USER32.dll)
GetWindowTextA: 取得一个窗体的标题文字,或者一个控件的内容
          hWnd=0x001704F4
          lpBuffer=0x00E24018
          nBufferSize=0x00000009
          存入缓冲区中的数据: "ccbszhxd"
GetWindowTextA返回值: 0x00000008(文本的长度)
     
返回地址: 00419614  函数名称: CString::operator=(char const *)(程序内部函数)
CString::operator=: 赋值
          string=""
CString::operator=返回值: 0x0012F4E0
     
返回地址: 00419627  函数名称: GetDlgItem(USER32.dll)
GetDlgItem: 获得指定控件的句柄
          hDlg=0x0007042C
          nIDDlgItem=0x000003E9
GetDlgItem返回值: 0x000504A2(控件的句柄)
     
返回地址: 00419634  函数名称: GetWindowTextLengthA(USER32.dll)
GetWindowTextLengthA: 调查窗口标题文字或控件内容的长短
          hWnd=0x000504A2
GetWindowTextLengthA返回值: 0x0000000C
     
返回地址: 00419648  函数名称: GetWindowTextA(USER32.dll)
GetWindowTextA: 取得一个窗体的标题文字,或者一个控件的内容
          hWnd=0x000504A2
          lpBuffer=0x00E24068
          nBufferSize=0x0000000D
          存入缓冲区中的数据: "797979797979"
GetWindowTextA返回值: 0x0000000C(文本的长度)
     
返回地址: 0041661C  函数名称: CString::CopyBeforeWrite(void)(程序内部函数)
CString::CopyBeforeWrite返回值: 0x00E240B8
     
返回地址: 0041A20C  函数名称: MessageBoxA(USER32.dll)
MessageBoxA: 信息对话框
          hWnd=0x0007042C
          lpText="注意: 密码错误!"
          lpCaption="20100610CrackMe"
          uType=0x00000000 (MB_OK|MB_APPLMODAL)
     
返回地址: 00418946  函数名称: CWnd::CenterWindow(程序内部函数)
CWnd::CenterWindow: 居中窗口
          pAlternateOwner=0x00000000
CWnd::CenterWindow返回值: 0x00000001
     
返回地址: 00419D5D  函数名称: OnMsg:WM_PAINT(程序内部函数)
OnMsg:WM_PAINT: 消息WM_PAINT的响应函数
OnMsg:WM_PAINT返回值: 0x00000000
MessageBoxA返回值: 0x00000001
     
返回地址: 0041B2A5  函数名称: SetDlgItemTextA(USER32.dll)
SetDlgItemTextA: 设置对话框控件的内容
          hDlg=0x0007042C
          nIDDlgItem=0x000003E9
          lpString=""
SetDlgItemTextA返回值: 0x00000001(NULL表示失败)
OnCommand:WM_COMMAND_0x03EA返回值: 0x00000000
2010-6-10 09:43
0
雪    币: 348
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
   想玩算法就别搞明文。。。
上传的附件:
2010-6-10 09:49
0
雪    币: 40
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我不太擅长这个,如何不用明码比较呢?把注册机发给大家吧  有人写出注册机了么?(总之,我这个CrcakMe写的还是比较失败的)
上传的附件:
2010-6-10 21:42
0
雪    币: 435
活跃值: (1282)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
16
你的算法大概是serial=f(name)的方式,serial当然会在内存里明文出现
你可以改成f1(serial)=f2(name)的方式,就不是明码比较了

至于注册机 我上面抠出来的指令放MASM里编译一下就是注册机了
2010-6-10 22:41
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
我怎么没发现有明码?   bitt说的那个不是真正关键的算法  真正的算法在这里
004015AD   .  57            push    edi
004015AE   .  8D5424 1C     lea     edx, dword ptr [esp+1C]
004015B2   .  68 E8C04200   push    0042C0E8                         ;  ASCII "%ul"
004015B7   .  52            push    edx
004015B8   .  C64424 40 02  mov     byte ptr [esp+40], 2
004015BD   .  E8 D5530100   call    00416997                         ;  关键CALL
参数有三个:1,用户名第一个与最后一个异或得X,然后12FB04向后移4*X  得参数1
                  2,42c0e8 指向x7B
                  3,12F444
这个CALL 会产生一个字符串(数字的)。字符串的第六位和第七位异或产生一个数字 A
                                        密码的第六位和第七位异或产生一个数字 B

   把12FB04(另一个算法得到)作为基址分别向后移4*A, 4*B  将结果做比较
2010-6-18 10:54
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
明文比较的确非常明显!!
2010-6-18 14:39
0
雪    币: 183
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
应该是加了壳吧,破解一下看看
2010-6-21 15:23
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
下来看看~~
2010-6-21 17:12
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
jwt3003
520093712
2010-6-21 23:23
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
admin
3707764916l

很明显里面直接显示明码
2010-6-24 09:49
0
雪    币: 13
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
用户名:123456
序列号:123456789或者1694498900
貌似有BUG啊,我测试用123456789居然也行,这下好了,有两个序列号,呵呵
2010-6-25 19:53
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
jimly
1224736879
明码比较
2010-6-25 20:32
0
雪    币: 173
活跃值: (132)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
25
Little 1375731800 附上注册机
上传的附件:
2010-7-4 00:32
0
游客
登录 | 注册 方可回帖
返回
//