Page 1 of 1

Signing help

Posted: Fri Jun 24, 2005 6:29 am
by Wowko
ok, so i have modded a few things on warlock, such as pistols shoot out warthogs, shotguns shoot out elites, etc, etc. but when i sign it using dothalo to use in custom games, i get failed to load map, anyone now why?

Posted: Fri Jun 24, 2005 7:30 am
by HaloFreAK1922
did you first sign it in the fantastic 6's signature? cause u need to sign it in that , fix encryption in dothalo, and then sign it again

Posted: Fri Jun 24, 2005 7:53 am
by Wowko
so i use the fantastic six's signature twice? can you explain the whole signing process pls? thnx

Posted: Fri Jun 24, 2005 1:00 pm
by Shalted
HaloFreAK1922 wrote:did you first sign it in the fantastic 6's signature? cause u need to sign it in that , fix encryption in dothalo, and then sign it again
Wtf are you talking about? The TF6 signature is the same as the DotHalo Signature so no matter what, signing it twice is still gunna give you the same sig, Its not loading because Its a DLC map, which hes probably trying to cheat with and its .lvl patch needs to be specially signed, there are other techniques but im not gunna even give a hint about them.

Posted: Fri Jun 24, 2005 1:21 pm
by HaloFreAK1922
dude stop being stupid atleast i tried to help and do u have any proof hes cheating why would u have a warthog on warlock as a cheat? but wahtever why you have to yell at me because i always use it twice and it works perfect so what if you signed it once too many times because you cant sign it too much itll still work

Posted: Fri Jun 24, 2005 6:37 pm
by Shalted
Ok lemme try and make this really simple.

Code: Select all

struct mapHeader {
  char[4] head;
  int version;
  int filesize;
  int zero;
  int indexOffset;
  int metaStart;
  dword[2] unknown;
  char[32] mapOrigin;
  byte[224]unknown;
  char[32] build;
  byte[20] unknown;
  int unknown;
  int offsetToStrangeFileStrings;
  int unknown;
  int offsetToSomething;
  int scriptReferenceCount;
  int sizeOfScriptReference;
  int offsetToScriptReferenceIndex;
  int offsetToScriptReferenceStrings;
  byte[36] unknown;
  char[32] mapName;
  int zero;
  char[32] scenarioPath;
  byte[224] zero;
  int unknown;
  int fileCount;
  int fileTableOffset;
  int fileTableSize;
  int filesIndex;
  int signature;
  byte[1320] zero;
  char[4] foot;
}
So thats the header for a halo 2 map, any changes you make there Dont effect the ES. When you sign a map, It does an eXclusive OR of all the data after the header. Heres an example that a non-programmer should be able to understand

Code: Select all

DWORD XOR_CheckSum=0
Open(halo 2 mapfile)
goto 2048th byte in the file
as long as the we do not reach the end of the map file,
XOR_CheckSum= Itself exclusive or by 1 Dword from the map file
goto the next dword in the map file.
loop back to the "as long as" statement
So no matter what program you sign your map with, it should work. Sorry about assuming that this was cheating, I misread the first post.

Posted: Sat Jun 25, 2005 12:44 pm
by DrunkenBomber
I think it is cheating dude, the map will load just fine if your playing with halo 2 on your hdd, but when you try to play on live or just using the disc it doesent load because the signature has been changed... good luck on modding dude, hope your not one of the ones who cost me to lose my 30 again due to flying spartans and 1 hit kill battle rifles...