能力值:
( LV2,RANK:10 )
|
-
-
2 楼
你好,我也刚学内核,
如果有说的不对的地方欢迎指正。
1. ntdll中的函数调用的还是ntkrnlpa.exe中导出的函数.
以WIN32 API函数 CreateFile为例:
CreateFile(APP) --> CreateFileA(kernel32.dll) --> CreateFileW(kernel32.dll) --> NtCreateFile(ntdll.dll) --> NtCreateFile(ntoskrnl.exe)
2. 因为有很多恶意软件或者安全软件都会修改内核中的数据,比如TP会修改SSDT表中的某些函数的前两条指令实现跳转的目的。 所以如果我们要检测某个内核函数是否被修改,或者我们想要自己修改某个内核函数,就需要读取磁盘上的原始数据。
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
能够获取到_IMAGE_EXPORT_DIRECTORY结构来,但是其中的函数地址如何换算得到?还有AddressOfNameOrdinals与AddressOfNames和AddressOfFunctions的关联实在不明白,论坛里面好多都是硬编码,实现无法理解,请教一下大家。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
参加<<加密与解密>> PE文件一章。
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
谢谢LS的热心回复,那个关联我大致能懂了。只是AddressOfFunctions这个指向的相对地址还不明白如何推导出原始函数地址。
|
|
|