Full Project Name: Project Goodwitch - Full Scale C# Anti-Cheat
Goodwitch is an anti-cheat written in C# which supports traditional and modern usermode(ring3) anti-cheat features from process and debugger detection to detection of memory manipulations.
The motivation for this project stemmed from the observation that majority of modern anti-cheats are developed under the native language(C++) and due to many issues surrounding portability of native environment to .NET/C#, Goodwitch was born. I also wanted to test the limitations of my knowledge and skills in C# as well as interested on how far I could achieve with this project. It is also my year 12 major MDP project.
For Goodwitch, I have chosen to go with C# since C++ is traditionally and commonly used in anti-cheat development. Due to the above, I wanted to reverse the mindset that anti-cheats can only be developed in C++. I also wanted to show that for C# based games such as Unity Engine games, the Goodwitch library can be used to easily integrate and implement compatible C# anti-cheat solution. Java was also another option, however due to it’s abstractness of implementing it to a native and managed processes as well as Java being compiled and ran under the JVM which when compared to other languages it is slower in time complexity and resource heavy, it was disregarded.