首页
社区
课程
招聘
[旧帖] IDA里反编译后临时变量后显示‘ebx@1’代表什么意思? 0.00雪花
发表于: 2010-5-21 15:38 3376

[旧帖] IDA里反编译后临时变量后显示‘ebx@1’代表什么意思? 0.00雪花

2010-5-21 15:38
3376
例如(这是论坛中的一个CM程序):
signed int __cdecl sub_401230()
{
  signed int v0; // ebx@1
  signed int result; // eax@2
  unsigned int v2; // esi@3
  unsigned int v3; // esi@5
  int v4; // edi@7
  int v5; // eax@9
  int v6; // ecx@9
  __int64 v7; // qax@9
  CHAR *String; // [sp+8h] [bp-30h]@1
  char v9; // [sp+9h] [bp-2Fh]@3
  char v10; // [sp+Ah] [bp-2Eh]@3
  char v11[16]; // [sp+18h] [bp-20h]@4
  char v12[16]; // [sp+28h] [bp-10h]@3

  v0 = 0;
  if ( GetDlgItemTextA(dword_4056BC, 1000, (LPSTR)&String, 16) >= 3 )
  {
     GetDlgItemTextA(dword_4056BC, 1001, v12, 16);
     sub_401340(0xFFFFFFFFu / (v10 * (char)String % v9 + 1));
     v2 = 0;
     do
        v11[v2++] = rand() % 26 + 65;
     while ( v2 < 15 );
     v3 = 0;
     if ( strlen((const char *)&String) != 1 )
     {
        do
        {
           if ( 123 * (char)(LOBYTE((&String)[v3]) >> 5) > 0 )
           {
              v4 = 123 * (char)(LOBYTE((&String)[v3]) >> 5);
              do
              {
                 rand();
                 --v4;
              }
              while ( v4 );
           }
           v5 = rand();
           v6 = v12[v3];
           v11[v3] = v5 % 26 + 65;
           v7 = (signed int)(char)(v5 % 26 + 65) - v6;
           v0 += (HIDWORD(v7) ^ v7) - HIDWORD(v7);
           ++v3;
        }
        while ( v3 < strlen((const char *)&String) - 1 );
     }
     result = v0;
  }
  else
  {
     result = 1;
  }
  return result;
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
ebx,eax都是寄存器,关键后边的@1,@2等代表啥意思?
2010-5-21 15:40
0
游客
登录 | 注册 方可回帖
返回
//