How I documented all CVar values in WoW 3.3.5.12340 - Function Hooking with C++ & MS Detours
A few weeks ago I wanted to know which CVar values are available in the WoW 3.3.5.12340 client, because it might have helped me in my reversing project for the cull disabling.
Since I didn't find a documentation which was complete enough for my liking, I chose to create it myself.
During my reversing tasks I learned about a client function called CVar__Register, which is called to register each and every CVar in the client.
So if I was just able to log with which parameters this function was called, I would have the most complete documentation there can be.
Thankfully some people tipped me off that there is a thing called Function Hooking (also referred to as Detouring sometimes) which allows me to do that.
With this technique one can replace any function in a binary with a custom one, and then decide to either forward the call to the original one (like in my case) or just return from the custom function.
For the documentation it was obviously the first path - just writing a CSV line for each CVar__Register call, and then forwarding the call to the original function, so the client keeps working.
This video is intended as an interesting introduction to FH, as well a beginner's guide.
Code for this project is available on my own Git site:
https://drfrugal.xyz/git/DrFrugal/CVarRegisterSpreadsheet
Other Videos By DrFrugal
Other Statistics
World of WarCraft Statistics For DrFrugal
At present, DrFrugal has 43,089 views spread across 56 videos for World of WarCraft, with his channel uploading 11 hours worth of World of WarCraft videos. This is 18.97% of the total watchable video on DrFrugal's YouTube channel.