-
-
[求助]求助一个ida F5的伪代码怎么转换成C++ 求助学习学习
-
发表于:
2017-9-25 23:06
5995
-
[求助]求助一个ida F5的伪代码怎么转换成C++ 求助学习学习
int __cdecl sub_419CA0(int a1, int a2)
{
unsigned __int16 v2; // dx@1
int v3; // ecx@1
int v4; // edx@1
int v5; // ecx@1
char v6; // cl@1
这里只定义个char 有点看不懂 下面char
char v7; // dl@1
char v8; // cl@1
char v9; // cl@1
char v10; // cl@1
int result; // eax@1
int v12; // [sp+0h] [bp-8h]@1
[sp+0h] [bp-8h] 这个地方也是有点不明白
int v13; // [sp+4h] [bp-4h]@1
LOBYTE(v2) = 0;
HIBYTE(v2) = *(_BYTE *)(a1 + 2);
v3 = *(_BYTE *)(a1 + 3) | v2 | (*(_BYTE *)(a1 + 1) << 16) | (*(_BYTE *)a1 << 24);
v4 = *(_BYTE *)(a1 + 5);
v12 = v3;
v5 = (v4 << 16) | (*(_BYTE *)(a1 + 4) << 24);
LOBYTE(v4) = 0;
BYTE1(v4) = *(_BYTE *)(a1 + 6);
v13 = *(_BYTE *)(a1 + 7) | (unsigned __int16)v4 | v5;
sub_419760(&unk_434568, (int)&v12);
v6 = BYTE2(v12);
*(_BYTE *)a2 = BYTE3(v12);
v7 = BYTE3(v13);
*(_BYTE *)(a2 + 1) = v6;
v8 = v12;
*(_BYTE *)(a2 + 2) = BYTE1(v12);
*(_BYTE *)(a2 + 3) = v8;
v9 = BYTE2(v13);
*(_BYTE *)(a2 + 4) = v7;
*(_BYTE *)(a2 + 5) = v9;
v10 = v13;
result = a2 + 6;
*(_BYTE *)result = BYTE1(v13);
*(_BYTE *)(result + 1) = v10;
return result;
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!