Encryptomatic Signature Algorithm

Discuss Halo 2 modding, progress on figuring things out, mapfiles...you know the drill. Cheating discussion not allowed.
Post Reply
Klaz0r





Posts: 49
Joined: Tue Jul 27, 2004 2:36 pm

Encryptomatic Signature Algorithm

Post 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.
zwull





Posts: 134
Joined: Sat Mar 19, 2005 4:42 pm

Post by zwull »

Signature exceeded 75KB.
User avatar
xbox7887




Socialist Coagulator Decryptor Advisor
Eureka Commentator Wave Scorched Earth

Posts: 2160
Joined: Mon Dec 27, 2004 6:19 pm
Location: New Lenox, Illinois
Contact:

Post by xbox7887 »

The checksum is generated by xoring everything from 0x800 to the eof.
User avatar
Ion





Posts: 42
Joined: Wed Feb 07, 2007 7:38 am

Post by Ion »

xbox7887 wrote:The checksum is generated by xoring everything from 0x800 to the eof.
XORing with what?
User avatar
Prey




Connoisseur Snitch! Pyre Articulatist 500

Posts: 1026
Joined: Wed Dec 27, 2006 6:49 am
Location: UK
Contact:

Post 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.
Halo 2 Prophet - Skin with ease with the simple 3D point and click interface.
Halo 3 Research Thread - Contribute to the research into Halo 3.
User avatar
Ion





Posts: 42
Joined: Wed Feb 07, 2007 7:38 am

Post 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
User avatar
Prey




Connoisseur Snitch! Pyre Articulatist 500

Posts: 1026
Joined: Wed Dec 27, 2006 6:49 am
Location: UK
Contact:

Post 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();
Halo 2 Prophet - Skin with ease with the simple 3D point and click interface.
Halo 3 Research Thread - Contribute to the research into Halo 3.
OwnZ joO




Articulatist 500

Posts: 980
Joined: Thu Nov 10, 2005 4:24 pm

Post by OwnZ joO »

He's just saying xoring with 0 gets the same value you xor it with, so it's pointless.
Post Reply