|
|
|
[求助]内存中搜索PsSuspendThread问题
说实话这个Ps的函数还不如不用,别人给自己线程的MiscFlags设置SystemThread标志位直接抓瞎了,还不如拿到EThread的SuspendApc直接强插进去 |
|
[下载]Windows XP SP1 & Windows Server 2003泄漏源码
总感觉ReactOS很多都是从泄漏源码和WRK抄的 |
|
[求助] win10 1803 构建新的调试体系问题 求各位师傅解惑
叽叽‘and1=1 不会吧~ 就是一个获取process 的函数而且wrk 这部分写得也很明朗x64没有所谓的PsGetCurrentProcessByThread,只有PsGetCurrentProcess,获取当前线程的Tcb.ApcState.Process,如果要获取其他线程挂靠的Process,只能把这部分结构体的偏移硬编码 |
|
[求助] win10 1803 构建新的调试体系问题 求各位师傅解惑
wrk的代码多多少少夹带了点微软的私货,比起reactos还是差点意思 |
|
[翻译]DLL注入之SetThreadContext
“创建一个新的线程可以被其他很多方法检测到,比如说ETW event” 从Win10 1507到1803,NtSetContextThread必定被ETW记录(WOW64除外),1809到2004,Usermode的NtSetContextThread、PsSetContextThread、PspWow64SetContextThread都会被ETW记录(包括x64和WOW64)。这老外想当然地认为SetThreadContext很隐蔽,其实和CreateThread半斤八两 |
|
[翻译]DLL注入之SetThreadContext
缺陷是后续清理内存的时机无法直接得知,除非代码里自行call NtSetEvent。如果把ETHREAD的FreezeCount和SuspendApc.Inserted分别设为1和0,这方法照样抓瞎 |
|
[求助]inlin Hook 一个内核 PspUserThreadStartup 疑惑 win10 1803
叽叽‘and1=1 我看我就用了一个rax做一个中转 所以在进入前push 了一下,跳出来的时候也pop了一下~~ ,难道要跳到代理函数的第一件事就是把全部寄存器push 一次?pop rax放在你复制的原函数头前面就对了,不然你后面pop了 保存的rbx从rsp+8跑到rsp+0,原函数不知道你这么搞,恢复rbx的时候还是从rsp+8取 还有64位系统exallocatepool的内存默认不可执行,建议把代理函数放进可执行区段,最简单的方法是给驱动加个rwe的区段,比如 #define MODIFIABLE_TEXT_SECTION __declspec(allocate(".modtext")) #pragma section(".modtext",read,write,execute) MODIFIABLE_TEXT_SECTION void HookProcedure(); |
|
[求助]inlin Hook 一个内核 PspUserThreadStartup 疑惑 win10 1803
两个槽点:代理函数所在页不可执行;代理函数破坏了堆栈,就算成功执行,PspUserThreadStartup执行完照样BSOD |
|
[原创]Windows 内核原理与实现学习笔记之Windows 进程和线程
确实,这种评法挺打击大家发文章的积极性,不如安心当个潜水党 |
|
[原创]---RootKit 核心技术——利用 NT!_MDL 突破 KiServiceTable 的只读访问限制 PART II ----
三猫 您好,我这里有个疑问,根据msdn的解释:Because the pages described by the MDL are already nonpageable and are already ...你说的都是对的,楼主表述有误,我看了一下MmProbeAndLockPages的流程,它只是给MDL加上了write_operation的标志位,实际上不论加不加这个标志位,MmMapLockPagesSpecifyCache给物理页新映射的PTE都是RW的。楼主代码里的MmGetSystemAddressForMdlSafe本身也是对MmMapLockPagesSpecifyCache的封装,只要MDL里填充好了PFN,那这函数映射出的新内存就是RW的了,再加上ssdt本身不可换出,楼主用的MmProbeAndLockPages实际上只有给MDL填充PFN的作用,参数填IoWriteAccess不过是自我安慰罢了 |
|
R3跳过NTDLL调用内核函数参数问题
槽点太多,建议先把wow64那三个dll的F5看完 |
|
[求助]hook 主线程调用A.dll 32位正常64位崩溃
你原先加载B这个dll能64位正常使用,完全是因为B中代理函数的基址凑巧处于这个区间罢了[A函数基址-2GB, A函数基址+2GB),要是系统给B申请的基址和A相差过多,0xE9这个指令是跳不过去的 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值