Right, firstly this is a Kernel driver that reads and writes memory it'll bypass BattlEye no issues and allow your cheats to load and work properly. BUT if you plan on using this I HIGHLY recommend you HEAVILY modify the variables, names, add junk code etc. Otherwise BE will sniff you out faster than you can say "F*** me".
This source code is partly mine and partly someone else's from another forum. Proper credit to him for the base. This is a functioning BE bypass and will be for a while, I will not help you fix the code and make it work. You need VS 2015 and Kernel build tools 10.0

I hope this code helps you in the long run, if it doesn't sorry. This isn't for newbies. <3
This dynamically gets the offset to the CallbackList in the OBJECT_TYPE structure once the offset is grabbed it'll essentially disables the process/thread object callbacks set by BE, so you can use OpenProcess/OpenThread and do stuff as normal, pretty much.
P.S. This method will never be stopped. Yes this DLL source can be killed that's why you must HEAVILY modify it.
Credits:
Me - Updating for R6S
Duggem - Original idea
anher0 - Making base
VIRUS SCANS:
https://virustotal.com/en/file/9c2a5...is/1470119244/
https://virusscan.jotti.org/en-US/fi...job/zwso9apync
-- Strictly source code. If you wish for virus scan just let me know.