首页
社区
课程
招聘
[原创]一个新奇好玩的CrackMe
发表于: 2011-5-16 21:02 11079

[原创]一个新奇好玩的CrackMe

2011-5-16 21:02
11079
加入了自己对反破解的一点新创意,保证你没见过,难度么,就看你的了。

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (21)
雪    币: 967
活跃值: (1138)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
2011-5-16 21:14
0
雪    币: 517
活跃值: (64)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
我拼啊拼 拼啊拼
2011-5-17 08:46
0
雪    币: 242
活跃值: (473)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
4
又来了 /:^|
等大S表演:
ida sub_757511F0(HWND hDlg)
user 12或更短 len Str
pass 16 len Str

u0代表user从0开始4个字符按内存中的顺序作为32bits的数字
u4代表index为4~7的4个字符。
(
(u0+ 0F8C9FCFCh)* 8741037Ch
- (u8+ 33FCD9Ah)* 18F0F839h
+ (u4+ 0F774DC0Ah)* 777F934Bh
)
* 2+ 1;

pass的:
pass里的16个字节,通过查表发转换ASCII成64bits大小的16进制数字NewNumFromPass

然后有,
NewNumFromPass mod 0xFF89CD97= edx; 而call过去的字节照着32bits、32bits的列出来依次为:
0xED418856+ edx
0x0209E92F
0xedx

压入的堆栈是
esp+ 00 指针指向NewNumFromPass  
esp+ 04 指针指向user计算出来的
esp+ 08 指针指向API MessageBoxW

又饿又晕了不知道对不对,先回老家吃饭。再mark,晚上接着看...
2011-5-17 09:20
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
你这东西似乎有点难:

