这种情况一般意味着,这段代码是动态产生的,比如JIT编译产生的或者是某些程序自己分配内存然后放一段代码。
因为这段代码是动态产生的,所以就不属于宿主模块的模块范围,即模块基地址,加上模块的长度。因此,WinDBG就无法找到这个代码所对应的真正模块,只能尽可能找它附近的参照物。对于本例,这条指令离曾经加载过的authz_user模块的基地址比较近,所以就使用这个参照物了。但是这并一定意味着,这段代码与这个模块有关。
[esi+eax*4]是典型索引数组结构的汇编代码,ESI指向数组的基地址,EAX可以是数组的元素序号,4代表这个数据的每个元素是4个字节长,即DWORD这样的整数。