> An idea might be that the half-life game itself (valve guy stuff) would do 
> more of a "security check" on the mod being loaded. The game is provided 
> the location of the .dll (or .so) to load, so why not do something like a 
> CRC on the mod, compare it do a crc of the actual distributed file by the 
> mod authors, and if it matches, let it load.
<snip>

Unfortunately, CRC isn't all that reliable a way to test if two files are
identical.  If I remember correctly (can't be arsed to find my Numerical
Recipes in C right now) the CRC of a file can be made anything you like by
setting a contiguous number of bits in the file, equal to the number of bits of
the CRC, to a certain value.  For example, if you're doing a 32-bit CRC, then
by setting 32 contiguous bits anywhere in the file to certain values, you can
make the CRC be any arbitrary number.  This means you can make a modified
client.dll have the same CRC as the unmodified one, just by changing 32
consecutive bits of it.  However, there are other kinds of checksums similiar
to CRC that may be better suited to this task.

I'd also like to point out that as long as the server and client are
distributed together, cheaters and crackers will be able to find and exploit
vulnerabilities in a game's multiplayer system.  Even though they cannot
*modify* the server code when playing online, they still have copies of the
server on their own machines, which they can dissassemble and pick apart at
will.  That means they will be able to find vulnerabilities (which always
exist, no matter how much you try to eliminate them) and exploit those
vulnerabilities to cheat.
---Reedbeta

__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to