游戏安全C/C++汇编 [2021]过反截图,截图中隐藏自己 dwmcore.dll目前被各大外挂用的如火如荼 它不需要驱动也不需要新的窗口就能绘制外挂的图案. 在这里给几个小技巧: 截图中隐藏自己->hook dwmcore.dll.CDrawingContext::FillRectangularShapeWithColor 这个是绘制黑框的,patch掉就行(win7是CWindowNode::RenderBlackImage(CDrawingContext *)) "无窗口绘制" hook: ```cpp __int64 __fastcall CD3DDeviceLevel1::PresentSwapChain(CD3DDeviceLevel1 *this, struct CSwapChainBase *, const struct CRegion *, unsigned int, unsigned int, const struct RenderTargetPresentParameters *) ``` CSwapChainBase -> IDXGISwapChain -> ID3D11Device 拿到D3D buff 随意绘制(很多外挂使用管道通讯来控制绘制什么) 阅读全文 2021-02-28 huoji 0 条评论
工具软件web安全游戏安全 [2017]记一次处理干扰型DDOS攻击 以前的老文章,结果找了一圈发现渗透吧和阿里云的也没有了,于是在这里做个存档. 阅读全文 2021-02-28 huoji 0 条评论
游戏安全C/C++汇编 [2021]瓦罗兰Hypervisor检测 rdtsc检测,出现问题立刻调用KeAccumulateTicks蓝屏: ```cpp push rbx sub rsp, 20h rdtsc shl rdx, 20h or rax, rdx mov [rsp], rax xor eax, eax xor ecx, ecx cpuid lea r8, [rsp+10h] mov [r8], eax mov [r8+4], ebx mov [r8+8], ecx mov [r8+0Ch], edx rdtsc shl rdx, 20h or rax, rdx mov [rsp+8], rax mov rax, [rsp] mov rcx, [rsp+8] sub rcx, rax mov rax, rcx add rsp, 20h pop rbx ``` wrmsr检测: ```cpp push rbp push rcx push r9 movzx r9, bp push r13 movsxd r9, r11d movsx r9w, bl xchg r9b, r9b push r14 movzx r9w, spl cmovno r9d, r9d movsx r9d, dx push rdi setz r9b movsx edi, di push r8 movsx r9, r10w movzx r9, di mov ax, ss pushfq or dword ptr [rsp], 100h popfq and eax, 0FFFFFEFFh wrmsr pushfq mov ss, ax icebp rdmsr pushfq push r10 and dword ptr [rsp], 0FFFFFEFFh popfq push rdx push rax push r15 push rsi mov ecx, 0C0000084h or dword ptr [rsp], 100h popfq syscall mov r10, rcx mov ecx, 0C0000084h pop rax pop rdx push r12 push rbx wrmsr与syscall mov rax, r10 xor eax, eax inc eax ror r9d, 1 not r9d rol r9d, 1 xor r9d, 529C0010h push r10 add r10, rbx bswap r10w xor [rsp+210h+var_210], r9d shld r10, r9, 0B4h rcl r10, cl bsf r10, rbp pop r10 jmp loc_14033A00E ``` 阅读全文 2021-02-25 huoji 0 条评论
二进制安全游戏安全C/C++汇编 [2021]解决掉一些常见的hypervisor检测向量 目标:让游戏能在vmware中顺利运行 CPUID部分: 安排掉CPUID_HYPERVISOR_VENDOR: 阅读全文 2021-02-24 huoji 0 条评论
二进制安全游戏安全C/C++汇编Shellcode [2021]EAC可能使用g_CiEaCacheLookasideList检查漏洞驱动 当系统加载驱动的时候,ntoskernel.exe会call CiValidateImageHeader CiValidateImageHeader中有一个叫做CipGetFileCache的东西,当驱动加载完毕,系统会将签名信息存放到g_CiEaCacheLookasideList中作为缓存,EAC极有可能扫描这个地方去寻找有问题的驱动加载,调用链: CiValidateImageHeader->CipValidateFileInCache->CipGetFileCache->g_CiEaCacheLookasideList  阅读全文 2021-02-06 huoji 0 条评论
二进制安全游戏安全C/C++汇编 [2021]会引起VMExit的指令 这些指令都有可能会被用到检测hypervisor.目前已经有几个指令被用去了,但是,好在这些指令数量不是特别多 这边给做个整理. 会引起无条件退出的指令: CPUID <-BE/EAC用了 GETSEC INVD XSETBV <-BE用了 INVEPT INVVPI 有条件退出指令 CLT ENCLS ENCLV HLT INVLPG INVPCID LGDT LIDT LLDT LTR SGDT SIDT SLDT LMSW MONITOR MOV FROM(CR3/CR0) MOV TO(CR0/CR3/CR4/CR8/DR) mwait pause rdmsr rdpmc rdseed RDST(c,p) <-BE EAC用了 rsm vmread vmwrite wbinbd wrmsr xrstors xrsaves 阅读全文 2021-01-31 huoji 0 条评论
游戏安全汇编Shellcode [2021]EAC 虚拟机检测大全 目前EAC有这几个已知的方法:  请注意,还有一个方法是被虚拟化的 https://key08.com/index.php/2021/01/22/887.html anti_hv_rdtsc_time_attack是经典的RDTSC时间攻击,最早最早是国人2006年在看雪论坛上发现的方法,利用RDTSC时间差判断是否在虚拟机里面  阅读全文 2021-01-24 huoji 0 条评论