看流星社区

 找回密码
 注册账号
查看: 1873|回复: 0

内核两种反调试方法

[复制链接]

该用户从未签到

发表于 2017-6-1 13:32:44 | 显示全部楼层 |阅读模式
当然方法很多,比如TP的全局调试权限,DebugPort
下面只是我发现的比较好玩的
文章首发在mengwuji.net








知己知彼,百战百胜.
比较猥琐的检测调试方法 第一种就是在EPROCESS 结构中的Flags2这个域里面有一个成员ProtectedProcess

默认为0 当调试器附加的时候会判断此值是否为1 如果是则返回0xc0000712错误码
我们对它进行修改 修改成1

改完我们dt一下 看下是否改成功了

这个时候 打开PCH会看到显示此进程拒绝访问 以前是只要SSDT HOOK了就显示拒绝
现在是修改这个位
我们用Windbg附加会提示

用OD直接看不到进程.

2.当附加进程的时候
bgkpPostFakeThreadMessages 这个函数会遍历目标进程的线程
里面有一个判断 判断ETHREAD->CrossThreadFlags的第二位是否为0
  0x448 CrossThreadFlags : Uint4B
+0x448 Terminated   : Pos 0, 1 Bit
+0x448 ThreadInserted : Pos 1, 1 Bit
+0x448 HideFromDebugger : Pos 2, 1 Bit
+0x448 ActiveImpersonationInfo : Pos 3, 1 Bit
+0x448 Reserved   : Pos 4, 1 Bit
+0x448 HardErrorsAreDisabled : Pos 5, 1 Bit
+0x448 BreakOnTermination : Pos 6, 1 Bit
+0x448 SkipCreationMsg: Pos 7, 1 Bit
+0x448 SkipTerminationMsg : Pos 8, 1 Bit
+0x448 CopyTokenOnOpen: Pos 9, 1 Bit
+0x448 ThreadIoPriority : Pos 10, 3 Bits
+0x448 ThreadPagePriority : Pos 13, 3 Bits
+0x448 RundownFail  : Pos 16, 1 Bit
+0x448 NeedsWorkingSetAging : Pos 17, 1 Bit
+0x44c SameThreadPassiveFlags : Uint4B
+0x44c ActiveExWorker : Pos 0, 1 Bit
+0x44c ExWorkerCanWaitUser : Pos 1, 1 Bit
+0x44c MemoryMaker  : Pos 2, 1 Bit
+0x44c ClonedThread : Pos 3, 1 Bit
+0x44c KeyedEventInUse: Pos 4, 1 Bit
+0x44c RateApcState : Pos 5, 2 Bits
+0x44c SelfTerminate  : Pos 7, 1 Bit


如果为0则会返回错误.
修改方法同上.
有时候会出现偏移不是0x43c的情况 这个时候改了就没有效果 也就是flags2 为0x7ff的时候 这个时候此方法是失效的,可能是开了什么东西造成的..
有知道的小伙伴可以交流下











<dl class="tattl attm" style="word-wrap:break-word; margin:0px; padding:10px 10px 10px 0px; float:none; overflow:visible; width:1645px; height:auto">
<dt style="word-wrap:break-word; float:left; width:0px; font-weight:700"><dd style="word-wrap:break-word; margin:0px; padding:0px; color:rgb(153,153,153)">

5.jpg(207.87
KB, 下载次数: 0)




</dl>
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-19 16:12

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表