7575125D  PUSH 20                                       ; /Count = 20 (32.)
7575125F  LEA EAX,DWORD PTR SS:[EBP-4C]                 ; |
75751262  PUSH EAX                                      ; |Buffer
75751263  PUSH 3E9                                      ; |ControlID = 3E9 (1001.)
75751268  PUSH EDI                                      ; |hWnd
75751269  MOV ESI,DWORD PTR DS:[<&USER32.GetDlgItemText>; |USER32.GetDlgItemTextA
7575126F  CALL NEAR ESI                                 ; \读取注册名
75751271  PUSH 20                                       ; /Count = 20 (32.)
75751273  LEA ECX,DWORD PTR SS:[EBP-6C]                 ; |
75751276  PUSH ECX                                      ; |Buffer
75751277  PUSH 3EA                                      ; |ControlID = 3EA (1002.)
7575127C  PUSH EDI                                      ; |hWnd
7575127D  CALL NEAR ESI                                 ; \读取注册码
7575127F  LEA EAX,DWORD PTR SS:[EBP-4C]                 ;  指向注册码名
75751282  LEA EDX,DWORD PTR DS:[EAX+1]
75751285  MOV CL,BYTE PTR DS:[EAX]
75751287  INC EAX
75751288  CMP CL,BL
7575128A  JNZ SHORT CrackMe.75751285
7575128C  SUB EAX,EDX                                   ;  计算注册名长度
7575128E  ADD EAX,-4                                    ;  长度-4
75751291  CMP EAX,8                                     ;  结果与8比较
75751294  JA CrackMe.75751341                           ;  大于则跳--注册名不能长于12位
7575129A  LEA EAX,DWORD PTR SS:[EBP-6C]                 ;  指向注册码
7575129D  LEA EDX,DWORD PTR DS:[EAX+1]
757512A0  MOV CL,BYTE PTR DS:[EAX]
757512A2  INC EAX
757512A3  CMP CL,BL
757512A5  JNZ SHORT CrackMe.757512A0
757512A7  SUB EAX,EDX                                   ;  计算长度
757512A9  CMP EAX,10                                    ;  长度与16比较
757512AC  JNZ CrackMe.75751341                          ;  不等则跳--注册码恰好要16位
757512B2  MOV EDX,DWORD PTR SS:[EBP-44]                 ;  读取注册名第三段
757512B5  ADD EDX,33FCD9A
757512BB  IMUL EDX,EDX,18F0F839
757512C1  MOV EAX,DWORD PTR SS:[EBP-4C]                 ;  读取注册名第一段
757512C4  ADD EAX,F8C9FCFC
757512C9  IMUL EAX,EAX,8741037C
757512CF  SUB EAX,EDX
757512D1  MOV ECX,DWORD PTR SS:[EBP-48]                 ;  读取注册名第二段
757512D4  ADD ECX,F774DC0A
757512DA  IMUL ECX,ECX,777F934B
757512E0  ADD EAX,ECX
757512E2  MOV DWORD PTR SS:[EBP-4C],EAX                 ;  暂存结果
757512E5  LEA EDX,DWORD PTR DS:[EAX+EAX+1]              ;  结果*2+1
757512E9  MOV DWORD PTR SS:[EBP-4C],EDX                 ;  保存结果FDE4CD37
757512EC  LEA EAX,DWORD PTR SS:[EBP-6C]                 ;  注册码
757512EF  LEA ECX,DWORD PTR SS:[EBP-2C]                 ;  准备保存的位置
757512F2  CALL CrackMe.75751100                         ;  注册码转化为整数
757512F7  LEA ESI,DWORD PTR SS:[EBP-2C]                 ;  结果位置
757512FA  MOV EAX,DWORD PTR DS:[ESI]                    ;  读取第一段
757512FC  MOV EDX,DWORD PTR DS:[ESI+4]                  ;  读取第二段
757512FF  MOV ECX,FF89CD97
75751304  DIV ECX                                       ;  结果 mod FF89CD97=DE670F08
75751306  MOV DWORD PTR SS:[EBP-1C],EDX                 ;  保存余数
75751309  LEA EAX,DWORD PTR DS:[209E92F]                ;  0209E92F
7575130F  MOV DWORD PTR SS:[EBP-20],EAX                 ;  0209E92F
75751312  MOV EAX,DWORD PTR SS:[EBP-20]                 ;  0209E92F
75751315  MOV ECX,DWORD PTR SS:[EBP-1C]                 ;  保存的余数
75751318  LEA EDX,DWORD PTR DS:[EAX+ECX+EB379F27]       ;  两数据相加
7575131F  MOV DWORD PTR SS:[EBP-24],EDX                 ;  保存结果
75751322  PUSH DWORD PTR DS:[<&USER32.MessageBoxW>]     ;  USER32.MessageBoxW
75751328  LEA EAX,DWORD PTR SS:[EBP-2C]                 ;  注册码转化结果位置
7575132B  PUSH EAX
7575132C  LEA EAX,DWORD PTR SS:[EBP-4C]                 ;  注册名计算结果位置
7575132F  PUSH EAX
75751330  CALL NEAR DWORD PTR SS:[EBP-24]               ;  以和作为调用地址显示消息盒?
2011-5-17 10:14
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
6
没墨水没算学只能这样
Name = VXAXSSVWSP妹
SN   = 350E66AC00005F3A
上传的附件:
  • 1.JPG (12.46kb,284次下载)
2011-5-17 12:18
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
拜模S神啊。
2011-5-17 12:20
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
8
外星人很久没来了
莫非....
2011-5-17 12:24
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
错的.巧合,并非我意.还请继续努力
2011-5-17 13:22
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
10
我知道非你意, 硬上的.
你这应该也是要用SMC吧? stack里执行的那种.
2011-5-17 13:35
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
11
受一楼的文 想太多了
你是要到 7575AC57
我觉得我6楼那个比较有创意
上传的附件:
  • 1.JPG (11.55kb,268次下载)
2011-5-17 14:01
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
smc太过强悍.这里没有用上
2011-5-17 14:05
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
看来单纯加密—个函数地址没啥强度啊
2011-5-17 14:23
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
14
别管那个了.
你教我解3次方根好不好 ?

DWord (sn div FF89CD97)^3 = 4E3CCD95

谢谢
2011-5-17 14:29
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
15
穷举大法好:)
上传的附件:
2011-5-17 14:29
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
膜拜啊。。速度很快
2011-5-17 14:31
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
17
ccc这个好用

你要不要去猜他的 CM2 的第2层 SMC ?
2011-5-17 14:36
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
18
俺只会穷举,目前手里没量子计算机,还玩不起64位穷举
2011-5-17 14:39
0
雪    币: 695
活跃值: (25)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
19
能把ccfer神牛炸出来,真不容易啊
2011-5-17 15:48
0
雪    币: 125
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
20
膜拜众仙
2011-5-17 21:32
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
尝试下,玩玩.
2011-5-18 16:04
0
雪    币: 119
活跃值: (10)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
22
膜拜,无论如何也想不出7575AC57是怎么得到的~~~
2011-5-21 00:17
0
游客
登录 | 注册 方可回帖
返回
//