nesrocks
Member
Very short: I have a buffer and I want to modify some bytes of it, but I want the resulting buffer to have the same CRC32 hash as the original buffer. Got it mostly working, except for one line of code (what is "inverse(x32)").
Assumptions:
- I can get the CRC32 hash of any buffer using this script
- I am freely modifying a known section of the buffer (say, byte range $200-$300)
- I have a 4 bytes section of the buffer I can freely modify to get the desired CRC32 hash (say $ffc-$fff)
I tried following this thread and I got everything working up to the inverse crc part (his step 4). I just don't understand it. It points to scripts in different programming languages that I'm really not familiar with. The rest of the steps are straight-forward, but step 4 is too cryptic as it is. More specifically, I don't understand what does "inverse(x32)" mean. Any ideas?
edit: There's a very verbose explanation here but I'm still lost.
https://www.reddit.com/r/crypto/comments/3h6qeh/generating_crc32_collisions/cu4rg2p/
Assumptions:
- I can get the CRC32 hash of any buffer using this script
- I am freely modifying a known section of the buffer (say, byte range $200-$300)
- I have a 4 bytes section of the buffer I can freely modify to get the desired CRC32 hash (say $ffc-$fff)
I tried following this thread and I got everything working up to the inverse crc part (his step 4). I just don't understand it. It points to scripts in different programming languages that I'm really not familiar with. The rest of the steps are straight-forward, but step 4 is too cryptic as it is. More specifically, I don't understand what does "inverse(x32)" mean. Any ideas?
edit: There's a very verbose explanation here but I'm still lost.
https://www.reddit.com/r/crypto/comments/3h6qeh/generating_crc32_collisions/cu4rg2p/
Last edited: