New programmer going deeper into Source, need clarification/advice with VAC
6 replies, posted
*I'm not sure about posting this here as an independient thread or inside the help one, sorry. Also I don't know if I should have asked this at HLCoders*
How I should start explaining the issue that I have? I have been going around with Source, touching his code superficially (you know, your typical VDC/ModDB/other site tutorials about "How to add a pistol with burst fire" or "add an element to the HUD"), and now that I have more time to do stuff, I wanna go deeper, but there is an issue that made me always be scared to touch more than I should:
VAC.
Is not easy to gather info about it, since Valve is silent about how it works exactly. It doesn't help that I'm paranoid with it, and I never do something that might trigger it.
The only information that I was able to find about what makes it trigger are the following:
-A modified opengl32.dll (not matter what you do with it) [GoldSrc]: [URL]https://www.mail-archive.com/hlcoders%40list.valvesoftware.com/msg30586.html[/URL]
-(Not sure if I got it correctly) draw anything on the screen buffer with DirectX and/or an external program doing that: [URL]https://www.mail-archive.com/hlcoders%40list.valvesoftware.com/msg18808.html[/URL]
-Clientside callbacks to the DLL: [URL]https://www.mail-archive.com/hlcoders%40list.valvesoftware.com/msg29892.html[/URL]
-Touching cBaseEntity and cBasePlayer: [URL]https://www.mail-archive.com/hlcoders%40list.valvesoftware.com/msg09983.html[/URL]
-Hooking functions (I must investigate futher what he meants with this): [URL]https://www.mail-archive.com/hlcoders%40list.valvesoftware.com/msg29213.html[/URL]
I'm just being too paranoid, and I should touching the code anyway, right? I wanna explore and do my own things. Should I do the stuff on a separate computer with an alternate account just in case?
Also, on the first link ( [URL]https://www.mail-archive.com/hlcoders%40list.valvesoftware.com/msg30586.html[/URL] ), what he means with "the .code section of the game executables"? Is just a GoldSrc thing? I don't remember seeing something like that on Source.
If you making a mod normally and not hooking into an existing game and changing its behaviour, then literally none of this applies.
[QUOTE=Maestro Fenix;45847929]Should I do the stuff on a separate computer with an alternate account just in case?
[/QUOTE]
Yes you should.
And what SteveUK said.
Also newer versions of steam/vac are a bit more aggressive.
I'll assume that you want to make a hack instead of a mod.
That info you got there is a startingpoint but not more; in fact it's far from complete.
I can tell you that you can be flagged even for modifying .rdata and .data, not only .text.
If you want a reversing challenge listen for the new allocations in the size-ranges of 50kb-150kb and 1300kb-2000kb that have PAGE_GUARD
Happy hacking...
edit:
oh and for hooking - don't believe the guys that tell you changing vtables is safe (neither global nor instance)
Nah, I'm just making a mod, is just that I saw a couple of mod programmers getting VAC banned for touching stuff that they shouldn't (for not talking about the mod Paranoia, which has a custom DLL that triggers VAC if you choose a visual upgrade, I think it was).
Not more advices?
*I wish there were better and more tutorials about coding in Source, half of them are obsolete due the changing engines/VS version*
Just make a complete custom mod with the mod tools provided by valve then nothing can happen.
As soon as you begin changing binaries built by anyone besides you you're in dangerous territory (depending on what you do).
[QUOTE=Felheart;45849063]oh and for hooking - don't believe the guys that tell you changing vtables is safe (neither global nor instance)[/QUOTE]
No idea where you would take that from but unless there are some recent changes nothing automated will catch that (if done right).
Sorry, you need to Log In to post a reply to this thread.