|
[求助]如何SSDT Hook 未公开NtCreateThread函数
楼上说的懂了,谢谢 这么说必须要自己来解析了,我这个程序还要用IOCTL和用户层交换数据,如果要自己解析的话我觉得还是从用户层先用GetProcAddress得到ZwCreathThread的入口然后+1取出ID在传给驱动更简单一些 |
|
[求助]如何SSDT Hook 未公开NtCreateThread函数
可是NtCreateThread不是由ntoskrnl.exe导出的,是由ntdll导出的 |
|
[求助]如何SSDT Hook 未公开NtCreateThread函数
打开ntdll是指用ZwOpenFile打开吗?打开后再怎么找呢?我现在用的办法是现在Ring3下找到ID然后传入驱动 |
|
[求助]SSDT Hook卸载驱动时蓝屏的问题
请问KEVENT 的释放有什么讲究吗?我是直接用ExFreePoolWithTag释放掉的 |
|
[求助]SSDT Hook卸载驱动时蓝屏的问题
暂时这样解决了,有人能给出可靠的办法就好了 |
|
[求助]SSDT Hook后如何取得主调者的模块名
我找到一个方法,根据线程ID procedure GetModuleByTID(PID,TID:Cardinal;szModuleName:PWideChar); var hProcess,hThread:THandle; StartAddr,tmp:DWORD; szNameTmp:array [0..FILENAMESIZE - 1] of WideChar; i:Byte; const THREAD_QUERY_INFORMATION = $40; begin hThread := OpenThread(THREAD_QUERY_INFORMATION,False,TID); ZwQueryInformationThread(hThread,ThreadQuerySetWin32StartAddress,@StartAddr, SizeOf(DWORD),@tmp); hProcess := OpenProcess(PROCESS_QUERY_INFORMATION,False,PID); GetMappedFileNameW(hProcess,Pointer(StartAddr),szModuleName,FILENAMESIZE); {……} CloseHandle(hThread); CloseHandle(hProcess); end; |
|
[求助]SSDT Hook后如何取得主调者的模块名
其实我和炉子兄的想法是一样的,但无奈水平有限,不知道该怎样分析堆栈然后拿这个地址在加载的DLL表中找 我现在退一步,已知有一个线程是123.dll创建的,能否根据这个线程ID来找到123.dll呢?我看Process Explorer就实现了这样的功能(在用户模式实现也可以) |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值