crc check

Started by
4 comments, last by krakrazor 20 years, 1 month ago
How do i modify a file without letting the program that does a crc check on it know that it''s been changed... the only thing that i change in the file is one byte will have it''s value either set to zero or subtracted by one. also.. how does the CRC check work? is there a way to change something somewhere else in the file and make the crc match?
Advertisement
CRC is short for Cylic Redundany Checking, now go STFW (google.com).
Yes, that would be quite easy, especially if you can edit the end of the file, for example if the file size isn''t checked, and additional data at the end isn''t needed. But it''s possible to do even for data in the middle of the file. This assumes that you know the expected crc, either by calculating it from several files using the same crc polynom.

MD5 is quite a bit more safe, but even that can be hacked with brute force.

I''m obvously not giving out any code, or methods, simply because I can''t see any legal use for this. And I haven''t looked at crc from that point of view either(just enough to understand it weakenesses), so I don''t have anything ready. But all I know is that brute force would be quite straightforward.
i have found a way of removing the fog in one of the games i play by changing the 3d engine dll file... but too bad the program checks for the CRC or something like that cause it can detect the change wihtout the timestamp changing.
typically the crc will change if you alter a single bit of whatever it is that you are crcing. that's the whole point of a crc. it checks to make sure that every single little bit is exactly the same as it was when the game shipped.

if your game is an RTS, i'm sure there's already a cheat built into the game to remove the fog of war, but it'll only work in single player mode. if you're trying to change your dll so you can see the other player in multi-player mode, then everyone here hates you. but also your task will be impossible because it's the other player's machine that is checking the CRC value of your dll, so there's no way for you to get your change to work. also, if that's the case it's really lame that you are trying to cheat at a game. there's nothing cool about fucking with other people's fun so you can feel all cool about yourself. cheating like that in multi-player game literally RUINS the game for other people. thinking that something like that is cool is a mark of extreme immaturity.

-me

[edited by - Palidine on March 19, 2004 8:15:44 PM]
The program that is checking the CRC value has to have the expected CRC value stored somewhere. So, if you can find out where that CRC value is stored, what you need to do is the following.

1) Make the changes to the file in question.
2) Calculate the new CRC value.
3) Replace the *expected* CRC value with the *new* CRC value.

This way, when the CRC of the file is checked, it will match up. There may be other issues involved depending upon how the original author coded things...

MJB

This topic is closed to new replies.

Advertisement