首页
社区
课程
招聘
又一新鲜Crackme[原创]
发表于: 2006-1-25 19:10 9875

又一新鲜Crackme[原创]

2006-1-25 19:10
9875

Delphi7.0编写~~~~~~~~~~~~
终于可以上传附件了,感觉爽啊@%^%**()&(**_+_|)(


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (28)
雪    币: 243
活跃值: (190)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
2
有KEYFILE和注册表,把NAME和CODE加密了存进去了,没再细看了,呵呵
2006-1-25 19:58
0
雪    币: 247
活跃值: (135)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
终于可以上传附件了???

什么意思?
论坛不能上传附件的吗??
偶好久没来了,都落伍N久了啊。。。。。
2006-1-25 22:38
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
3楼的你不知道才注册的不能上传附件吗?忽然发现我可以上传了,一阵欣喜啊~~~~~~~~~~~~~!!!!
2006-1-26 10:36
0
雪    币: 247
活跃值: (135)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
没经历过。。。。
而且N久没来过了
2006-1-26 18:22
0
雪    币: 50161
活跃值: (20650)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
6
最初由 vlit 发布
3楼的你不知道才注册的不能上传附件吗?忽然发现我可以上传了,一阵欣喜啊~~~~~~~~~~~~~!!!!


现在降低附件上传标准了.
目前这个版块人气不行,vlit你写的几个CrackMe不错,希望常来。
2006-1-26 21:30
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢坛主的赞赏
现在放寒假,经常都可以来,开学就不好玩了
要学语文、数学、英语、物理、化学、生物,真是累啊~~~~~~~
2006-1-27 10:22
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
8
给暴破了!!!!!!!!!!1
2006-1-27 10:43
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
9
楼上的爆了也发个截图上来,只用了静态分析?
2006-1-27 10:59
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
10
00454260  |.  50              push eax
00454261  |.  B9 98434500     mov ecx,crackme1.00454398                    ;  ASCII "myserial"
00454266  |.  BA AC434500     mov edx,crackme1.004543AC                    ;  ASCII "serial"
0045426B  |.  8BC3            mov eax,ebx
0045426D  |.  8B18            mov ebx,dword ptr ds:[eax]
0045426F  |.  FF13            call dword ptr ds:[ebx]
00454271  |.  8B95 48FFFFFF   mov edx,dword ptr ss:[ebp-B8]
00454277  |.  58              pop eax
00454278  |.  E8 9FFFFAFF     call crackme1.0040421C
0045427D      74 58           jne short crackme1.004542D7  //暴破点
2006-1-27 14:58
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
11
楼上的真厉害`~~~~~~~~~~~~~~~~~~~~~~
下次再做的时候一定把字符串全部加密
2006-1-27 20:18
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
12
还没有具体分析呢.
2006-1-28 08:10
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
13
楼上的给点意见吧~~~~~~
比如建议我怎么改进
2006-1-28 11:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我也有找到爆破点(用dede在procedures中点选events中的formcreate)
就可以看到vlit的crackme 爆破点

但是可不可以用name反算注册码吗
蛮想找出注册码^^
2006-1-31 10:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
试了一下!
2006-1-31 18:30
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wsj
16
最初由 scihkkimo 发布
我也有找到爆破点(用dede在procedures中点选events中的formcreate)
就可以看到vlit的crackme 爆破点

但是可不可以用name反算注册码吗
蛮想找出注册码^^


yes...

just be careful,you can find it.
give u a real work sn:
user:11111111
pass:66666666

It's a good gift,thx,vlit!
2006-2-1 00:28
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17

这样算是成功了吗?
2006-2-12 14:06
0
雪    币: 370
活跃值: (78)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
18
最初由 wsj 发布


yes...

just be careful,you can find it.
........

其实你所讲的不对,因为这个程序的注册号不识别数字,才会出现那种情况。
user:111111
serial:111111,222222,333333,444444都行。
程序的大体流程是:
输入user和serial后,把他们每个字符xor 0x0a33后,保存到ierncv中。
在程序启动的时候验证。验证过程,只变换了从文件中读入user,再和从文件中读入的serial比较,一样的话则注册通过。
最关键的一个CALL如下:
00453A34  /$  55            push    ebp
00453A35  |.  8BEC          mov     ebp, esp
00453A37  |.  51            push    ecx
00453A38  |.  53            push    ebx
00453A39  |.  56            push    esi
00453A3A  |.  57            push    edi
00453A3B  |.  8BFA          mov     edi, edx
00453A3D  |.  8945 FC       mov     [ebp-4], eax
00453A40  |.  8B45 FC       mov     eax, [ebp-4]
00453A43  |.  E8 7808FBFF   call    004042C0
00453A48  |.  33C0          xor     eax, eax
00453A4A  |.  55            push    ebp
00453A4B  |.  68 5F3B4500   push    00453B5F
00453A50  |.  64:FF30       push    dword ptr fs:[eax]
00453A53  |.  64:8920       mov     fs:[eax], esp
00453A56  |.  8B45 FC       mov     eax, [ebp-4]
00453A59  |.  E8 7206FBFF   call    004040D0
00453A5E  |.  8BF0          mov     esi, eax
00453A60  |.  85F6          test    esi, esi
00453A62  |.  7E 22         jle     short 00453A86
00453A64  |.  BB 01000000   mov     ebx, 1
00453A69  |>  8D45 FC       /lea     eax, [ebp-4]
00453A6C  |.  E8 B708FBFF   |call    00404328
00453A71  |.  8B55 FC       |mov     edx, [ebp-4]
00453A74  |.  0FB6541A FF   |movzx   edx, byte ptr [edx+ebx-1]
00453A79  |.  66:81F2 3B02  |xor     dx, 23B
00453A7E  |.  885418 FF     |mov     [eax+ebx-1], dl  //user都每一个BYTE XOR 23B再保存
00453A82  |.  43            |inc     ebx
00453A83  |.  4E            |dec     esi
00453A84  |.^ 75 E3         \jnz     short 00453A69
00453A86  |>  8B45 FC       mov     eax, [ebp-4]
00453A89  |.  E8 4206FBFF   call    004040D0
00453A8E  |.  8BF0          mov     esi, eax
00453A90  |.  85F6          test    esi, esi
00453A92  |.  7E 22         jle     short 00453AB6
00453A94  |.  BB 01000000   mov     ebx, 1
00453A99  |>  8D45 FC       /lea     eax, [ebp-4]
00453A9C  |.  E8 8708FBFF   |call    00404328
00453AA1  |.  8B55 FC       |mov     edx, [ebp-4]
00453AA4  |.  0FB6541A FF   |movzx   edx, byte ptr [edx+ebx-1]
00453AA9  |.  66:81F2 3101  |xor     dx, 131  
00453AAE  |.  885418 FF     |mov     [eax+ebx-1], dl  //user都每一个BYTE XOR 131再保存
00453AB2  |.  43            |inc     ebx
00453AB3  |.  4E            |dec     esi
00453AB4  |.^ 75 E3         \jnz     short 00453A99
00453AB6  |>  8B45 FC       mov     eax, [ebp-4]
00453AB9  |.  E8 1206FBFF   call    004040D0
00453ABE  |.  8BF0          mov     esi, eax
00453AC0  |.  85F6          test    esi, esi
00453AC2  |.  7E 20         jle     short 00453AE4
00453AC4  |.  BB 01000000   mov     ebx, 1
00453AC9  |>  8D45 FC       /lea     eax, [ebp-4]
00453ACC  |.  E8 5708FBFF   |call    00404328
00453AD1  |.  8B55 FC       |mov     edx, [ebp-4]
00453AD4  |.  0FB6541A FF   |movzx   edx, byte ptr [edx+ebx-1]
00453AD9  |.  83C2 35       |add     edx, 35  
00453ADC  |.  885418 FF     |mov     [eax+ebx-1], dl  //user都每一个BYTE ADD 35再保存
00453AE0  |.  43            |inc     ebx
00453AE1  |.  4E            |dec     esi
00453AE2  |.^ 75 E5         \jnz     short 00453AC9
00453AE4  |>  8B45 FC       mov     eax, [ebp-4]
00453AE7  |.  E8 E405FBFF   call    004040D0
00453AEC  |.  8BF0          mov     esi, eax
00453AEE  |.  85F6          test    esi, esi
00453AF0  |.  7E 1F         jle     short 00453B11
00453AF2  |.  BB 01000000   mov     ebx, 1
00453AF7  |>  8D45 FC       /lea     eax, [ebp-4]
00453AFA  |.  E8 2908FBFF   |call    00404328
00453AFF  |.  8B55 FC       |mov     edx, [ebp-4]
00453B02  |.  8A541A FF     |mov     dl, [edx+ebx-1]
00453B06  |.  80F2 21       |xor     dl, 21
00453B09  |.  885418 FF     |mov     [eax+ebx-1], dl  //user都每一个BYTE XOR 21再保存
00453B0D  |.  43            |inc     ebx
00453B0E  |.  4E            |dec     esi
00453B0F  |.^ 75 E6         \jnz     short 00453AF7
00453B11  |>  8B45 FC       mov     eax, [ebp-4]
00453B14  |.  E8 B705FBFF   call    004040D0
00453B19  |.  8BF0          mov     esi, eax
00453B1B  |.  85F6          test    esi, esi
00453B1D  |.  7E 20         jle     short 00453B3F
00453B1F  |.  BB 01000000   mov     ebx, 1
00453B24  |>  8D45 FC       /lea     eax, [ebp-4]
00453B27  |.  E8 FC07FBFF   |call    00404328
00453B2C  |.  8B55 FC       |mov     edx, [ebp-4]
00453B2F  |.  0FB6541A FF   |movzx   edx, byte ptr [edx+ebx-1]
00453B34  |.  83EA 17       |sub     edx, 17
00453B37  |.  885418 FF     |mov     [eax+ebx-1], dl  //user都每一个BYTE 减去 17再保存
00453B3B  |.  43            |inc     ebx
00453B3C  |.  4E            |dec     esi
00453B3D  |.^ 75 E5         \jnz     short 00453B24
00453B3F  |>  8BC7          mov     eax, edi
00453B41  |.  8B55 FC       mov     edx, [ebp-4]
00453B44  |.  E8 1B03FBFF   call    00403E64
00453B49  |.  33C0          xor     eax, eax
00453B4B  |.  5A            pop     edx
00453B4C  |.  59            pop     ecx
00453B4D  |.  59            pop     ecx
00453B4E  |.  64:8910       mov     fs:[eax], edx
00453B51  |.  68 663B4500   push    00453B66
00453B56  |>  8D45 FC       lea     eax, [ebp-4]
00453B59  |.  E8 B202FBFF   call    00403E10
00453B5E  \.  C3            retn
可以看出从文件中读出的user经过了上边的几个变换。返回后再和读入的SERAIL进行比较。
2006-2-12 14:33
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
19
程序的大体流程是:
输入user和serial后,把他们每个字符xor 0x0a33后,保存到ierncv中。
在程序启动的时候验证。验证过程,只变换了从文件中读入user,再和从文件中读入的serial比较,一样的话则注册通过。

楼上的真厉害,程序剖析得真清楚啊~~~
加密的过程是这样的,
Function EncryptString(s:string):string;
var
  i: integer;
begin
  for i := 1 to length(s) do
    s[i] := chr(ord(s[i]) xor 一数字)
end;
数字是多少我忘了.....
------------>>>>>其实你所讲的不对,因为这个程序的注册号不识别数字,才会出现那种情况。
为什么数字不能识别???
2006-2-12 15:03
0
雪    币: 370
活跃值: (78)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
20
最初由 vlit 发布
程序的大体流程是:
输入user和serial后,把他们每个字符xor 0x0a33后,保存到ierncv中。
在程序启动的时候验证。验证过程,只变换了从文件中读入user,再和从文件中读入的serial比较,一样的话则注册通过。


........

我是这样想的,不知道对不对!
对于数字'1'-'9',xor 0x0a33后,变成了一个非字符的字节。用GetPrivateProfileString话,当然得不到应该的字符串。我是跟踪这个api,发现如果全是数字的话,call GetPrivateProfileString后,eax为0,也就是返回值为0,就是说读取的字符个数为0了。
2006-2-12 17:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
做做看,呵呵。
2006-2-12 20:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
是啊。
  BBS越来越好了。。。
2006-2-16 12:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
学习中,
希望楼上的大虾们说的尽量简单点,因为你说的一点小技巧可能让我这种菜鸟找上一个下午,甚至1天
2006-2-17 20:57
0
雪    币: 200
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
O还不能!555555
2006-2-19 10:31
0
雪    币: 424
活跃值: (3503)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
25
支持!学习!
2006-2-21 14:23
0
游客
登录 | 注册 方可回帖
返回
//