【问题标题】:Can anyone tell me what this section of pseudocode is doing?谁能告诉我这部分伪代码在做什么?
【发布时间】:2014-05-01 17:11:04
【问题描述】:

谁能告诉我这段伪代码在做什么?
我使用 IDA Pro 制作它

提前致谢!

int __cdecl sub_401000(int a1, int a2)
{
  int result; // eax@4                                                        
  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;
}

【问题讨论】:

    标签: c reverse-engineering


    【解决方案1】:

    第一个for 循环查找字符串a1 的长度。下面的while 循环然后转换a1 的字节,方法是用一个 4 字节的常量键对它们进行异或运算,并扩大到 UTF16(大概)。结果被反向写入a2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-15
      • 2013-05-29
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 2015-12-29
      • 2021-09-06
      • 1970-01-01
      相关资源
      最近更新 更多