009327A0 /$ 53 PUSH EBX
009327A1 |. 55 PUSH EBP
009327A2 |. 56 PUSH ESI
009327A3 |. 8BF0 MOV ESI,EAX
009327A5 |. 8B56 04 MOV EDX,DWORD PTR DS:[ESI+4]
009327A8 |. 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10] ; yo3.009331A3
009327AC |. 57 PUSH EDI
009327AD |. 8B3E MOV EDI,DWORD PTR DS:[ESI]
009327AF |. 8B4F 44 MOV ECX,DWORD PTR DS:[EDI+44]
009327B2 |. 3308 XOR ECX,DWORD PTR DS:[EAX]
009327B4 |. 8BC1 MOV EAX,ECX
009327B6 |. C1E8 10 SHR EAX,10
009327B9 |. 25 FF000000 AND EAX,0FF
009327BE |. 8B8482 00040000 MOV EAX,DWORD PTR DS:[EDX+EAX*4+400]
009327C5 |. 8BD9 MOV EBX,ECX
009327C7 |. C1EB 18 SHR EBX,18
009327CA |. 03049A ADD EAX,DWORD PTR DS:[EDX+EBX*4]
009327CD |. 8BD9 MOV EBX,ECX
009327CF |. C1EB 08 SHR EBX,8
009327D2 |. 81E3 FF000000 AND EBX,0FF
009327D8 |. 33849A 00080000 XOR EAX,DWORD PTR DS:[EDX+EBX*4+800]
009327DF |. 8BD9 MOV EBX,ECX
009327E1 |. 81E3 FF000000 AND EBX,0FF
009327E7 |. 03849A 000C0000 ADD EAX,DWORD PTR DS:[EDX+EBX*4+C00]
009327EE |. 8B5C24 18 MOV EBX,DWORD PTR SS:[ESP+18]
009327F2 |. 3347 40 XOR EAX,DWORD PTR DS:[EDI+40]
009327F5 |. 3303 XOR EAX,DWORD PTR DS:[EBX]
009327F7 |. 8BD8 MOV EBX,EAX
009327F9 |. C1EB 10 SHR EBX,10
009327FC |. 81E3 FF000000 AND EBX,0FF
00932802 |. 8B9C9A 00040000 MOV EBX,DWORD PTR DS:[EDX+EBX*4+400]
00932809 |. 8BE8 MOV EBP,EAX
0093280B |. C1ED 18 SHR EBP,18
0093280E |. 031CAA ADD EBX,DWORD PTR DS:[EDX+EBP*4]
00932811 |. 8BE8 MOV EBP,EAX
00932813 |. C1ED 08 SHR EBP,8
00932816 |. 81E5 FF000000 AND EBP,0FF
0093281C |. 339CAA 00080000 XOR EBX,DWORD PTR DS:[EDX+EBP*4+800]
00932823 |. 8BE8 MOV EBP,EAX
00932825 |. 81E5 FF000000 AND EBP,0FF
0093282B |. 039CAA 000C0000 ADD EBX,DWORD PTR DS:[EDX+EBP*4+C00]
00932832 |. 335F 3C XOR EBX,DWORD PTR DS:[EDI+3C]
00932835 |. 33CB XOR ECX,EBX
00932837 |. 8BD9 MOV EBX,ECX
00932839 |. C1EB 10 SHR EBX,10
0093283C |. 81E3 FF000000 AND EBX,0FF
00932842 |. 8B9C9A 00040000 MOV EBX,DWORD PTR DS:[EDX+EBX*4+400]
00932849 |. 8BE9 MOV EBP,ECX
0093284B |. C1ED 18 SHR EBP,18
0093284E |. 031CAA ADD EBX,DWORD PTR DS:[EDX+EBP*4]
00932851 |. 8BE9 MOV EBP,ECX
00932853 |. C1ED 08 SHR EBP,8
00932856 |. 81E5 FF000000 AND EBP,0FF
0093285C |. 339CAA 00080000 XOR EBX,DWORD PTR DS:[EDX+EBP*4+800]
00932863 |. 8BE9 MOV EBP,ECX
00932865 |. 81E5 FF000000 AND EBP,0FF
0093286B |. 039CAA 000C0000 ADD EBX,DWORD PTR DS:[EDX+EBP*4+C00]
00932872 |. 335F 38 XOR EBX,DWORD PTR DS:[EDI+38]
00932875 |. 33C3 XOR EAX,EBX
00932877 |. 8BD8 MOV EBX,EAX
00932879 |. C1EB 10 SHR EBX,10
0093287C |. 81E3 FF000000 AND EBX,0FF
00932882 |. 8B9C9A 00040000 MOV EBX,DWORD PTR DS:[EDX+EBX*4+400]
00932889 |. 8BE8 MOV EBP,EAX
0093288B |. C1ED 18 SHR EBP,18
0093288E |. 031CAA ADD EBX,DWORD PTR DS:[EDX+EBP*4]
00932891 |. 8BE8 MOV EBP,EAX
00932893 |. C1ED 08 SHR EBP,8
00932896 |. 81E5 FF000000 AND EBP,0FF
0093289C |. 339CAA 00080000 XOR EBX,DWORD PTR DS:[EDX+EBP*4+800]
009328A3 |. 8BE8 MOV EBP,EAX
009328A5 |. 81E5 FF000000 AND EBP,0FF
009328AB |. 039CAA 000C0000 ADD EBX,DWORD PTR DS:[EDX+EBP*4+C00]
009328B2 |. 335F 34 XOR EBX,DWORD PTR DS:[EDI+34]
009328B5 |. 33CB XOR ECX,EBX
009328B7 |. 8BD9 MOV EBX,ECX
009328B9 |. C1EB 10 SHR EBX,10
009328BC |. 81E3 FF000000 AND EBX,0FF
009328C2 |. 8B9C9A 00040000 MOV EBX,DWORD PTR DS:[EDX+EBX*4+400]
009328C9 |. 8BE9 MOV EBP,ECX
009328CB |. C1ED 18 SHR EBP,18
009328CE |. 031CAA ADD EBX,DWORD PTR DS:[EDX+EBP*4]
009328D1 |. 8BE9 MOV EBP,ECX
009328D3 |. C1ED 08 SHR EBP,8
009328D6 |. 81E5 FF000000 AND EBP,0FF
009328DC |. 339CAA 00080000 XOR EBX,DWORD PTR DS:[EDX+EBP*4+800]
009328E3 |. 8BE9 MOV EBP,ECX
009328E5 |. 81E5 FF000000 AND EBP,0FF
009328EB |. 039CAA 000C0000 ADD EBX,DWORD PTR DS:[EDX+EBP*4+C00]
009328F2 |. 8BF2 MOV ESI,EDX
009328F4 |. 335F 30 XOR EBX,DWORD PTR DS:[EDI+30]
009328F7 |. 33C3 XOR EAX,EBX
009328F9 |. 8BD8 MOV EBX,EAX
009328FB |. C1EB 10 SHR EBX,10
009328FE |. 81E3 FF000000 AND EBX,0FF
00932904 |. 8B9C9A 00040000 MOV EBX,DWORD PTR DS:[EDX+EBX*4+400]
0093290B |. 8BE8 MOV EBP,EAX
0093290D |. C1ED 18 SHR EBP,18
00932910 |. 031CAA ADD EBX,DWORD PTR DS:[EDX+EBP*4]
00932913 |. 8BE8 MOV EBP,EAX
00932915 |. C1ED 08 SHR EBP,8
00932918 |. 81E5 FF000000 AND EBP,0FF
0093291E |. 339CAA 00080000 XOR EBX,DWORD PTR DS:[EDX+EBP*4+800]
00932925 |. 8BE8 MOV EBP,EAX
00932927 |. 81E5 FF000000 AND EBP,0FF
0093292D |. 039CAA 000C0000 ADD EBX,DWORD PTR DS:[EDX+EBP*4+C00]
00932934 |. 335F 2C XOR EBX,DWORD PTR DS:[EDI+2C]
00932937 |. 33CB XOR ECX,EBX
00932939 |. 8BD9 MOV EBX,ECX
0093293B |. C1EB 10 SHR EBX,10
0093293E |. 81E3 FF000000 AND EBX,0FF
00932944 |. 8B9C9A 00040000 MOV EBX,DWORD PTR DS:[EDX+EBX*4+400]
0093294B |. 8BE9 MOV EBP,ECX
0093294D |. C1ED 18 SHR EBP,18
00932950 |. 031CAA ADD EBX,DWORD PTR DS:[EDX+EBP*4]
00932953 |. 8BE9 MOV EBP,ECX
00932955 |. C1ED 08 SHR EBP,8
00932958 |. 81E5 FF000000 AND EBP,0FF
0093295E |. 339CAA 00080000 XOR EBX,DWORD PTR DS:[EDX+EBP*4+800]
00932965 |. 8BE9 MOV EBP,ECX
00932967 |. 81E5 FF000000 AND EBP,0FF
0093296D |. 039CAA 000C0000 ADD EBX,DWORD PTR DS:[EDX+EBP*4+C00]
00932974 |. 335F 28 XOR EBX,DWORD PTR DS:[EDI+28]
00932977 |. 33C3 XOR EAX,EBX
00932979 |. 8BD8 MOV EBX,EAX
0093297B |. C1EB 10 SHR EBX,10
0093297E |. 81E3 FF000000 AND EBX,0FF
00932984 |. 8B9C9A 00040000 MOV EBX,DWORD PTR DS:[EDX+EBX*4+400]
0093298B |. 8BE8 MOV EBP,EAX
0093298D |. C1ED 18 SHR EBP,18
00932990 |. 031CAA ADD EBX,DWORD PTR DS:[EDX+EBP*4]
00932993 |. 8BE8 MOV EBP,EAX
00932995 |. C1ED 08 SHR EBP,8
00932998 |. 81E5 FF000000 AND EBP,0FF
0093299E |. 339CAA 00080000 XOR EBX,DWORD PTR DS:[EDX+EBP*4+800]
009329A5 |. 8BE8 MOV EBP,EAX
009329A7 |. 81E5 FF000000 AND EBP,0FF
009329AD |. 039CAA 000C0000 ADD EBX,DWORD PTR DS:[EDX+EBP*4+C00]
009329B4 |. 335F 24 XOR EBX,DWORD PTR DS:[EDI+24]
009329B7 |. 33CB XOR ECX,EBX
009329B9 |. 8BD9 MOV EBX,ECX
009329BB |. C1EB 10 SHR EBX,10
009329BE |. 81E3 FF000000 AND EBX,0FF
009329C4 |. 8B9C9A 00040000 MOV EBX,DWORD PTR DS:[EDX+EBX*4+400]
009329CB |. 8BE9 MOV EBP,ECX
009329CD |. C1ED 18 SHR EBP,18
009329D0 |. 031CAA ADD EBX,DWORD PTR DS:[EDX+EBP*4]
009329D3 |. 8BD1 MOV EDX,ECX
009329D5 |. C1EA 08 SHR EDX,8
009329D8 |. 81E2 FF000000 AND EDX,0FF
009329DE |. 339C96 00080000 XOR EBX,DWORD PTR DS:[ESI+EDX*4+800]
009329E5 |. 8BD1 MOV EDX,ECX
009329E7 |. 81E2 FF000000 AND EDX,0FF
009329ED |. 039C96 000C0000 ADD EBX,DWORD PTR DS:[ESI+EDX*4+C00]
009329F4 |. 335F 20 XOR EBX,DWORD PTR DS:[EDI+20]
009329F7 |. 33C3 XOR EAX,EBX
009329F9 |. 8BD0 MOV EDX,EAX
009329FB |. C1EA 10 SHR EDX,10
009329FE |. 81E2 FF000000 AND EDX,0FF
00932A04 |. 8B9496 00040000 MOV EDX,DWORD PTR DS:[ESI+EDX*4+400]
00932A0B |. 8BD8 MOV EBX,EAX
00932A0D |. C1EB 18 SHR EBX,18
00932A10 |. 03149E ADD EDX,DWORD PTR DS:[ESI+EBX*4]
00932A13 |. 8BD8 MOV EBX,EAX
00932A15 |. C1EB 08 SHR EBX,8
00932A18 |. 81E3 FF000000 AND EBX,0FF
00932A1E |. 33949E 00080000 XOR EDX,DWORD PTR DS:[ESI+EBX*4+800]
00932A25 |. 8BD8 MOV EBX,EAX
00932A27 |. 81E3 FF000000 AND EBX,0FF
00932A2D |. 03949E 000C0000 ADD EDX,DWORD PTR DS:[ESI+EBX*4+C00]
00932A34 |. 3357 1C XOR EDX,DWORD PTR DS:[EDI+1C]
00932A37 |. 33CA XOR ECX,EDX
00932A39 |. 8BD1 MOV EDX,ECX
00932A3B |. C1EA 10 SHR EDX,10
00932A3E |. 81E2 FF000000 AND EDX,0FF
00932A44 |. 8B9496 00040000 MOV EDX,DWORD PTR DS:[ESI+EDX*4+400]
00932A4B |. 8BD9 MOV EBX,ECX
00932A4D |. C1EB 18 SHR EBX,18
00932A50 |. 03149E ADD EDX,DWORD PTR DS:[ESI+EBX*4]
00932A53 |. 8BD9 MOV EBX,ECX
00932A55 |. C1EB 08 SHR EBX,8
00932A58 |. 81E3 FF000000 AND EBX,0FF
00932A5E |. 33949E 00080000 XOR EDX,DWORD PTR DS:[ESI+EBX*4+800]
00932A65 |. 8BD9 MOV EBX,ECX
00932A67 |. 81E3 FF000000 AND EBX,0FF
00932A6D |. 03949E 000C0000 ADD EDX,DWORD PTR DS:[ESI+EBX*4+C00]
00932A74 |. 3357 18 XOR EDX,DWORD PTR DS:[EDI+18]
00932A77 |. 33C2 XOR EAX,EDX
00932A79 |. 8BD0 MOV EDX,EAX
00932A7B |. C1EA 10 SHR EDX,10
00932A7E |. 81E2 FF000000 AND EDX,0FF
00932A84 |. 8B9496 00040000 MOV EDX,DWORD PTR DS:[ESI+EDX*4+400]
00932A8B |. 8BD8 MOV EBX,EAX
00932A8D |. C1EB 18 SHR EBX,18
00932A90 |. 03149E ADD EDX,DWORD PTR DS:[ESI+EBX*4]
00932A93 |. 8BD8 MOV EBX,EAX
00932A95 |. C1EB 08 SHR EBX,8
00932A98 |. 81E3 FF000000 AND EBX,0FF
00932A9E |. 33949E 00080000 XOR EDX,DWORD PTR DS:[ESI+EBX*4+800]
00932AA5 |. 8BD8 MOV EBX,EAX
00932AA7 |. 81E3 FF000000 AND EBX,0FF
00932AAD |. 03949E 000C0000 ADD EDX,DWORD PTR DS:[ESI+EBX*4+C00]
00932AB4 |. 3357 14 XOR EDX,DWORD PTR DS:[EDI+14]
00932AB7 |. 33CA XOR ECX,EDX
00932AB9 |. 8BD1 MOV EDX,ECX
00932ABB |. C1EA 10 SHR EDX,10
00932ABE |. 81E2 FF000000 AND EDX,0FF
00932AC4 |. 8B9496 00040000 MOV EDX,DWORD PTR DS:[ESI+EDX*4+400]
00932ACB |. 8BD9 MOV EBX,ECX
00932ACD |. C1EB 18 SHR EBX,18
00932AD0 |. 03149E ADD EDX,DWORD PTR DS:[ESI+EBX*4]
00932AD3 |. 8BD9 MOV EBX,ECX
00932AD5 |. C1EB 08 SHR EBX,8
00932AD8 |. 81E3 FF000000 AND EBX,0FF
00932ADE |. 33949E 00080000 XOR EDX,DWORD PTR DS:[ESI+EBX*4+800]
00932AE5 |. 8BD9 MOV EBX,ECX
00932AE7 |. 81E3 FF000000 AND EBX,0FF
00932AED |. 03949E 000C0000 ADD EDX,DWORD PTR DS:[ESI+EBX*4+C00]
00932AF4 |. 3357 10 XOR EDX,DWORD PTR DS:[EDI+10]
00932AF7 |. 33C2 XOR EAX,EDX
00932AF9 |. 8BD0 MOV EDX,EAX
00932AFB |. C1EA 10 SHR EDX,10
00932AFE |. 81E2 FF000000 AND EDX,0FF
00932B04 |. 8B9496 00040000 MOV EDX,DWORD PTR DS:[ESI+EDX*4+400]
00932B0B |. 8BD8 MOV EBX,EAX
00932B0D |. C1EB 18 SHR EBX,18
00932B10 |. 03149E ADD EDX,DWORD PTR DS:[ESI+EBX*4]
00932B13 |. 8BD8 MOV EBX,EAX
00932B15 |. C1EB 08 SHR EBX,8
00932B18 |. 81E3 FF000000 AND EBX,0FF
00932B1E |. 33949E 00080000 XOR EDX,DWORD PTR DS:[ESI+EBX*4+800]
00932B25 |. 8BD8 MOV EBX,EAX
00932B27 |. 81E3 FF000000 AND EBX,0FF
00932B2D |. 03949E 000C0000 ADD EDX,DWORD PTR DS:[ESI+EBX*4+C00]
00932B34 |. 3357 0C XOR EDX,DWORD PTR DS:[EDI+C]
00932B37 |. 33CA XOR ECX,EDX
00932B39 |. 8BD1 MOV EDX,ECX
00932B3B |. C1EA 10 SHR EDX,10
00932B3E |. 81E2 FF000000 AND EDX,0FF
00932B44 |. 8B9496 00040000 MOV EDX,DWORD PTR DS:[ESI+EDX*4+400]
00932B4B |. 8BD9 MOV EBX,ECX
00932B4D |. C1EB 18 SHR EBX,18
00932B50 |. 03149E ADD EDX,DWORD PTR DS:[ESI+EBX*4]
00932B53 |. 8BD9 MOV EBX,ECX
00932B55 |. C1EB 08 SHR EBX,8
00932B58 |. 81E3 FF000000 AND EBX,0FF
00932B5E |. 33949E 00080000 XOR EDX,DWORD PTR DS:[ESI+EBX*4+800]
00932B65 |. 8BD9 MOV EBX,ECX
00932B67 |. 81E3 FF000000 AND EBX,0FF
00932B6D |. 03949E 000C0000 ADD EDX,DWORD PTR DS:[ESI+EBX*4+C00]
00932B74 |. 3357 08 XOR EDX,DWORD PTR DS:[EDI+8]
00932B77 |. 33C2 XOR EAX,EDX
00932B79 |. 8BD0 MOV EDX,EAX
00932B7B |. C1EA 10 SHR EDX,10
00932B7E |. 81E2 FF000000 AND EDX,0FF
00932B84 |. 8B9496 00040000 MOV EDX,DWORD PTR DS:[ESI+EDX*4+400]
00932B8B |. 8BD8 MOV EBX,EAX
00932B8D |. C1EB 18 SHR EBX,18
00932B90 |. 03149E ADD EDX,DWORD PTR DS:[ESI+EBX*4]
00932B93 |. 8BD8 MOV EBX,EAX
00932B95 |. C1EB 08 SHR EBX,8
00932B98 |. 81E3 FF000000 AND EBX,0FF
00932B9E |. 33949E 00080000 XOR EDX,DWORD PTR DS:[ESI+EBX*4+800]
00932BA5 |. 8BD8 MOV EBX,EAX
00932BA7 |. 81E3 FF000000 AND EBX,0FF
00932BAD |. 03949E 000C0000 ADD EDX,DWORD PTR DS:[ESI+EBX*4+C00]
00932BB4 |. 3357 04 XOR EDX,DWORD PTR DS:[EDI+4]
00932BB7 |. 33CA XOR ECX,EDX
00932BB9 |. 8B17 MOV EDX,DWORD PTR DS:[EDI]
00932BBB |. 33D0 XOR EDX,EAX
00932BBD |. 8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]
00932BC1 |. 5F POP EDI ; 14D70138
00932BC2 |. 5E POP ESI ; 14D70138
00932BC3 |. 8910 MOV DWORD PTR DS:[EAX],EDX
00932BC5 |. 8B5424 10 MOV EDX,DWORD PTR SS:[ESP+10] ; yo3.009331A3
00932BC9 |. 5D POP EBP ; 14D70138
00932BCA |. 890A MOV DWORD PTR DS:[EDX],ECX
00932BCC |. 5B POP EBX ; 14D70138
00932BCD \. C2 0800 RETN 8
所以我发现使用ollydbg,首先我认为这个密码可能是XTEA
但XTEA
在纯文本上没有AND
,所以我想我可以发布这个密码在这里也许有人识别它并告诉我它是一个现有的密码或者这是一个自定义密码,我需要根据这个asm代码编写它。感谢。
答案 0 :(得分:2)
这只是加密(或解密)轮,它有助于查看初始化函数。但它闻起来像Blowfish。来自维基百科:
Blowfish有一个 64位块大小[...]该算法保留两个子项 数组: 18-entry P-array 和四个256-entry S-box。 S盒子 接受8位输入并产生32位输出。 P阵列的一个条目 每轮使用,并在最后一轮后,每半数据 块与剩余的两个未使用的P条目中的一个进行异或。
以下是代码在通过Hex-Rays反编译器运行并创建一些结构后的外观:
unsigned int *__userpurge sub_9327A0<eax>(ctx *context<eax>, unsigned int *a2, unsigned int *a3)
{
xor_tbl1_t *sboxes; // edx@1
unsigned int *parray; // edi@1
unsigned int v6; // ecx@1
unsigned int v7; // eax@1
unsigned int v8; // ecx@1
int v9; // eax@1
int v10; // ecx@1
int v11; // eax@1
int v12; // ecx@1
int v13; // eax@1
int v14; // ecx@1
int v15; // eax@1
int v16; // ecx@1
int v17; // eax@1
int v18; // ecx@1
int v19; // eax@1
int v20; // ecx@1
int v21; // eax@1
int v22; // ecx@1
int v23; // edx@1
unsigned int *result; // eax@1
sboxes = context->p_sboxes;
parray = context->p_parray;
v6 = *a2 ^ context->p_parray[17];
v7 = *a3 ^ context->p_parray[16] ^ (sboxes->S3[(unsigned __int8)v6]
+ (sboxes->S2[(unsigned __int16)v6 >> 8] ^ (sboxes->S0[v6 >> 24]
+ sboxes->S1[((*a2 ^ context->p_parray[17]) >> 16) & 0xFF])));
v8 = context->p_parray[15] ^ (sboxes->S3[(unsigned __int8)v7]
+ (sboxes->S2[(unsigned __int16)v7 >> 8] ^ (sboxes->S0[v7 >> 24]
+ sboxes->S1[(v7 >> 16) & 0xFF]))) ^ v6;
v9 = context->p_parray[14] ^ (sboxes->S3[(unsigned __int8)v8]
+ (sboxes->S2[(unsigned __int16)v8 >> 8] ^ (sboxes->S0[v8 >> 24]
+ sboxes->S1[(v8 >> 16) & 0xFF]))) ^ v7;
v10 = context->p_parray[13] ^ (sboxes->S3[(unsigned __int8)v9]
+ (sboxes->S2[(unsigned __int16)v9 >> 8] ^ (sboxes->S0[(unsigned int)v9 >> 24]
+ sboxes->S1[((unsigned int)v9 >> 16) & 0xFF]))) ^ v8;
v11 = parray[12] ^ (sboxes->S3[(unsigned __int8)v10]
+ (sboxes->S2[(unsigned __int16)v10 >> 8] ^ (sboxes->S0[(unsigned int)v10 >> 24]
+ sboxes->S1[((unsigned int)v10 >> 16) & 0xFF]))) ^ v9;
v12 = parray[11] ^ (sboxes->S3[(unsigned __int8)v11]
+ (sboxes->S2[(unsigned __int16)v11 >> 8] ^ (sboxes->S0[(unsigned int)v11 >> 24]
+ sboxes->S1[((unsigned int)v11 >> 16) & 0xFF]))) ^ v10;
v13 = parray[10] ^ (sboxes->S3[(unsigned __int8)v12]
+ (sboxes->S2[(unsigned __int16)v12 >> 8] ^ (sboxes->S0[(unsigned int)v12 >> 24]
+ sboxes->S1[((unsigned int)v12 >> 16) & 0xFF]))) ^ v11;
v14 = parray[9] ^ (sboxes->S3[(unsigned __int8)v13]
+ (sboxes->S2[(unsigned __int16)v13 >> 8] ^ (sboxes->S0[(unsigned int)v13 >> 24]
+ sboxes->S1[((unsigned int)v13 >> 16) & 0xFF]))) ^ v12;
v15 = parray[8] ^ (sboxes->S3[(unsigned __int8)v14]
+ (sboxes->S2[(unsigned __int16)v14 >> 8] ^ (sboxes->S0[(unsigned int)v14 >> 24]
+ sboxes->S1[((unsigned int)v14 >> 16) & 0xFF]))) ^ v13;
v16 = parray[7] ^ (sboxes->S3[(unsigned __int8)v15]
+ (sboxes->S2[(unsigned __int16)v15 >> 8] ^ (sboxes->S0[(unsigned int)v15 >> 24]
+ sboxes->S1[((unsigned int)v15 >> 16) & 0xFF]))) ^ v14;
v17 = parray[6] ^ (sboxes->S3[(unsigned __int8)v16]
+ (sboxes->S2[(unsigned __int16)v16 >> 8] ^ (sboxes->S0[(unsigned int)v16 >> 24]
+ sboxes->S1[((unsigned int)v16 >> 16) & 0xFF]))) ^ v15;
v18 = parray[5] ^ (sboxes->S3[(unsigned __int8)v17]
+ (sboxes->S2[(unsigned __int16)v17 >> 8] ^ (sboxes->S0[(unsigned int)v17 >> 24]
+ sboxes->S1[((unsigned int)v17 >> 16) & 0xFF]))) ^ v16;
v19 = parray[4] ^ (sboxes->S3[(unsigned __int8)v18]
+ (sboxes->S2[(unsigned __int16)v18 >> 8] ^ (sboxes->S0[(unsigned int)v18 >> 24]
+ sboxes->S1[((unsigned int)v18 >> 16) & 0xFF]))) ^ v17;
v20 = parray[3] ^ (sboxes->S3[(unsigned __int8)v19]
+ (sboxes->S2[(unsigned __int16)v19 >> 8] ^ (sboxes->S0[(unsigned int)v19 >> 24]
+ sboxes->S1[((unsigned int)v19 >> 16) & 0xFF]))) ^ v18;
v21 = parray[2] ^ (sboxes->S3[(unsigned __int8)v20]
+ (sboxes->S2[(unsigned __int16)v20 >> 8] ^ (sboxes->S0[(unsigned int)v20 >> 24]
+ sboxes->S1[((unsigned int)v20 >> 16) & 0xFF]))) ^ v19;
v22 = parray[1] ^ (sboxes->S3[(unsigned __int8)v21]
+ (sboxes->S2[(unsigned __int16)v21 >> 8] ^ (sboxes->S0[(unsigned int)v21 >> 24]
+ sboxes->S1[((unsigned int)v21 >> 16) & 0xFF]))) ^ v20;
v23 = v21 ^ *parray;
result = a2;
*a2 = v23;
*a3 = v22;
return result;
}
看起来和我很相似。