|
[原创]提取嵌入文件中的 PE 文件
学习了.好文章..谢谢分享. |
|
[原创]死后重生,体验非凡
..................求真相. |
|
|
|
[原创]WinRAR 4.00 简体中文版 [0324]
嗯..的确不错..谢谢分享.. |
|
|
|
如此 inline hook SSDT
kd> u NtOpenProcess nt!NtOpenProcess: 805c2296 68c4000000 push 0C4h 805c229b 68a8aa4d80 push offset nt!ObWatchHandles+0x25c (804daaa8) 805c22a0 e86b6cf7ff call nt!_SEH_prolog (80538f10) 内核下函数都是高地址.(0x80XXXX以上). Call的地址居然在78XXX的地址上.. 很显然.你在进行Call Replace的时候计算错偏移了. |
|
|
|
[求助]请高手老师改进拦截硬盘序列号程序的兼容性
很多BUG.看似是因为某个原因. 实则未必. 这个代码我不知道从那里流传出来的. Bug不少. 第一.高地址(0x80XXX以上地址)内存受写保护.而代码内Hdhook.c 135行调用 VOID HookStart( void ) { if( !IsHooked ) { RealZwDeviceIoControlFile = SYSCALL( ZwDeviceIoControlFile ); SYSCALL( ZwDeviceIoControlFile ) = (PVOID) HookZwDeviceIoControlFile; IsHooked = TRUE; } } 来修改.nt!KeServiceDescriptorTable结构第一个成员数组成员KiServiceTable内元素值的时候. 没有修改内存保护属性.导致了直接写入只读内存的BUG.这一般都会引起系统BugCheck.同样的道理. VOID HookStop( ) { if( IsHooked ) { SYSCALL( ZwDeviceIoControlFile ) = (PVOID) RealZwDeviceIoControlFile; IsHooked = FALSE; } } 也存在这个问题.. 正确的做法是.调用这个函数修改之前.先尝试让目标地址地址可写.修改权限办法有很多. MDL方式是微软推荐的. 但是偷懒也可以采取修改CR0 P位实现.(也就是你自己找到的那几条所谓指令). 但是我再加一句.现在多核心系统比较多.为了以防万一.中途发生切换. 建议在执行修改CR0之前.要设置当前线程的亲缘性.这样可以更稳定一点. 第二. 代码存在逻辑错误. 源文件Hdhook.c第66行 rc = RealZwDeviceIoControlFile ( FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, IoControlCode, InputBuffer, InputBufferLength, OutputBuffer, OutputBufferLength ); 没有对返回值进行任何校验.就开始尝试去修改缓冲区. 比较好一点的做法是.首先判断系统是否处理成功了. 因为系统内核会对参数进行严格审查.例如传递的缓冲区是否有效.大小.等等. 如果系统检查过这个缓冲区确实有效.并且数据写入了. 那么缓冲区一般情况下是没有问题的.我们也可以去写入来完成替换. 不然.如果缓冲区非法.我们很有可能造成访问违规而引起系统BugCheck. 剩下的BUG基本上楼上几位都说了.比如Service ID是否正确.探测缓冲区.加TRY异常捕获等. |
|
|
|
[交流]Shadow ssdt hook of NtUserCallOneParam function。
不理解你需要实现什么.. ULONG MyNtUserCallOneParam( IN ULONG Param,IN ULONG Routine) { retrun 0; } 代码有点问题的.. 因为很多函数都需要调用这个函数.而直接返回XXX..会令很多软件错误的. |
|
[原创]猥琐的恢复InLineHOOK
楼主流程图制作的不错..学习了.. 这个驱动对处理函数加了点VM. 你看到的Jmp XXX.貌似是进入虚拟机的前奏. Ps: 对它的猥琐.用这个办法太麻烦了.. 直接XX一下内核文件.就连窝端了.. |
|
[原创]为什么接受他!!我就不服
深有同感..谢谢分享. |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值