00425481 . 33C9 xor ecx, ecx
00425483 . 33C0 xor eax, eax
00425485 . EB 09 jmp short 00425490
00425487 . 8DA424 000000>lea esp, dword ptr [esp]
0042548E . 8BFF mov edi, edi
00425490 > 0FB67404 11 movzx esi, byte ptr [esp+eax+11]
00425495 . 0FB65404 10 movzx edx, byte ptr [esp+eax+10]
0042549A . 03D6 add edx, esi
0042549C . 0FB67404 12 movzx esi, byte ptr [esp+eax+12]
004254A1 . 03D6 add edx, esi
004254A3 . 0FB67404 13 movzx esi, byte ptr [esp+eax+13]
004254A8 . 03D6 add edx, esi
004254AA . 0FB67404 15 movzx esi, byte ptr [esp+eax+15]
004254AF . 03D6 add edx, esi
004254B1 . 0FB67404 14 movzx esi, byte ptr [esp+eax+14]
004254B6 . 03F1 add esi, ecx
004254B8 . 83C0 06 add eax, 6
004254BB . 3D FC000000 cmp eax, 0FC
004254C0 . 8D0C16 lea ecx, dword ptr [esi+edx]
004254C3 .^ 72 CB jb short 00425490
004254C5 . 3B8C24 0C0100>cmp ecx, dword ptr [esp+10C]
004254CC . 0F85 30010000 jnz 00425602
IDA翻译过来是这个样子 到底是干嘛的?
v12 = 0;
i = 0;
do
{
v17 = *((_BYTE *)&v36 + i + 1)
+ *((_BYTE *)&pDecodeData + i + 3)
+ *((_BYTE *)&pDecodeData + i + 2)
+ *((_BYTE *)&pDecodeData + i + 1)
+ *((_BYTE *)&pDecodeData + i);
v18 = v12 + *((_BYTE *)&v36 + i);
i += 6;
v12 = v18 + v17;
}
while ( i < 0xFC );
void *v1; // esi@1
char *v2; // eax@2
FILE *v3; // eax@4
FILE *v4; // edi@4
int v5; // esi@10
const char *v6; // esi@15
char *v7; // eax@18
signed int *v8; // edx@18
signed int v9; // edi@20
unsigned __int8 *v10; // esi@20
unsigned int i; // eax@22
int v12; // ecx@22
SOCKET v13; // eax@13
char v14; // cl@19
char *v15; // eax@20
char *v16; // eax@20
int v17; // edx@23
int v18; // esi@23
signed __int64 v19; // qax@25
signed __int64 v20; // qax@27
int namelen; // [sp+Ch] [bp-1B4h]@1
unsigned int v22; // [sp+1BCh] [bp-4h]@1
int pDecodeData ; // [sp+10h] [bp-1B0h]@8
struct sockaddr name; // [sp+120h] [bp-A0h]@13
signed int v25; // [sp+1ACh] [bp-14h]@18
signed int v26; // [sp+1B0h] [bp-10h]@18
signed int v27; // [sp+1B4h] [bp-Ch]@18
signed int v28; // [sp+1B8h] [bp-8h]@18
signed int v29; // [sp+19Ch] [bp-24h]@18
signed int v30; // [sp+1A0h] [bp-20h]@18
signed int v31; // [sp+1A4h] [bp-1Ch]@18
signed int v32; // [sp+1A8h] [bp-18h]@18
unsigned __int8 v33; // [sp+188h] [bp-38h]@20
signed int v34; // [sp+110h] [bp-B0h]@20
signed int v35; // [sp+114h] [bp-ACh]@20
int v36; // [sp+14h] [bp-1ACh]@23
int v37; // [sp+10Ch] [bp-B4h]@24
int v38; // [sp+18h] [bp-1A8h]@29
int v39; // [sp+1Ch] [bp-1A4h]@29
int v40; // [sp+20h] [bp-1A0h]@29
int v41; // [sp+24h] [bp-19Ch]@29
int v42; // [sp+28h] [bp-198h]@29
int v43; // [sp+2Ch] [bp-194h]@29
局部变量是这样定义的
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)