首页
社区
课程
招聘
[求助]IDA逆向的C++的容器代码,请大侠给点注释,有点看不懂
发表于: 2013-3-6 16:08 3406

[求助]IDA逆向的C++的容器代码,请大侠给点注释,有点看不懂

2013-3-6 16:08
3406
int __cdecl funDealGuid(int a1)
{
  signed int v1; // edi@1
  int v2; // esi@5
  int v3; // eax@5
  int v4; // ecx@5
  int v6; // [sp+14h] [bp-ACh]@2
  int v7; // [sp+18h] [bp-A8h]@3
  int v8; // [sp+1Ch] [bp-A4h]@3
  int v9; // [sp+20h] [bp-A0h]@3
  char v10; // [sp+24h] [bp-9Ch]@5
  char v11; // [sp+2Ch] [bp-94h]@4
  int v12; // [sp+BCh] [bp-4h]@1

  v1 = 0;
  v12 = 0;
  if ( !funGetGuid || !(unsigned __int8)funGetGuid(&v6) )
  {
    v6 = 0;
    v7 = 0;
    v8 = 0;
    v9 = 0;
  }
  std::basic_ostringstream<char_std::char_traits<char>_std::allocator<char>>::basic_ostringstream<char_std::char_traits<char>_std::allocator<char>>(
    &v11,
    2,
    1);
  v12 = 1;
  do
  {
    v2 = std::basic_ostream<char_std::char_traits<char>>::operator<<(&v11, sub_1001C540);
    *(_BYTE *)(v2 + *(_DWORD *)(*(_DWORD *)v2 + 4) + '0') = '0';
    v3 = std::setw(&v10, 2);
    (*(void (__cdecl **)(int, _DWORD))v3)(v2 + *(_DWORD *)(*(_DWORD *)v2 + 4), *(_DWORD *)(v3 + 4));
    LOWORD(v4) = *((_BYTE *)&v6 + v1);
    std::basic_ostream<char_std::char_traits<char>>::operator<<(v2, v4);
    ++v1;
  }
  while ( v1 < 16 );
  std::basic_ostringstream<char_std::char_traits<char>_std::allocator<char>>::str(&v11, a1);
  LOBYTE(v12) = 0;
  std::basic_ostringstream<char_std::char_traits<char>_std::allocator<char>>::_vbase_destructor(&v11);
  return a1;
}

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//