jmuxiaolu 发表于 2015-9-15 17:48:37

关于inline hook的一点疑问

我在inline hook kernel32.dll中的函数时想到,因为我们是通过修改kernel32.dll中的函数的前几个字节,改为
jmp xxxx(xxxx代表我们自己函数的地址),但是kernel32.dll在物理内存中只有一份,那么问题来了:在进行
inline hook时,为什么不会影响到除了被我们hook之外的进程?有点想不通,跪求大神解答!!

firescript 发表于 2015-9-15 20:43:10

学习一下PE运行知识吧

jmuxiaolu 发表于 2015-9-16 08:24:40

firescript 发表于 2015-9-15 20:43
学习一下PE运行知识吧

PE文件格式有学习过。kernel32.dll等动态库,都是在程序加载阶段把用到的导出函数填入导入表的。但,按操作系统的实现,为了节省空间,kernel32.dll在物理内存中只有一份。其他进程使用只是简单的把kernel32.dll等所在的物理内存映射一遍。所以我认为,如果我们修改了kernel32.dll的代码,依旧修改了它在物理内存的值。理应影响到其它程序!但事实是没有影响,求解答?
页: [1]
查看完整版本: 关于inline hook的一点疑问