|
[求助]什么样的钩子才能钩到WM_IME_CHAR?
全局子类化(其实就是对每一个程序远端子类化) |
|
[求助]关于关机MESSAGE....
关机设置的问题 如果关机标志中被加上强制杀死所有进程 那么你的程序即便收到关机消息 windows也不会理会你的返回值 你可以自己用ExitWindows写一个测试用的程序就知道了,call的时候不要加FORCE_TERMINATE(还是其他什么,忘记了)然后应该就可以看到关机被拦截 |
|
[求助]求助HOOK API
hook PsLookupProcessByProcessId, hook自己的LoadLibraryEx |
|
[求助]如何获取线程的起始地址信息?
汗。。没仔细看ntpsapi.h 是偶菜了>.< typedef enum _THREADINFOCLASS { ThreadBasicInformation, ThreadTimes, ThreadPriority, ThreadBasePriority, ThreadAffinityMask, ThreadImpersonationToken, ThreadDescriptorTableEntry, ThreadEnableAlignmentFaultFixup, ThreadEventPair_Reusable, ThreadQuerySetWin32StartAddress, ThreadZeroTlsCell, ThreadPerformanceCount, ThreadAmILastThread, ThreadIdealProcessor, ThreadPriorityBoost, ThreadSetTlsArrayAddress, ThreadIsIoPending, ThreadHideFromDebugger, ThreadBreakOnTermination, ThreadSwitchLegacyState, ThreadIsTerminated, MaxThreadInfoClass } THREADINFOCLASS; // end_ntddk end_ntifs 就如#11所说 直接用ZwQueryInformationThread的9号调用 |
|
[求助]如何获取线程的起始地址信息?
直接用EasySYS生成一个 用ObReferenceObjectByHandle把hThread转换成PETHREAD,然后读ETHREAD.StartAddress(恐怕得硬编码StartAddress在ETHREAD结构中的偏移,因为ETHREAD结构在ntddk.h中没有)。 网上入门教程很多 |
|
[求助]求助HOOK API
对了 如果楼主没写过驱动就别看偶在#6说的了 那些都是驱动中干的 |
|
[求助]求助HOOK API
呵~ 应该是你的hook的问题吧。。 我hook过NtOpenProcess,似乎没出现什么失败的情况 钩TerminateProcess的例子没找过,你可以自己用ZwQueryProcessInformation来查询给TerminateProcess传入的hProcess的PID值,然后判断该放行还是直接返回。 |
|
[求助]求助HOOK API
#5有点绝对吧? 呵呵 从插入APC(Hook KeInitializeApc),附加到进程(Hook Ke(Stack)AttachProcess),模拟发送消息(Hook NtUserPost(Thread)Message 这个可以简单的修改Shadow表来完成,前面两个得inline)三个方面入手基本就差不多了 我写st的时候也是inline 不过没管APC和消息模拟,呵呵~ 如果你能按照我说的来hook~ IS 1.22,RkU 3.7,DS 1.0.5.0都是杀不掉你的进程的 呵呵 |
|
[求助]如何获取线程的起始地址信息?
写一个简单的驱动 |
|
|
|
|
|
[求助]求助HOOK API
从OpenProcess下手比较好。。 TerminateProcess涉及到hProcess=>ProcessId的转换(当然,可以用ZwQueryInformationProcess完成) |
|
|
|
[求助]关于插入其它进程的DLL编程问题?
dll没注入进去,偶用小伟的injector把dll注入进去以后windows也没create出来(至少没显示出来)…… |
|
[求助]读取另一线程的TEB的问题
ZwReadVirtualMemory & ZwQueryInformationThread位于ntdll.dll |
|
[求助]读取另一线程的TEB的问题
TEB信息是在0x7FFxxxxx的,所以有了地址就可以用ZwReadVirtualMemory读,获取TEB地址方法如下: ZwQueryInformationThread的0号调用(ThreadBasicInformation),返回类型为_THREAD_BASIC_INFORMATION,定义如下: typedef struct _THREAD_BASIC_INFORMATION { NTSTATUS ExitStatus; PTEB TebBaseAddress; CLIENT_ID ClientId; ULONG_PTR AffinityMask; KPRIORITY Priority; LONG BasePriority; } THREAD_BASIC_INFORMATION; 其中的TebBaseAddress就是TEB地址 ZwQueryInformationThread的ThreadHandle就是hThread了 函数原型等: NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationThread ( __in HANDLE ThreadHandle, __in THREADINFOCLASS ThreadInformationClass, __out_bcount(ThreadInformationLength) PVOID ThreadInformation, __in ULONG ThreadInformationLength, __out_opt PULONG ReturnLength ); typedef enum _THREADINFOCLASS { ThreadBasicInformation, ThreadTimes, ThreadPriority, ThreadBasePriority, ThreadAffinityMask, ThreadImpersonationToken, ThreadDescriptorTableEntry, ThreadEnableAlignmentFaultFixup, ThreadEventPair_Reusable, ThreadQuerySetWin32StartAddress, ThreadZeroTlsCell, ThreadPerformanceCount, ThreadAmILastThread, ThreadIdealProcessor, ThreadPriorityBoost, ThreadSetTlsArrayAddress, ThreadIsIoPending, ThreadHideFromDebugger, ThreadBreakOnTermination, ThreadSwitchLegacyState, ThreadIsTerminated, MaxThreadInfoClass } THREADINFOCLASS; PVOID ThreadInformation是指向返回数据缓冲区的指针。 给的都是nativeApi,如果要用win32api可以用ReadProcessMemory,至于ZwQueryInfoThread的话,偶也不知道什么win32api可以搞定~ nativeAPI用多了 -。- |
|
[求助]如何改写某进程的数据(头疼※※)
ZwProtectVirtualMemory? |
|
[求助]如何改写某进程的数据(头疼※※)
先ZwOpenProcess,然后得到ProcessHandle再ZwWriteVirtualMemory/ZwReadVirtualMemory 搞定后记得ZwClose |
|
[求助]关于Hook ZwDeleteFile的问题
应该挂ZwSetInformationFile |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值