近期反编译CreateProcessInternalW中的一小段函数:
BaseInitializeContext 为Kernel32.dll文件中一内部函数,其作用为即将创建的线程初始化上下文CONTEXT的结构。
由于每个OS及补丁的版本不同,Kernel32.dll都不尽相同。下文例子所使用的相关文件信息如下:
Kernel32.dll 的文件信息:
文件版本: 5.1.2600.5512 (xpsp.080413-2111)
MD5: BF1CDAF5792B78D4730727FACF307D46
在汇编中,为结构成员赋值,通常的做法为把该结构的基地址传给一个寄存器,然后再用[register+offset]的方式来表示这个成员。这个函数中用到的最重要的结构就是CONTEXT了