2014-03-24 64 views
-2

任何人都可以告訴我這段僞代碼在做什麼?
我用它生產IDA Pro任何人都可以告訴我這段僞代碼在做什麼?

在此先感謝!

int __cdecl sub_401000(int a1, int a2) 
{ 
    int result; // [email protected]               
    int v3; // [sp+0h] [bp-Ch]@4             
    char v4; // [sp+7h] [bp-5h]@4            
    int i; // [sp+8h] [bp-4h]@1             
    signed int v6; // [sp+8h] [bp-4h]@4           

    for (i = 0; *(_BYTE *)(i + a1); ++i) 
    ; 
    result = i - 1; 
    v6 = i - 1; 
    v3 = 0; 
    v4 = -1; 
    while (v4) 
    { 
    v4 = *(_BYTE *)(v6 + a1); 
    result = a2; 
    *(_WORD *)(a2 + 2 * v3) = ((unsigned __int8)byte_40A300[v6 % 4]^*(_BYTE *)(v6 +  a1)) & 0x7F; 
    --v6; 
    ++v3; 
    } 
    return result; 
} 

回答

2

第一個for循環找到字符串的長度a1。以下while循環然後通過將它們與4字節的常量關鍵字異或,並將其擴展爲UTF16(推測)來轉換a1的字節。結果寫入a2

+0

謝謝你jester – user3455075

相關問題