首页
社区
课程
招聘
[转帖]crackme
发表于: 2011-12-20 22:06 4788

[转帖]crackme

2011-12-20 22:06
4788
原来路路游戏上的

ps:(与cm无关) 不发cm,还要图图

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 86
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
data:00403023                   ; char Serial[10]
.data:00403023 ?? ?? ?? ?? ?? ??+Serial db 0Ah dup(?)          ; DATA XREF: sub_401000+2o
.data:00403023 ?? ?? ?? ??                                     ; sub_401000+1Do
.data:00403023                                                 ; DialogFunc+6Co
.data:0040302D ??                unk_40302D db    ? ;          ; DATA XREF: sub_401000+2Co

PS:借助 serial 做溢出,就好啦.....
2011-12-21 00:28
0
雪    币: 435
活跃值: (1282)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
3
id:20252700
sn:0000000000P
这算什么 太坑爹了
上传的附件:
2011-12-21 10:46
0
雪    币: 435
活跃值: (1282)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
4
果然是16位,debug调试太蛋疼了,ida反解码出来的也不好看,下午再说吧
seg000:0041 mov ax, cs
seg000:0043 mov ds, ax
seg000:0045 assume ds:seg000
seg000:0045 mov dx, 2Dh ; '-'
seg000:0048 mov ah, 9
seg000:004A int 21h ; DOS - PRINT STRING
seg000:004A ; DS:DX -> string terminated by "$"
seg000:004C mov ax, cs
seg000:004E mov ds, ax
seg000:0050 mov dx, 203h
seg000:0053 mov ah, 0Ah
seg000:0055 int 21h ; DOS - BUFFERED KEYBOARD INPUT
seg000:0055 ; DS:DX -> buffer
seg000:0057 mov dl, 0Ah
seg000:0059 mov ah, 2
seg000:005B int 21h ; DOS - DISPLAY OUTPUT
seg000:005B ; DL = character to send to standard output
seg000:005D mov ax, cs
seg000:005F mov ds, ax
seg000:0061 mov dx, 37h ; '7'
seg000:0064 mov ah, 9
seg000:0066 int 21h ; DOS - PRINT STRING
seg000:0066 ; DS:DX -> string terminated by "$"
seg000:0068 mov ax, cs
seg000:006A mov ds, ax
seg000:006C mov dx, 219h
seg000:006F mov ah, 0Ah
seg000:0071 int 21h ; DOS - BUFFERED KEYBOARD INPUT
seg000:0071 ; DS:DX -> buffer
seg000:0073 mov dl, 0Ah
seg000:0075 mov ah, 2
seg000:0077 int 21h ; DOS - DISPLAY OUTPUT
seg000:0077 ; DL = character to send to standard output
seg000:0079 xor ax, ax
seg000:007B mov dx, 204h
seg000:007E mov bx, dx
seg000:0080 mov al, [bx]
seg000:0082 cmp ax, 8
seg000:0085 jz short loc_1008A
seg000:0087 jmp loc_1019F
seg000:008A ; ---------------------------------------------------------------------------
seg000:008A
seg000:008A loc_1008A: ; CODE XREF: start_0-14Fj
seg000:008A xor ax, ax
seg000:008C mov dx, 21Ah
seg000:008F mov bx, dx
seg000:0091 mov al, [bx]
seg000:0093 cmp ax, 9
seg000:0096 jz short loc_1009B
seg000:0098 jmp loc_1019F
seg000:009B ; ---------------------------------------------------------------------------
seg000:009B
seg000:009B loc_1009B: ; CODE XREF: start_0-13Ej
seg000:009B xor ax, ax
seg000:009D xor dx, dx
seg000:009F xor si, si
seg000:00A1 xor cx, cx
seg000:00A3
seg000:00A3 loc_100A3: ; CODE XREF: start_0-103j
seg000:00A3 mov bx, 21Bh
seg000:00A6 mov dl, [bx+si]
seg000:00A8 add dx, 30h ; '0'
seg000:00AB mov bx, 205h
seg000:00AE mov cl, [bx+si]
seg000:00B0 sub dx, cx
seg000:00B2 sub dx, 41h ; 'A'
seg000:00B5 cmp dx, 0Ah
seg000:00B8 jnb short loc_100BF
seg000:00BA cmp dx, 0
seg000:00BD jnb short loc_100C2
seg000:00BF
seg000:00BF loc_100BF: ; CODE XREF: start_0-11Cj
seg000:00BF jmp loc_1019F
seg000:00C2 ; ---------------------------------------------------------------------------
seg000:00C2
seg000:00C2 loc_100C2: ; CODE XREF: start_0-117j
seg000:00C2 mov bx, dx
seg000:00C4 mov cx, 0Ah
seg000:00C7 imul cx
seg000:00C9 add ax, bx
seg000:00CB inc si
seg000:00CC cmp si, 3
seg000:00CF jnb short loc_100D3
seg000:00D1 jmp short loc_100A3
seg000:00D3 ; ---------------------------------------------------------------------------
seg000:00D3
seg000:00D3 loc_100D3: ; CODE XREF: start_0-105j
seg000:00D3 mov cs:S123, ax
seg000:00D7 xor ax, ax
seg000:00D9 xor dx, dx
seg000:00DB xor si, si
seg000:00DD xor cx, cx
seg000:00DF
seg000:00DF loc_100DF: ; CODE XREF: start_0-C7j
seg000:00DF mov bx, 21Eh
seg000:00E2 mov dl, [bx+si]
seg000:00E4 add dx, 30h ; '0'
seg000:00E7 mov bx, 208h
seg000:00EA mov cl, [bx+si]
seg000:00EC sub dx, cx
seg000:00EE sub dx, 41h ; 'A'
seg000:00F1 cmp dx, 0Ah
seg000:00F4 jnb short loc_100FB
seg000:00F6 cmp dx, 0
seg000:00F9 jnb short loc_100FE
seg000:00FB
seg000:00FB loc_100FB: ; CODE XREF: start_0-E0j
seg000:00FB jmp loc_1019F
seg000:00FE ; ---------------------------------------------------------------------------
seg000:00FE
seg000:00FE loc_100FE: ; CODE XREF: start_0-DBj
seg000:00FE mov bx, dx
seg000:0100 mov cx, 0Ah
seg000:0103 imul cx
seg000:0105 add ax, bx
seg000:0107 inc si
seg000:0108 cmp si, 3
seg000:010B jnb short loc_1010F
seg000:010D jmp short loc_100DF
seg000:010F ; ---------------------------------------------------------------------------
seg000:010F
seg000:010F loc_1010F: ; CODE XREF: start_0-C9j
seg000:010F mov cs:S456, ax
seg000:0113 xor ax, ax
seg000:0115 xor dx, dx
seg000:0117 xor si, si
seg000:0119 xor cx, cx
seg000:011B
seg000:011B loc_1011B: ; CODE XREF: start_0-8Cj
seg000:011B mov bx, 221h
seg000:011E mov dl, [bx+si]
seg000:0120 add dx, 30h ; '0'
seg000:0123 mov bx, 20Bh
seg000:0126 mov cl, [bx+si]
seg000:0128 sub dx, cx
seg000:012A sub dx, 61h ; 'a'
seg000:012D cmp dx, 0Ah
seg000:0130 jnb short loc_10137
seg000:0132 cmp dx, 0
seg000:0135 jnb short loc_10139
seg000:0137
seg000:0137 loc_10137: ; CODE XREF: start_0-A4j
seg000:0137 jmp short loc_1019F
seg000:0139 ; ---------------------------------------------------------------------------
seg000:0139
seg000:0139 loc_10139: ; CODE XREF: start_0-9Fj
seg000:0139 mov bx, dx
seg000:013B mov cx, 0Ah
seg000:013E imul cx
seg000:0140 add ax, bx
seg000:0142 inc si
seg000:0143 cmp si, 3
seg000:0146 jnb short loc_1014A
seg000:0148 jmp short loc_1011B
seg000:014A ; ---------------------------------------------------------------------------
seg000:014A
seg000:014A loc_1014A: ; CODE XREF: start_0-8Ej
seg000:014A dec ax
seg000:014B dec ax
seg000:014C mov cs:word_101FF, ax
seg000:0150 mov ax, cs:S123
seg000:0154 mov cx, cs:S456
seg000:0159 mov bx, cs:word_101FF
seg000:015E cmp ax, cx
seg000:0160 jnb short loc_1016C
seg000:0162 cmp cx, bx
seg000:0164 jnb short loc_1016C
seg000:0166 imul cx
seg000:0168 imul bx
seg000:016A jmp short loc_1016E
seg000:016C ; ---------------------------------------------------------------------------
seg000:016C
seg000:016C loc_1016C: ; CODE XREF: start_0-74j
seg000:016C ; start_0-70j
seg000:016C jmp short loc_1019F
seg000:016E ; ---------------------------------------------------------------------------
seg000:016E
seg000:016E loc_1016E: ; CODE XREF: start_0-6Aj
seg000:016E cmp ax, 2401h
seg000:0171 jnz short loc_1019F
seg000:0173 cmp dx, 0F4h ; '?
seg000:0177 jnz short loc_1019F
seg000:0179 mov cs:byte_101F2, 52h ; 'R'
seg000:017F mov cs:byte_101F3, 69h ; 'i'
seg000:0185 mov cs:byte_101F4, 67h ; 'g'
seg000:018B mov cs:byte_101F5, 68h ; 'h'
seg000:0191 mov cs:byte_101F6, 74h ; 't'
seg000:0197 mov cs:byte_101F7, 21h ; '!'
seg000:019D jmp short loc_101C3
seg000:019F ; ---------------------------------------------------------------------------
seg000:019F
seg000:019F loc_1019F: ; CODE XREF: start_0-14Dj
seg000:019F ; start_0-13Cj ...
seg000:019F mov cs:byte_101F2, 57h ; 'W'
seg000:01A5 mov cs:byte_101F3, 72h ; 'r'
seg000:01AB mov cs:byte_101F4, 6Fh ; 'o'
seg000:01B1 mov cs:byte_101F5, 6Eh ; 'n'
seg000:01B7 mov cs:byte_101F6, 67h ; 'g'
seg000:01BD mov cs:byte_101F7, 21h ; '!'
seg000:01C3
seg000:01C3 loc_101C3: ; CODE XREF: start_0-37j
seg000:01C3 mov ax, cs
seg000:01C5 mov ds, ax
seg000:01C7 mov dx, 1F2h
seg000:01CA mov ah, 9
seg000:01CC int 21h ; DOS - PRINT STRING
seg000:01CC ; DS:DX -> string terminated by "$"
2011-12-21 12:00
0
雪    币: 435
活跃值: (1282)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
5
name:00000000
sn:BAJCCJgeA
上传的附件:
2011-12-21 14:58
0
雪    币: 435
活跃值: (1282)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
6
先说这32位的,name切成两半,都得是2000~2999中间的数字,两半各自的平方加起来,记为x
id再切成两半,前10位转10进制数字,和x异或,记为y,10位以后的用户名逐位减去‘A’的立方再加起来,和记为z
如果y=z则通过,2l将id的前十位全置零就是为了方便计算,穷举很快就能找出很多来

再说这16位的,比较麻烦
id共9位 切成三份,逐位查字母表偏移然后减去用户名(数字),分成三个数字,用户名只有8位,第九位是换行0x0d,这三个数字的积低16位0x2401,高16位为0xf4(dx),也就是16000001,穷举也很快,只有一组109-229-641按这个构造一对就行了
2011-12-21 15:28
0
游客
登录 | 注册 方可回帖
返回
//