|
|
|
|
|
[原创]QQ电脑管家中的 Hook 过程分析
我觉得是可以去掉的…… |
|
|
|
|
|
|
|
|
[原创]QQ电脑管家中的TsFltMgr Hook框架分析
那为什么不先jmp再nop? |
|
|
[原创]QQ电脑管家中的TsFltMgr Hook框架分析
也有可能是给360多腾点地方,万一360突然要用7字节jmp呢 |
|
|
[原创]QQ电脑管家中的TsFltMgr Hook框架分析
实际更改内存的函数如下: SuperHook proc near arg_0= dword ptr 8 arg_4= dword ptr 0Ch arg_8= dword ptr 10h push ebp mov ebp, esp push edi push ebx push edx mov edi, [ebp+arg_0] mov eax, [edi] mov edx, [edi+4] mov ebx, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] lock cmpxchg8b qword ptr [edi] pop edx pop ebx pop edi mov ebp, esp pop ebp retn 0Ch SuperHook endp 将三个 nop 放在 jmp 前面莫非是为了设计SuperHook函数的调用接口?因为这样在任何地方需要调用 SuperHook 进行 hook 时可以统一这样来调用: SuperHook(dwHookPoint, 0xe9909090, dwOffSet); 其中 dwOffSet 就是从 dwHookPoint 要跳转到的相对偏移(dwOffSet = new - dwHookPoint - 8)。 不知道这个原因对不对…… |
|
|
[原创]QQ电脑管家中的TsFltMgr Hook框架分析
ZMCPB是啥? |
|
|
[原创]QQ电脑管家中的TsFltMgr Hook框架分析
这个算不算一处神秘指令: SuperHook proc near arg_0= dword ptr 8 arg_4= dword ptr 0Ch arg_8= dword ptr 10h push ebp mov ebp, esp push edi push ebx push edx mov edi, [ebp+arg_0] mov eax, [edi] mov edx, [edi+4] mov ebx, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] lock cmpxchg8b qword ptr [edi] pop edx pop ebx pop edi mov ebp, esp pop ebp retn 0Ch SuperHook endp 为了保证原子操作,使用了 lock cmpxchg8b 指令 |
|
|
[求助][求助]怎么判断一个文件被哪个进程占用呢?
ZwQuerySystemInformation(SystemHandleInformation, ……) |
|
|
国内顶尖黑客的技术水平是什么样的?
早上才刚要睡觉,无法起来刷牙 |
|
|
|
|
|
|
|
|
[原创]圣诞礼物:妙用0地址~
很强大的InlineHook架构啊!膜拜!但是为什么ring3和ring0要采用不同的跳法呀?(e9、ea) 貌似GetPatchSize的处理有点小问题,遭遇ret时会有 PatchSize < dwNeedSize 的情况出现 |
|
|
[分享]公开RedScissorTools两个小工具软件的源码,祝新年快乐!
LZ放出的这两个东西木有界面啊…… |
|
|
[原创]Hook KiFastCallEntry监控系统调用
自己实现一个KiFastCallEntry,或者XXX后跳回原始的KiFastCallEntry。但是这样做比较麻烦的是需要自己初始化一些内核环境,比如让fs对其PCR等~ |
|
|
|
|
|
[原创]Hook KiFastCallEntry监控系统调用
不是好不好改的问题,我们的侧重点不一样……你貌似没明白我的想法哈……我只是在针对题目需求提出一个理想的解决方案,跟360根本没有关系。 这个地方的需求是“通过 Hook KiFastCallEntry 来监控系统调用”,在选择Hook点时,我发现这个Hook点具有以下几个特点: 1、刚好5字节,Hook很方便; 2、内核环境已经完成; 3、ebx指向SSDT或SSDT Shadow中对应的内核函数地址; 4、eax中存放了本次函数调用的功能号; 5、edi指向本次调用对应的系统服务描述表的基地址; 6、esi指向用户栈; 7、ecx/4是参数个数; 因为这些特点,我个人以为,在这个地方Hook是满足这个需求最自然简洁,也最理想的位置。 当然后来发现360勾了同一个地方,由于360装机量很大,怕答辩或演示时出现什么问题,所以才针对360改了改。但是它毕竟是跟我不相干的软件嘛,我觉得不应该为了它改变hook方案。 当然这也是仁者见仁智者见智的问题啦,你也可以觉得你的hook方案更好。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值