吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3536|回复: 4
收起左侧

[调试逆向] XAntiDenbug的检测逻辑与基本反调试

  [复制链接]
WUXING_TIANCHEN 发表于 2024-3-2 16:56
本帖最后由 WUXING_TIANCHEN 于 2024-3-2 17:25 编辑

可能存在错误 大佬方便可以直接说入口相关代码
1.png

   
XAntiDebug 初始化获取当前模块地址 与设置了一个标识
#define FLAG_FULLON                          (FLAG_CHECKSUM_NTOSKRNL | FLAG_CHECKSUM_CODESECTION | \                                              FLAG_DETECT_DEBUGGER | FLAG_DETECT_HARDWAREBREAKPOINT)
    截图.png
获取当前系统相关信息
_isArch64 代表是64位架构_isWow64  代表是64位环境运行32位程序
截图2.png
   

NtSetInformationThread  设置线程的优先级句柄-1  是进程的句柄 -2是当前线程的句柄0x11    ThreadHideFromDebugger          = 17,wrk源码
    截图3.png
会设置线程标识
    截图4.png
把调试端口置空
然后继续调用但是传递了错误的地址 如果没调试器应该返回错误 调试器可能处理全部设置为0 证明其存在
然后运行XAD_Initialize函数

    截图5.png
添加调加校验crc32的初始值
    截图6.png
获取64位 ZwQueryInformationProcess的地址 然后减去ntdll64位模块地址 算偏移=0x000000000009d370
    截图7.png
    截图8.png
    截图9.png

    截图10.png
这段代码是直接分析ntdl pe结构 然后计算这个偏移 得到代码 直接得到文件中的代码
    截图11.png
为了得到映射的下标 构造系统调用 代码目保证应用层的NtQueryInformationProcess正确
并使用crc保护自己的代码
然后调用XAD_ExecuteDetect进行检测
1 crc 检测 节表 我们的构造的系统调用 可以防止下代码段被修改
    截图12.png

2 IsDebuggerPresent 检测当前是否正在被调试
    截图13.png

    截图14.png
fs:[30h]指向PEB的基址
    截图15.png

    截图16.png
检测BeingDebugged的值
3 CheckRemoteDebuggerPresent
    截图17.png
实际上是查询NtQueryInformationProcess ProcessDebugPort
    截图18.png 截图18.png
如果DebugPort存在返回 true
4 关闭一个无效句柄 如果被调试会进入异常  
    截图19.png
截图200.png
CloseHandle->NtClose 如果存在debuginfo与debugPort抛出异常 0xC0000008L被调试器接管
5 使用DuplicateHandle进行检测
截图21.png
我这边追流程 好像还是DuplicateHandle...->ObDuplicateObject 调用了NtClose
  
截图22.png
6 检测StrongOD

    截图23.png
7 NtQueryInformationProcess检测 0x1E ProcessDebugObjectHandle
截图24.png

0x1E ProcessDebugObjectHandle
    截图25.png
DbgkOpenProcessDebugPort
    截图26.png
如果DebugPort未存在 返回 STATUS_PORT_NOT_SET 端口未设置
8 内核二次覆盖的BUG来检测反调试
截图27.png

这个没看懂和上面有区别吗 😥
9 使用GetThreadContext检测 检测当前线程是否使用硬件断点
截图28.png
10 使用VEH检测  
截图29.png
添加VEH 到最前面
调用HardwareBreakpointRoutine触发异常 检测硬件断点

   截图30.png
截图31.png
截图6.png
截图9.png

免费评分

参与人数 10吾爱币 +15 热心值 +9 收起 理由
Van42 + 1 + 1 感谢你的分享,评分奉上
2013年 + 1 + 1 我很赞同!
kurikomoe + 1 谢谢@Thanks!
bjwxnman + 1 + 1 今天第一次注册成功,也学习了这篇文章,感谢无私分享!
willJ + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
eec + 1 + 1 用心讨论,共获提升!
mmffddyy + 1 + 1 用心讨论,共获提升!
wekabc + 1 + 1 用心讨论,共获提升!
1MajorTom1 + 1 热心回复!
海水很咸 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

K.O_Angel/睡 发表于 2024-3-7 19:46
感谢您的无私分享,正在研究,3Q
头像被屏蔽
hjsen 发表于 2024-3-8 20:42
mcliu1012 发表于 2024-8-30 09:27
光影由心 发表于 2024-9-7 09:05
好使,顶一个
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-11 18:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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