分类
游戏安全

EasyAntiCheat UserMode ProcessInstrumentationCallback

updated Dumped by 2020/5/16 apex eac usermode


//在系统版本大于等于windows 8的系统上 eac设置的用户模式 syscall 回调 .
//2020/5/19 修正
//其中eac vm后的代码 对 以下几个地址非常感兴趣
//ntdll.KiUserApcDispatcher 可能用于过滤apc
//ntdll.LdrInitializeThunk  
//ntdll.NtProtectVirtualMemory+14 监视程序修改了哪些内存的属性么

244CAD60000 - push rax
244CAD60001 - push rcx
244CAD60002 - push rdx
244CAD60003 - push rbx
244CAD60004 - push rbp
244CAD60005 - push rsi
244CAD60006 - push rdi
244CAD60007 - push r8
244CAD60009 - push r9
244CAD6000B - push r10
244CAD6000D - push r11
244CAD6000F - push r12
244CAD60011 - push r13
244CAD60013 - push r14
244CAD60015 - push r15
244CAD60017 - mov rdx,rcx
244CAD6001A - lea rcx,[rsp+28]
244CAD6001F - lea r8,[rsp+78]
244CAD60024 - push rcx
244CAD60025 - push rdx
244CAD60026 - push r8
244CAD60028 - sub rsp,28 { 40 }
244CAD6002C - call 244CAD60073//检查 是否调试器附加
244CAD60031 - add rsp,28 { 40 }
244CAD60035 - pop r8
244CAD60037 - pop rdx
244CAD60038 - pop rcx
244CAD60039 - mov rax,00000244CAE5097C { (63505129) }
244CAD60043 - cmp eax,DEADC0DE { -559038242 }
244CAD60048 - je 244CAD60059
244CAD6004A - lea r9,[rsp+70]
244CAD6004F - sub rsp,28 { 40 }
244CAD60053 - call rax //跳转到用户模式内部反作弊 检查一些东西 代码vm过了 我就不看了
244CAD60055 - add rsp,28 { 40 }
244CAD60059 - pop r15
244CAD6005B - pop r14
244CAD6005D - pop r13
244CAD6005F - pop r12
244CAD60061 - pop r11
244CAD60063 - pop r10
244CAD60065 - pop r9
244CAD60067 - pop r8
244CAD60069 - pop rdi
244CAD6006A - pop rsi
244CAD6006B - pop rbp
244CAD6006C - pop rbx
244CAD6006D - pop rdx
244CAD6006E - pop rcx
244CAD6006F - pop rax
244CAD60070 - jmp r10 //跳转到syscall 后面去
244CAD60073 - mov rax,ntdll.LdrInitializeThunk { (-2092412096) }
244CAD6007D - cmp rax,[rcx]
244CAD60080 - je 244CAD60083
244CAD60082 - ret 
244CAD60083 - mov rax,ntdll.DbgUiRemoteBreakin { (-9830294) }
244CAD6008D - cmp rax,[rdx+00000080]
244CAD60094 - je 244CAD60097
244CAD60096 - ret 
244CAD60097 - push rax
244CAD60098 - push rcx
244CAD60099 - sub rsp,28 { 40 }
244CAD6009D - or rcx,-01 { 255 }
244CAD600A1 - mov rax,ntdll.NtTerminateProcess { (0.00) } 直接结束进程的干活
244CAD600AB - test rax,rax
244CAD600AE - je 244CAD600B2
244CAD600B0 - call rax
244CAD600B2 - add rsp,28 { 40 }
244CAD600B6 - pop rcx
244CAD600B7 - pop rax
244CAD600B8 - ret 

关于如何使用该回调:https://github.com/ionescu007/HookingNirvana/blob/master/instrument/main.c

0 0 vote
文章评分

由FAKE

Через тернии к звездам,
через радость и слезы
Мы проложим дорогу

Subscribe
提醒
guest
你的昵称 用于分别你是谁
你的电子邮箱 用于被回复时通知
0 评论
Inline Feedbacks
View all comments