Page 1 of 1

Encryptomatic Signature Algorithm

Posted: Fri Dec 30, 2005 11:38 pm
by Klaz0r
Hey, I've been looking around, and I can't find the article the iron_forge or whoever released that talked about the halo 2 encryptomatic signature(unless it never even existed, but I think I can remember it). I'm basically looking for the algorithm to re-encrypt the mapfile, or the code in VB that would do it. I've been searching for a couple of days, but I just know that someone will search and find it in a couple of minutes, that's just my luck.

Posted: Thu Jan 19, 2006 5:33 pm
by zwull

Posted: Mon Jan 23, 2006 7:14 am
by xbox7887
The checksum is generated by xoring everything from 0x800 to the eof.

Posted: Sun Mar 18, 2007 11:51 am
by Ion
xbox7887 wrote:The checksum is generated by xoring everything from 0x800 to the eof.
XORing with what?

Posted: Sun Mar 18, 2007 12:55 pm
by Prey
You xor the first int32 with 0, then the result of that with the next int32 in thr map and so on until you reach the eof like xbox said.

Posted: Mon Mar 19, 2007 8:03 am
by Ion
Ok, so you xor the next read dword with the checksum.
Xoring with 0? XORing a value with 0 would be rather pointless. :p

Posted: Mon Mar 19, 2007 8:13 am
by Prey
Im not going to argue.

Code: Select all

            FileStream fs = new FileStream(map.path,
                FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);

            BinaryReader br = new BinaryReader(fs);
            BinaryWriter bw = new BinaryWriter(fs);

            int sig = 0;
            long length = br.BaseStream.Length;

            br.BaseStream.Position = 2048;

            for (long i = 2048; i < length; i += 4)
                sig ^= br.ReadInt32();

            br.BaseStream.Position = 720;
            bw.Write(sig);

            br.Close();
            bw.Close();

Posted: Mon Mar 19, 2007 2:41 pm
by OwnZ joO
He's just saying xoring with 0 gets the same value you xor it with, so it's pointless.