什么注册@号在ida pro中意味着什么

时间:2018-01-27 15:08:16

标签: disassembly ida

我是Hex-ray的新手。在深入研究每个功能的同时,我引起了一个无法通过谷歌搜索或搜索找到答案的问题。在ida中生成的函数Pseudocode模式(F5)中的注释, 它像这样说:

char __userpurge function@<al>(int a1, ... )
{
  HANDLE v2;  // eax@1
  DWORD v3;  // eax@4
  void *4; // eax@6
  LARGE_INTEGER FileSize; // [esp+4h] [ebp-8h]@2
}

有人能告诉我关于eax@1eax@4这些东西的含义吗? 除此之外,我也想知道[esp+4h] [ebp-8h]@2意味着什么。

1 个答案:

答案 0 :(得分:0)

这个问题已在{3}}的Stack Exchange逆向工程中得到解答:

  

数字表示微码中的基本块编号   变量最初使用。微码基本块不一定   匹配反汇编中的基础块,因为在优化期间   步骤可以拆分,合并,添加微代码基本块或   除去。

     

你可以在Ilfak的Igor Skochinsky's answer中看到一些微码样本   或者在一些旧的博客文章中:   whitepaper on the decompiler   1(块号是第一个号码   这条线。)

建议在2社区中提出有关逆向工程的问题。