能力值:
( LV2,RANK:10 )
|
-
-
26 楼
用OD 调试就死机,装了两个OD,都当机.......
|
能力值:
( LV12,RANK:210 )
|
-
-
27 楼
那就是你OD问题啊
|
能力值:
( LV12,RANK:210 )
|
-
-
28 楼
哎 自己构造代码 够麻烦的啊
|
能力值:
( LV4,RANK:50 )
|
-
-
29 楼
如果有一个已知的正确注册码,这类CrackMe的难度就大大降低了。
(很多要PJ的软件往往也能得到一个正确的KEY)
|
能力值:
( LV12,RANK:210 )
|
-
-
30 楼
现在已经有了一个正确的KEY了 我猜不出来第二个呢....
|
能力值:
( LV2,RANK:10 )
|
-
-
31 楼
看不懂大师写的,
”首先可以确定解码后的最后一位是0 并且之前的8位应该都是小写字母 根据这个条件可以确定密码的长度只可能为10 11 13 14 15 “
这个结果怎么来的不知道,我只知道密码是以0结尾的,包括结尾0的最长15字节的字符串,就这么多了,后面是不是该用暴力了?
|
能力值:
( LV2,RANK:10 )
|
-
-
32 楼
“首先可以确定解码后的最后一位是0...”
这个想明白了,因为最后eax 要等于6DB6D800,而这个值是shl eax, 3左移3位以后的值,将eax右移三位再取低8位((eax >> 3) & 0xFF),就是最后那个字节解码后的值,为0x00。依次往前推,可以推出前面还有几个字母。下班了,回家推导去。
吃完饭了,继续。
”并且之前的8位应该都是小写字母...“
我把每一步都详细列出来了:
代码:
0040103B |> 8A86 10304000 /mov al, byte ptr [esi+403010]
00401041 |. 02C3 |add al, bl
00401043 |. 3283 00304000 |xor al, byte ptr [ebx+403000]
00401049 |. 88043E |mov byte ptr [esi+edi], al
0040104C |. C1E0 03 |shl eax, 3
......这里没有往eax中写入,所以都忽略了......
00401064 |> 83FE 49 |cmp esi, 49
00401067 |.^ 75 D2 \jnz short 0040103B
00401069 |. 3D 00D8B66D cmp eax, 6DB6D800
也就是说所有的0x50个都生成了之后eax=6DB6D800。每次先将eax右移3位,然后取其al就是解码后的值,由于每次al都赋有新的值,所以用XXXX XXXX代替。
6 D B 6 D 8 0 0 al
0110 1101 1011 0110 1101 1000 0000 0000
XXX0 1101 1011 0110 1101 1011 0000 0000 =>0x00 最后一个[0]
XXX0 1101 1011 0110 1101 1011 XXXX XXXX 上一次eax值
XXXX XX01 1011 0110 1101 1011 011X XXXX =>0x6X - 0x7X [-1]
XXXX XX01 1011 0110 1101 1011 XXXX XXXX
XXXX XXXX X011 0110 1101 1011 011X XXXX =>0x6X - 0x7X [-2]
XXXX XXXX X011 0110 1101 1011 XXXX XXXX
XXXX XXXX XXXX 0110 1101 1011 011X XXXX =>0x6X - 0x7X [-3]
XXXX XXXX XXXX 0110 1101 1011 XXXX XXXX
XXXX XXXX XXXX XXX0 1101 1011 011X XXXX =>0x6X - 0x7X [-4]
XXXX XXXX XXXX XXX0 1101 1011 XXXX XXXX
XXXX XXXX XXXX XXXX XX01 1011 011X XXXX =>0x6X - 0x7X [-5]
XXXX XXXX XXXX XXXX XX01 1011 XXXX XXXX
XXXX XXXX XXXX XXXX XXXX X011 011X XXXX =>0x6X - 0x7X [-6]
XXXX XXXX XXXX XXXX XXXX X011 XXXX XXXX
XXXX XXXX XXXX XXXX XXXX XXXX 011X XXXX =>0x6X - 0x7X [-7]
呵呵,我只能推出最后8个中7个是小写字母,最后1个是0。
再往下还没想出来。
再结合汇编代码,只能推出密码的可能长度是7-15字节。然后就卡壳了。
|
|
|