diff --git a/README.md b/README.md index 7b86e86..4eb571c 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,20 @@ reverse engineering of bedaisy.sys (battleyes kernel driver). By registering on image load callbacks and IAT hooking BEDaisy's `MmGetSystemRoutineAddress` we can simply hook any imports we want and have control flow over subsequent functions. - \ No newline at end of file + + +# APCS + +The below function will be executed in each thread that bedaisy registers an APC on. + +```cpp +__int64 __usercall apc_callback@(char _CL@, char _BH@, __int64 *a3@) +{ + __int64 v4; // rbx + + __asm { rcl bh, cl } + v4 = *a3; + *(_DWORD *)(v4 + 2160) = RtlWalkFrameChain(*a3 + 0x70, 256i64, 0i64); + return KeSetEvent(v4 + 88, 0i64, 0i64); +} +``` \ No newline at end of file