Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsCog Forum → I honestly don't know this:
I honestly don't know this:
2004-11-29, 4:40 PM #1
I do not know if you can edit the innards of a .gob for a mod, use checksum passing cog techniques, regob, and pass checksum with a mod.

Is it possible? If JK checks the gob structure, or even modified date, then it might not pass. (if LEC was smart...)

If that was the case, then you could match up the gob structure or modify the modified date with a program to get hacked mods to pass checksum.

My Goal: Unhackable TDiR......
-Hell Raiser
2004-11-29, 4:47 PM #2
Very possible, very easy. You're going to have to use an external program method like Lunatiks AHP.

http://www27.brinkster.com/eahlunatik/ahp.html
check how it's done there.
</sarcasm>
<Anovis> mmmm I wanna lick your wet, Mentis.
__________
2004-11-29, 5:44 PM #3
You wouldn't even need to regob, just throw the edited cogs in a subfolder "cog" where the mod's gob is loaded from and they'd load first.

For the record, Lunatik's AHP is still hackable, and it's pretty complex.

My personal suggestion (as I've thought on making "anti-hacking" before) would be simple client/server based cogs as follows:

Server cog is host only (rather, it's flags are so it'll just execute on the hosts machine and inside the cog will be IsServer() if statements; hacking this cog won't really matter). The server cog generates a random number, and based on the results, picks a random player in game (who isn't the host) and sends them a trigger. The client cog would be super minimalist. If it's just one line of code, it'll be "unhackable" and will simply send a reply trigger with the requested information. A timer will start on the server cog after the trigger "question" is sent of maybe 15 seconds. If the client doesn't reply within 15 seconds, or the reply indicates they're cheating, they'll be jailed, faded, nulled, frozen, etc. very painfully and an announcement to the game will be made that suggests the host should kick them.

These cogs would be level based probably, since TDiR has required levels correct? If not it would probably work in mod form, but having them just be level declared cogs would be easier (rather than attaching them to inventory bins).

Now... what information do the triggers contain and what would the client cogs be like to make them as unhackable as possible you might be asking. Here's what I think:

The host would send a trigger like this:
SendTrigger(randomplayer, 14001, 60, 0, 0, 0);

The client cog would be something like this:
trigger:
if(GetSourceRef() == 14001) SendTrigger(GetSenderRef(), 14101, GetParam(0), GetInvMin(GetLocalPlayerThing(), GetParam(0)), 0, 0);
Return;

1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
Retun;

The player the message is sent to and the bin checked would be random, and if the bin's min/max is not the number it should be, they're cheating. Likewise, flags and player model can be checked server-side for cheating.

Why all the 1s? Well, a certain percent of the beginning of a cog is "unhackable" meaning if it's changed at all it fails checksum. It'd probably be safe to leave out all the 1s, since they're just fuel for a decent JK "hacker" to use... it's kind of a tough call either way.

This method wouldn't be foolproof, but unfortunately nothing is for JK. There's always a way around it. Lunatik's solution just randomizes cogs a little bit, but you can still quickly rip them from the gob, use the character counter he wrote to do a quick and dirty count and throw in a small hack template of code in where there's room. Not as versatile of cheating as you'd normally have access to, but it's still doable.

This would simply add a way to grab inventory values off a client computer.

QM
2004-11-29, 7:22 PM #4
Nice goal, but truthfully, impossible. JK is always hackable. You could try what Quib suggested. Of course such checks couldn't be done too often, or else it'd add lag. But JK can always be hacked.
_ _ _____________ _ _
Wolf Moon
Cast Your Spell On Me
Beware
The Woods At Night
The Wolf Has Come
2004-11-29, 8:50 PM #5
Since I'm gonna use the launcher to grab bin ammounts from memory to save stats, I guess I could have my own master encrypted checksum, then when a hacked version is attempted, the launcher will spit in their face. After all, you can't save your character stats unless you run the mod through the launcher so the launcher can grab the process ID to access JK.exe's memory. ;)
-Hell Raiser

↑ Up to the top!