能力值:
( LV9,RANK:530 )
|
-
-
2 楼
好像用了好几种密码学算法,看了一下最后还验证reg.txt文件,最后还是明码比较
|
能力值:
( LV9,RANK:770 )
|
-
-
3 楼
修改了一下,重新上传.
|
能力值:
( LV9,RANK:1140 )
|
-
-
4 楼
改了?
我只会搞明码耶!
|
能力值:
( LV9,RANK:770 )
|
-
-
5 楼
书生漫漫来,努力呀!
|
能力值:
( LV9,RANK:210 )
|
-
-
6 楼
|
能力值:
( LV9,RANK:770 )
|
-
-
7 楼
|
能力值:
( LV9,RANK:970 )
|
-
-
8 楼
对机器码的加密分析:
用到是类似AES加密,所有的密钥存放在0x3c26f0处
003C26F0 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
003C2700 10 11 12 13 14 15 16 17 58 46 F2 F9 5C 43 F4 FE
003C2710 54 4A FE F5 58 47 F0 FA 48 56 E2 E9 5C 43 F4 FE
003C2720 40 F9 49 B3 1C BA BD 4D 48 F0 43 B8 10 B7 B3 42
003C2730 58 E1 51 AB 04 A2 A5 55 7E FF B5 41 62 45 08 0C
003C2740 2A B5 4B B4 3A 02 F8 F6 62 E3 A9 5D 66 41 0C 08
003C2750 F5 01 85 72 97 44 8D 7E BD F1 C6 CA 87 F3 3E 3C
003C2760 E5 10 97 61 83 51 9B 69 34 15 7C 9E A3 51 F1 E0
003C2770 1E A0 37 2A 99 53 09 16 7C 43 9E 77 FF 12 05 1E
003C2780 DD 7E 0E 88 7E 2F FF 68 60 8F C8 42 F9 DC C1 54
003C2790 85 9F 5F 23 7A 8D 5A 3D C0 C0 29 52 BE EF D6 3A
003C27A0 DE 60 1E 78 27 BC DF 2C A2 23 80 0F D8 AE DA 32
003C27B0 A4 97 0A 33 1A 78 DC 09 C4 18 C2 71 E3 A4 1D 5D
一共有12轮,共13组密码
明文的表示,比如说我的机器码是:"G809JGME"
明文表示成矩阵的形势
'G' 'J' 0 0
'8' 'G' 0 0
'0' 'M' 0 0
'9' 'E' 0 0
一个4*4的矩阵
加密过程:
00411F19 6A 00 push 0
00411F1B 8B4D F8 mov ecx,dword ptr ss:[ebp-8]
00411F1E E8 DBF2FFFF call CrackMe.004111FE //异或密钥
00411F23 C745 D4 0100000>mov dword ptr ss:[ebp-2C],1
00411F2A EB 09 jmp short CrackMe.00411F35
00411F2C 8B45 D4 mov eax,dword ptr ss:[ebp-2C]
00411F2F 83C0 01 add eax,1
00411F32 8945 D4 mov dword ptr ss:[ebp-2C],eax
00411F35 8B45 F8 mov eax,dword ptr ss:[ebp-8]
00411F38 8B48 08 mov ecx,dword ptr ds:[eax+8]
00411F3B 83E9 01 sub ecx,1
00411F3E 394D D4 cmp dword ptr ss:[ebp-2C],ecx //比较,先进行11轮
00411F41 7F 26 jg short CrackMe.00411F69
00411F43 8B4D F8 mov ecx,dword ptr ss:[ebp-8]
00411F46 E8 ECF0FFFF call CrackMe.00411037 //字节代换
00411F4B 8B4D F8 mov ecx,dword ptr ss:[ebp-8]
00411F4E E8 1EF3FFFF call CrackMe.00411271 //行变换
00411F53 8B4D F8 mov ecx,dword ptr ss:[ebp-8]
00411F56 E8 B8F1FFFF call CrackMe.00411113 //列变换
00411F5B 8B45 D4 mov eax,dword ptr ss:[ebp-2C]
00411F5E 50 push eax
00411F5F 8B4D F8 mov ecx,dword ptr ss:[ebp-8]
00411F62 E8 97F2FFFF call CrackMe.004111FE //异或密钥
00411F67 ^ EB C3 jmp short CrackMe.00411F2C
00411F69 8B4D F8 mov ecx,dword ptr ss:[ebp-8]
00411F6C E8 C6F0FFFF call CrackMe.00411037 //最后一轮的字节变换
00411F71 8B4D F8 mov ecx,dword ptr ss:[ebp-8]
00411F74 E8 F8F2FFFF call CrackMe.00411271 //最后一轮行变换
00411F79 8B45 F8 mov eax,dword ptr ss:[ebp-8]
00411F7C 8B48 08 mov ecx,dword ptr ds:[eax+8]
00411F7F 51 push ecx
00411F80 8B4D F8 mov ecx,dword ptr ss:[ebp-8]
00411F83 E8 76F2FFFF call CrackMe.004111FE //最后的异或密钥,共12轮
具体的算法就不讲了,可以自己找找相关资料
|
|
|