Giants Version 1.5?
Moderator: Staff
- Baldrick
- Yan the Pimp
- Posts: 143
- Joined: Mon Aug 11, 2003 7:16 am
- Location: Brisbane, Australia
- Contact:
You shouldn' request things that may only "be nice to have"
The gmm maps work fine the way they do, adding them into giants would create extra work.
I wouldn't mind seeing the all seeing eye added into giants.
Tam is right, there are a lot of players that have giants installed, but can't see any servers on it.
The ban function would be good, just a simple deny ip code maybe.
A ping filter would be useful.
Maybe SSJBardock can help, he likes giants a lot, and he is easily contactable.
He can do c++ coding.
The gmm maps work fine the way they do, adding them into giants would create extra work.
I wouldn't mind seeing the all seeing eye added into giants.
Tam is right, there are a lot of players that have giants installed, but can't see any servers on it.
The ban function would be good, just a simple deny ip code maybe.
A ping filter would be useful.
Maybe SSJBardock can help, he likes giants a lot, and he is easily contactable.
He can do c++ coding.
-
- Evil Smartie Genious
- Posts: 240
- Joined: Mon Aug 11, 2003 6:37 pm
It's fairly easy to create trainers, and so far I don't think any protection has gone uncracked.[PM]Olden McGroin wrote:On a serious note, if somebody can point me to what these trainers do, maybe I can do something to break them. The game is 4 years old, you think the creator of them will bother to get them working again?
Common ways to prevent trainer usage/creation:
-Using Dynamic Memory Allocation (DMA), already used by giants and very easy to get around
-Checking window captions/classnames for values known to be trainer craetion tools
-Checking for debuggers running, softice in particular
-Checking the program code for nopped code
-Encrypting important values in memory, like health and amount of ammo
-Storing important values like health and bullet amount on the host machine, preventing client machines to cheat (will increase bandwidth usage and lag)
- Nullpointer
- Staff
- Posts: 116
- Joined: Sun Aug 10, 2003 3:29 pm
First of all, sorry for idling around and not giving messages, I was tired of hacking Giants asm code. I had some things working:
* Logging joining players' IP addresses
* Map menu supports > 18 maps (Page up/down flips pages)
* GMM maps supported directly (adding zip decompression code to decompress .gck files on the fly and make Giants read those files from memory), was meant to be a kind of GMM integration but failed as Giants does not allow to add (downloaded) GMM maps on the fly to its internal lists
* Integration of the "multi kabuto" hack, maps can speficially allow 3rd mecc/reaper team or 2nd kabuto.
* Simple anticheat, works by checking memory locations typically changed by trainers for modifications
* maybe something else...
All this should be very easy to implement if you have access to the source code.
Trainer creation tools act as debuggers but the trainers created with them are NOT recognizable that way, they do their work via OpenProcess() VirtualProtectEx() WriteProcessMemory()
I'd prefer pure "server side reality" but implementing such a thing would require major changes in code such as clients reacting to differences between what they know and what the server tells them what to know (sounds complicated and is complicated in reality, too
* Logging joining players' IP addresses
* Map menu supports > 18 maps (Page up/down flips pages)
* GMM maps supported directly (adding zip decompression code to decompress .gck files on the fly and make Giants read those files from memory), was meant to be a kind of GMM integration but failed as Giants does not allow to add (downloaded) GMM maps on the fly to its internal lists
* Integration of the "multi kabuto" hack, maps can speficially allow 3rd mecc/reaper team or 2nd kabuto.
* Simple anticheat, works by checking memory locations typically changed by trainers for modifications
* maybe something else...
All this should be very easy to implement if you have access to the source code.
Better: Store data using classes and equip those classes with virtual methods, also ensure that the compiler does not resolve these calls at compile time. As a result the generated code becomes complicated like hell.-Using Dynamic Memory Allocation (DMA), already used by giants and very easy to get around
hmm...-Checking window captions/classnames for values known to be trainer craetion tools
...but how to check that the debugger check is not being debug? *g*-Checking for debuggers running, softice in particular
Trainer creation tools act as debuggers but the trainers created with them are NOT recognizable that way, they do their work via OpenProcess() VirtualProtectEx() WriteProcessMemory()
I'd rather check the code for ANY change. NOPs do occur naturally in code for aligning code to 16 byte boundaries and there are further commands that don't do anything but are not as easy to recognize as NOPs are-Checking the program code for nopped code
Good idea, especially if the encryption key is changed every time to cause changed/unchanged checks to fail. Or move important values around in memory so trainer tools fail to find 'em.-Encrypting important values in memory, like health and amount of ammo
Compress network messages, using simple huffman compression (lots of zeroes in transfered data) or changing the messages themselves (not using more precision than actually required, sending codes instead of "Player1 ate Player2's rocket" which will also keep effects of hacked text files to the computer it is installed on)-Storing important values like health and bullet amount on the host machine, preventing client machines to cheat (will increase bandwidth usage and lag)
I'd prefer pure "server side reality" but implementing such a thing would require major changes in code such as clients reacting to differences between what they know and what the server tells them what to know (sounds complicated and is complicated in reality, too
- RichardMH
- Tel the Obnoxious
- Posts: 737
- Joined: Thu Sep 04, 2003 3:38 pm
- Location: Gothenburg, Sweden
- Contact:
lol I just said the words Null wrote
I dont understand bit of it
I dont think ping filter at 250ms is a good thing
(unless you can lower the ping... but if I join a game
hosted by an american I wouldnt be able to join...)
its like dividing "bad" people to the "pure" people
more nazi thinking, if you can change the code somehow
so if I would get 250ms with the old patch and 15ms with the
new then its ok, but not if there wont be a change...
and having gmm inside the game isnt a "nice" thing Baldrick
it would make the map makers maps more often played
The whole GSA and ASE deal...
If I host a game (with the 1.4 patch) it sends a signal telling
gsa there is a game running?
But it doesnt to ASE?
I was always woundering how gsa know there is a game running, and plz dont give me programmer talk lol I wouldnt understand o.O
I would really like a new version of Giantsedit... I cant cut with this version (5.43) and 5.3 gives some warning about the program isnt stable... O.o
I dont understand bit of it
I dont think ping filter at 250ms is a good thing
(unless you can lower the ping... but if I join a game
hosted by an american I wouldnt be able to join...)
its like dividing "bad" people to the "pure" people
more nazi thinking, if you can change the code somehow
so if I would get 250ms with the old patch and 15ms with the
new then its ok, but not if there wont be a change...
and having gmm inside the game isnt a "nice" thing Baldrick
it would make the map makers maps more often played
The whole GSA and ASE deal...
If I host a game (with the 1.4 patch) it sends a signal telling
gsa there is a game running?
But it doesnt to ASE?
I was always woundering how gsa know there is a game running, and plz dont give me programmer talk lol I wouldnt understand o.O
I would really like a new version of Giantsedit... I cant cut with this version (5.43) and 5.3 gives some warning about the program isnt stable... O.o
When you host a server, Giants trys to connect to the GSA "master server"RichardMH wrote: I was always woundering how gsa know there is a game running, and plz dont give me programmer talk lol I wouldnt understand o.O...
The problem is that Gamespy hosts this master server and ASE isn't able to use it...
Nice to see you back Nullpointer
-
- Reg the Smooth Operator
- Posts: 593
- Joined: Tue Aug 19, 2003 4:29 am
- Location: Omnipotent