![]() | ||
H3 beta modding
| ||
| | LinkBack | Thread Tools | Display Modes |
| | #1 |
| Junior Member | THIS WAS CREATED BY PREY ALL THE CREDITED GOES TO HIM, HE MADE THIS TUT THANKS PREY FOR THIS , Hacking the Halo 3 Beta This topic has the sole purpose of being the place where we collaborate our thoughts and ideas on the format of Bungies new .map files. A quick FAQ.. How can i get at these Beta maps? H3 Beta Leaker kindly uploaded the file to megaupload HERE What do i do with this file? How do i access the map files? The file follows the same format as a demo file, this is known as a LIVE file. PIRS/LIVE/CON_ files pretty much all follow the same structure, they are 'generic container files' in which many more files and folders are found within. To access these file and folders download wxPirs HERE. Now navigate to the 'maps' folder, highlight all the .map files, right-click and hit 'Extract files' and of course choose a folder to extract them to! So.. now what? well, open up one of the maps in a hex editor (eg. Hex Workshop) and start finding links to things such as the tag meta, file table etc.. and then post your research in this thread (if its useful!) so others can take it away and possibly expand upon it, and before ya know it, we've hacked Halo3 Will we be able to playtest any mods we make? No, remember that generic container file? Well thats protected by a signed hash that no-ones figured out yet.. so whilst we can extract and edit these maps, theres no way we can inject them back in.. yet. Although i could be wrong as someone was talking about burning the file to a CD and it working? It'd be great if someone could verify that in THIS topic. What we know so far.. (offset, type, endian, name, description) Header - the first 2048 bytes of the map 0 - string - little - head - 4 letters that spell out 'head' 4 - int32 - big - version - the map version, halo3 maps are v9 8 - int32 - big - filesize - the total count of bytes that make up the map 16 - int32 - big - primaryMagicConstant PrimaryMagic = (PrimaryMagicConstant - IndexOffset) 28 - byte[] - ? - origin - 256 bytes of space for storing info when in cache (at least it was in Halo2 anyway) 284 - string - little - timeStamp - 32 letters that make of the time stamp of the map 316 - int16 - big - mapType - a number representing the type of the map (Halo2: 0=sp 1=mp 2=mm 3=shared 4=spshared) 348 - int32 - big - stringsOffset128 - strings that are each within 128 byte blocks 352 - int32 - big - stringCount - the amount of strings 356 - int32 - big - stringsSize - the total count of bytes that make up the strings 360 - int32 - big - stringsIndexOffset - the beginning of the strings index in the map 364 - int32 - big - stringsOffset - the beginning of the strings in the map 404 - string - little - internalName - 32 letters that make up the internal name of the map - e.g. snowbound 440 - string - little - scenarioName - 256 letters that make up the scenario name of the map - e.g. levels\multi\snowbound\snowbound 700 - int32 - big - fileTableCount - the amount of strings within the table 704 - int32 - big - fileTableOffset - the beginning of the table in the map 708 - int32 - big - fileTableSize - the total count of bytes that make up the table 712 - int32 - big - fileTableIndexOffset - the beginning of the tables index in the map 716 - int32 - little/big - checksum - maps safecheck, its every byte after the header(2048bytes) xored 2044 - string - little - foot - 4 letters that spell out 'foot' Index 0 - tagTypeCount 4 - tagTypeIndexOffset (-PrimaryMagic) 8 - objectCount 12 - objectIndexPointer offsetOfObjectIndex = (objectIndexPointer - PrimaryMagic) 16 - Always 5? 20 - Points just above index (-PrimaryMagic) 24 - Always 0000 0000? 28 - Points just above index as offset 20 (-PrimaryMagic) 32 - unk 36 - 'tags' TagTypes Index This consists of 16-byte blocks with the 4 letters (bipd, matg) being the first 4 bytes. The other 12 bytes is something ive yet to look in to. Tags Info This consists of 8-byte blocks, that 'i think' follow this structure: 0 - int16 - Index of the tags Type 2 - int16 - The tag number? 4 - int32 - The tags ident The Index Offset It is possible that Bungie have simply stored the indexOffset of each map within the .xex somewhere (the bit that contains all the code). For now ive hardcoded them into the app below. The Application Reduced: 80% of original size [ 636 x 507 ] - Click to view full image![]() -> http://www.filesend.net/download.php?f=7ac...ab44affc71f2638 |
| |
| | #2 |
| Senior Member | if everyone contriutes we will hack h3 beta but they will stop what ever we did in the final tho |
| |
| | #3 |
| Music Main ![]() | that's why we protect the information until it's too late for halo 3 to do anything about it. |
| |
| | #4 |
| Gone ![]() | Its only the Beta anyways. |
| |
| | #5 |
| Junior Member | |
| |
| | #6 |
| Member | I hope people mod in the Beta so you can't mod in the real game. That's why they're doing this is so people cheat and then they fix it. So mod now in the beta and not in the real game. |
| |
| | #7 |
| 7S Enthusiast | People will find a way to mod the real game no matter what. Its inevitable. Almost every good game out there has been/can be modded, if people really put their minds to it. I mean, if you find out a way to mod now, Bungie can stop it, but they cant stop every way. I mean, theres nothing they can do that will PERMANENTLY stop modders, except ban them the first chance they get, but then they cant stop offline modding. Its inevitable. |
| |
| | #8 |
| Novice | True SapperThwack all they can try to stop is online but they can do nothing about offline modding |
| |
| | #9 |
| I ****ing dare you ![]() | hmmm the only thing that i am worried about is what if bungie comes out with a new system that uses hash codes to protect editing the files? because i am wondering if they will come out with some new system for their ".map" files that will prevent the extraction of the contents unless the correct hash is provided. |
| |
| | #10 |
| Junior Member | That when we (the people who understand what could happen, what might happen, and what is happening at one point or another) fix their hash to be able to bypass it. It can be done. Next time I talk to my uncle (worked for a Compaq division in the R & D department for encryptions and hash codes) I'll ask him what can be done. All those in favor say I! |
| |
| | #11 |
| Novice | thts preety kool tht u already have halo3 mods tell me them plzz |
| |