I'm not familiar with what procedural programming means (we probably have another term for it in my language). But in the end, if you want it more object oriented or not, that's pretty much up to you and how you choose to structure things.
There's different types of hacks and ways to find what you are looking for. console vars for instance are used for some hacks and they are all public and readily accessable, an example of a console command is drawguns 0/1 where the latter value defines whether to draw it or not. Some hacks like rapid fire are memory hacks and requires you to load a dumped module into a disassembler and look for the bytes (usually off bytes, as a lot of memory hacks are simply done by noping the bytes (\x90, no operation). Some hacks are also accomplished by sending data to the server, in this case to find what you want to send, you will either need to hook the function and log data or simply depend on what's available posted by other people.