研究Sandboxie知道,在Sandboxie一开始加载子进程时,就已经开始了hook工作。
那Sandboxie究竟是在哪一节点开始介入的呢?
本篇进行追根溯源。
上一篇提到,Dll_InitInjected()
中对许多模块进行了初始化:
这时候,Sandboxie已经在对子进程模块进行hook工作了。
Dll_InitInjected()
的上一层是Dll_Ordinal1()
,再上一层就是汇编代码了。而汇编代码的调用又有64位和32位的区别。
注意:本文提到的64位是指,在64位操作系统下运行的64位程序。32位是指,在64位操作系统下运行的32位程序,即wow64
。
在64位中,Dll_Ordinal1()
在entry_asm.asm
中被调用:
32位在lowlevel_code.c
中调用: