Quantcast
Channel: 看雪安全论坛
Viewing all articles
Browse latest Browse all 9556

调试逆向 【原创】浅谈DXF的TP保护

$
0
0
本人原来是做手机行业这块的,内核基础比较差,对驱动这块比较陌生,讲得不对的地方请大家指点。

DXF跑起来的时候进程DNF.exe TenSafe_1.exe 但是驱动却只有TenSafe.sys模块,那么只要我们搞定TenSafe.sys模块就能过TP了,我上传了一份代码,这份代码也是论坛上找到的,VS2008+WINDDK。大家可以下载来看看!

先上图!
附件 86625


我们看见的图里TenSafe.sys Hook了原系统的SSDT ShadowSSDT这2张表里面的函数,我们恢复它们,方法很多,代码里是用了特征码搜索找到对应的当前地址进行Hook。

HookKeAttchProcess.h
HookKeStackAttachProcess.h

HookReadVirtualMemory.h
HookWriteVirtualMemory.h
HookNtProtectVirtualMemory.h
HookKeServiceDescriptorTableShadow.h
HookNtOpenProcess.h
HookNtOpenThread.h
恢复方法大家可以看代码 ,无疑就是挂钩,地址跳转到源地址和跳过它执行等,如果不会的兄弟最好去下载些hook视频来看下,应该很快就会过了。

HookNtOpenProcess.h HookNtOpenThread.h TenSafe.sys其实都是对ObOpenObjectByPointer的修改,我们恢复回来好用CE OD来附加! 不然DNF.exe进程都找不到;

HookReadVirtualMemory.hHookWriteVirtualMemory.hHookNtProtectVirtualMemory.h

TenSafe.sys其实都是对 NtReadVirtualMemory NtWriteVirtualMemory NtProtectVirtualMemory进行修改,我们恢复回来好用CE OD来附加DNF.exe对它进行读取内存地址值 写入内存地址值;

HookKeServiceDescriptorTableShadow.h TenSafe.sys其实都是对NtGdiBitBlt NtGdiStretchBlt进行hook 无法让取屏幕一块区域 ;

HookKeAttchProcess.h HookKeStackAttachProcess.h TenSafe.sys对这2函数里的KiAttachProcess进行了hook,这个KiAttachProcess函数我买你不能直接恢复和return 因为它里面会有检测 这里只有重写此函数,这个函数比较重要QQ2013 QQ2014的QQProtect.sys也对此函数进行了修改!QQProtect.sys对SSDT ShadowSSDT里许多函数都进行了hook的,所以一定能够要干掉C:\WINDOWS\system32\drivers\QQProtect.sys 我们现在如果要DXF和QQ一起用 还得搞定QQProtect.sys里的Hook;

其实我们搞定了这几个函数 想让OD CE正常调试 些出来的东西不被检测, 还有许多事要做,最先NtDebugActiveProcess让我们去 debug它能否调试 DbgkpPostFakeProcessCreateMessages DbgkpPostFakeModuleMessages DbgkpSendApiMessage 3个函数里最终找到的DbgkpQueueMessage 调试消息中断 更有NtSetContextThread NtGetContextThread 函数对断点的清空;

都搞定这些后,其实我们才刚开始过TP,无论OD CE能加载 能读取修改内存的值等,我认为TP难就难在检测这块,我也刚接触驱动,也看了些朋友们写的关于这块的东西,主要是debugport的清零和检测

清零和检测 到时候我再单独写一篇文章来讲,大家可以先讨论 讨论!

附件 86626

上传的图像
文件类型: jpg dw.jpg (91.7 KB)
上传的附件
文件类型: rar PassTPSafe.rar (674.2 KB)

Viewing all articles
Browse latest Browse all 9556

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>