Jump to content

  •  

  • iBotModz CBox


    Photo

    hex editing fable 2 tut


    • Please log in to reply
    7 replies to this topic

    #1 Repoman 108

    Repoman 108

      Private Grade 2

    • Members+

    • 71 posts
    • Joined: 19-April 08

    Posted 05 February 2009 - 03:08 PM

    this tut will teach you what i already know about modding fable 2.

    to start off with i will quickly show you how to identify your herosave from the other ones. this seems straight forward enough however this is just to clarify for future reference. the ingame names for your heros goes from Hero 1 to Hero 6, however the filenames for your heroes is different. the order goes from Hero000 to Hero005, which means that Hero000 = Hero 1 and Hero001 = Hero 2 etc. just to clear that up for everyone incase you plan on making a copy of your herosave inorder to dup items, all you have to do is change the CON header where it says "Hero 1" or whatever hero it is, to be whatever other hero of the slot you want it to take up eg. Hero 4. and then you need to change the name of it to suit it.
    example.

    Posted Image

    Posted Image



    NOTE:
    IMPORTANT!!!


    this is very important and i will be mentioning it in other sections of the tutorial but i will spell it out for you here first. THERE ARE TWO SECTIONS THAT YOU NEED TO EDIT FOR EVERYTHING! in the tut it will tell you what to search for and edit, once youve edited that section it tells you to edit, you have to search that word again until it comes to a whole new section which will look identical to the first, and you have to change EVERYTHING that you changed in the first to this one as well. otherwise the mods will not work. IMPORTANT NOTE: IF BOTH SECTIONS DO NOT LOOK IDENTICAL, TRY AND ADJUST THEM AS MUCH AS POSSIBLE TO BE IDENTICAL, IF ITS TOO MUCH TROUBLE THEN JUST DONT BOTHER, BUT IF YOU WANT ANY OF YOUR MODS TO WORK, BOTH SECTIONS HAVE TO HAVE WHATEVER YOU WANT MODDED THE SAME.



    SO REMEMBER, EVERYTHING THAT YOU DO TO THE FIRST SECTION, YOU HAVE TO DO TO THE SECOND SECTION AS WELL!





    IMPORTANT!


    please follow this instruction before beginning as it is necessary later on in the tutorial.

    before editing your file, create a new text document. you need to work something out and write it down before you start.

    open your file in HxD and do a search for "money" or "gender" or something like that. make sure it is not set to unicode. then once you have found this section. look at the bytes i have highlighted here
    v
    v
    v

    Posted Image


    write down the hex of those two bytes from your own file inside the text file. these two bytes can vary to pracically any amount, so dont be worried if yours dont match mine. it does not matter in the slightest.

    okay now we need to do another search for "fable2". do this now. you should come to a section like this
    v
    v
    v

    Posted Image

    find the two bytes that i have selected once again and copy these down into the text doc near the other two bytes, but separated.


    okay now you have to work out the difference between the two sets of bytes. there will not always be a difference as far as i know, but it is very common to have a difference. if it doesnt have a difference, your lucky. just work out the difference between the two sets of bytes and write it down next to the bytes in the text doc. your text doc should end up looking something like this
    v
    v
    v

    Posted Image

    now, as always, the file has two sections of pretty much everything, so you have to do the same thing for the second section, and its length check counterpart. so now your text document should look something like this
    v
    v
    v

    Posted Image


    now save the doc so you dont lose it, this will be very important for later in the tutorial. keep this text doc open so you can add stuff in there later on when prompted.


    you should also make a backup of your file just incase.


    NOTE: i have edited the structure of the tutorial so it has the sections on how to edit different things, and then at the end it has a section which teaches you how to correct the filesize/different area size checks. the last section is NECESSARY FOR THE SAVE TO WORK if you have added or taken away a byte anywhere within the file. so if you edited 500 gold to 999 gold. it would not be necessary, but if you edited 500 gold to 999,999,999 gold. then it is necessary for the file to work.




    Abilities:

    this is an easy one, all you have to do is open your file in a hex editor, search for "ability" and then find all the bits that look like this:

    <HeroAbility0 type="int">0</HeroAbility0>


    and you have to edit the "0" inbetween the two arrows to be whatever level of ability you want. this value will change depending on how much you have levelled up the ability. eg. 0 = no ability 5 = level 5 ability. so to make the first ability maxed out all i have to do is set it to be:

    <HeroAbility0 type="int">5</HeroAbility0>

    its simple. then you have to edit them all to be like this. so it will end up looking something like this

    Posted Image

    changes to

    Posted Image




    and remember. as always, you have to do the same thing to the other section as well.



    now edit everything else you want to edit and go to the end of the tutorial for instructions on how to correct the filesize as well as the area size checks.




    Renown:

    renown is very simple to change, simply open your save in a hex editor, search for "renown" and then change your renown to be whatever you want. example:

    Posted Image

    changes to

    Posted Image


    now search for "renown" again until you come to a whole new section, which will look exactly the same as before. edit that renown value to be the same as the one before it, or else it will not work.


    IMPORTANT! PLEASE TRY AND REMEMBER HOW MANY DIGITS YOU ADDED OR TOOK AWAY IN THIS SECTION! for me, i have added an extra 6 digits that werent there before, so i should write down that i have added 6 bytes for this section into the text doc i have open from before. this is important for later on.



    now edit everything else you want to edit and go to the end of the tutorial for instructions on how to correct the filesize as well as the area size checks.



    Gold:

    this one is a little more complicated, but its easy enough to grasp



    you should start off by searching for "money" as a text string, not unicode.

    Posted Image

    you should find the value for your gold here. i will be using a hypothetical example for this, say i wanted to change my gold (501 gold) to be 999,999,999 gold, my file would start off looking like this

    Posted Image

    okay now i want you to edit your gold to be whatever number you like, as many digits as you like, but id keep it under 9 seeing as anymore than that wont make a difference and it will only make it slightly more annoying for you later.

    IMPORTANT! PLEASE TRY AND REMEMBER HOW MANY DIGITS YOU ADDED OR TOOK AWAY IN THIS SECTION! for me, i have added an extra 6 digits that werent there before, so i should write down that i have added 6 bytes for this section into the text doc i have open from before. this is important for later on.


    okay now my file should look like this

    Posted Image

    now do the exact same thing to the other section, just search money again until it gets to the other section, then change your money to be the exact same as you did in the first section.


    okay now what you have to do is do a search for "gold" as a unicode text string like this

    Posted Image

    you should find a section that looks like this

    Posted Image

    as you can see, i have highlighted the amount of gold. you have to edit this amount to be the same as the amount you entered before or else it will not show up. so i change this amount to be

    Posted Image

    now, write down in the text doc you have open how many bytes you added/subtracted from this section, write it separately from the first amount that you have written down that you added/subtracted.


    NOTE! IF YOU ARE NEW TO HEX EDITING, READ THIS!

    in the pic above, if you read the highlighted hex you will notice that it has a pattern of "39 00 39 00 39 00 39 00 39 00 39 00 39 00 39 00 39 00" this is because 39 represents 9 and 00 represents the dot inbetween all the digits in the text. make sure when you edit your gold, that there is a dot inbetween all the digits. but make sure they are NOT full stops. you must put in the hex for the dot instead of just writing in a dot. eg write out as many digits as you want there to be in the text, then go over to the hex side, set it to insert, and insert nulled places inbetween all the numbers. so when i first made this, the hex looked like this "39 39 39 39 39 39 39 39 39" and then i added the 00s in between them so it looked like this "39 00 39 00 39 00 39 00 39 00 39 00 39 00 39 00 39 00". im not sure if you understand this but this is unfortunately the best explanation i can give.


    okay moving on with the tutorial.

    once you have edited this section to have the correct amount of gold, which should be the same as the the gold from the other sections you already edited, you have to do another search for "gold" as a unicode text string. because, like the other section, there is a second one of it. so you have to find the other section and do the same thing to it.


    now edit everything else you want to edit and go to the end of the tutorial for instructions on how to correct the filesize as well as the area size checks.



    Purity/Morality:


    i have added a tut on editing purity/morality please note that i have not entirely completed the list of values required for some amounts of purity/morality. but all the ones most people would want are included.


    the lists of values are attached as .txt docs. in order for purity/morality to work, you have to put in the corresponding amount and value for it, so you need to use the text docs to complete this. eg. in the morality text doc, it says "4 digit = <1000.000000 447A0000>" so if you want to have a morality that is 4 digits long, you have to put in "1000.000000 447A0000" into the space for your morality and then you will show up with 1000 good points ingame. (max good you can be). however for some of the other ones, if you wanted a specific amount, the text doc reads for say 3 digits "3 digit = <500.000000 44714000>" and thats saying to put in 500.000000 44714000 in the space for morality and you will get 500 good points, but the reality of the matter is, that you can change the 500.000000 to be any number you like that contains only 3 digits, and it will still work. so say if i wanted 200 good points, all i would have to do is change that to "200.000000 44714000" and then i would have 200 good points. anyways...


    i will be demonstrating for morality but its just the same for purity.

    okay this is the hex for my morality
    v
    v
    v

    Posted Image



    okay and now i want to change this so i am 100% evil.
    v
    v
    v

    Posted Image

    SIMPLE! thats all there is to it. then you just have to follow the instructions which show you how to correct area size/filesize and your good to go.

    download link:
    http://www.xbox360-c...n...file&id=120

    mediafire:
    http://www.mediafire...php?zxy3jgwvibo


    AREA SIZE CHECKS:

    THIS IS NECESSARY FOR YOUR FILE TO WORK.


    now this is where it gets slightly complicated.

    go back to the first section, and highlight the section demonstrated in these pics here:

    Posted Image

    Posted Image


    make sure you have that EXACT section highlighted, so everything between <?xml version="1.0"?> and </HeroSave>.. at the very end of the section gets highlighted. THE TWO DOTS AT THE END ARE IMPORTANT! HIGHLIGHT THEM!


    okay now it should say the size of the section you have highlighted, make sure you remember this, in my case it is 64C which is actually 06 4C in hex. remember the hex of yours. simply add a 0 infront of the length. write down this hex value in the text doc you should have open. you will need this later on as well.


    now go to here at the beginning of the section

    Posted Image

    you see the two bytes i have highlighted? these represent the length of the section you highlighted a second ago, the hex it displays "06 40" is the length of the section before i edited it and added in more characters for the gold. change these two bytes to be the new length that you should have memorised from before. now this becomes like this

    Posted Image

    okay now you have to do the exact same thing to the 2nd section, but if you measured it right, and changed everything the same as the first one, like i said to do, the edited length should be the same and you should only have to change those 2 bytes to be the same as they were changed to in the first section. so i just change those bytes in the second section to be 06 4C without even having to measure again.

    now i know what your thinking, your thinking "that was kinda confusing" well, im afraid theres more.

    NOTE:

    this step is only necessary if you edited your gold before and changed the amount of digits of your gold.

    do a search for "gold" as a unicode text string.


    highlight the whole thing as shown
    v
    v
    v

    Posted Image


    because this too has 2 bytes which represent its length. so memorise this sections length (for me it is 02 4C) remember it.

    now you have to do another search. search for "fable2pubinfo" or just "fable2". as shown in the pic
    v
    v
    v

    Posted Image

    you should find a section like this

    Posted Image

    the bytes i have highlighted do the same job as the bytes from the first section, these are a record of the length of the section you edited a second ago. so edit the highlighted bytes to be whatever your length was (the one you only just did a second ago) so my one changes to this

    Posted Image


    do another search for "fable2" and change that one to be the same as this as well.


    okay now we only have one more check left to update.

    this is the part that the notepad is needed for. at the beginning you should have written 2 sets of hex values down as well as figured out the differences between the two hex values i showed you. make sure you have this ready. you will also need the length of the first section you edited. (the one with the gold/renown and abilities and stuff).

    okay first off, the check is in the same area as the other check you just did, you should still be in this area. so look around and find this
    v
    v
    v

    Posted Image

    okay now you have to go to your notepad and find what the hex would be for whatever the length of the first section was (should be written down) plus whatever your notepad says is the first difference you worked out. example.

    Posted Image

    Posted Image



    so now i overwrite what was in here, with what i just worked out (06 51)

    Posted Image


    okay now you have to do the same thing for the second section. so that works out for me like this

    Posted Image

    Posted Image




    i hope this is clear enough.


    OKAY! now we are NEARLY done! i know this seems rather long and complicated but its useful nonetheless.


    go to the end of the file, you should see something like this

    Posted Image


    see how i have highlighted the last 3 lines of hex? these are how you can tell how much you have distorted the file overall, this file at the moment will not work simply because that its the wrong length atm. we have to fix this. so provided that you remember just how many digits you added in at different places, you can go there and delete bytes or add nulled places in to make the file the correct size. if you did not write down how many bytes you distorted the file by, in different areas, then you will have to work out which areas need what added in/taken out by checking how much the file overflows by.


    there is a specific area you have to take bytes out of/add them in in different areas. now we are going back to the first section we visited. so just do a search for money or something.

    Posted Image

    you see the highlighed bytes? these are the bytes at the end of the first section. you simply need to delete however many bytes you added into the file at this section, so in my case i highlighted the first 12 bytes after the end of the section and deleted them, you can remove bytes from anywhere in the null places here, but make sure they are nulled places. if you need to add places in, add in nulled places so just add in 00s in hex. you have to do the same thing to the second section, so if i remove 12 bytes from here i have to remove 12 bytes from the other section as well.


    now we go to 3rd section we edited. the one with the null terminates. and we remove the bytes from here
    v
    v
    v

    Posted Image


    once you are certain you have the correct amount of bytes in the file, you simply save, rehash/resign and inject into your profile and its ready to be played.




    this tutorial was made by Repoman 108. all research done by Repoman 108. if you want to post this on another site, make sure you have my permission first, and do not try to pass this off as your own. i will be happy to allow this on other sites so long as i know about it first. cheers



    PUB GAMES MOD


    i have also attached a maxed out pub games save which has max gold and items etc. just because i cant b @%#$ed to write a tutorial for that too.

    Attached Files



    #2 Decatur

    Decatur

      I went from script kiddie to network engineer

    • Retired Staff

    • 2,475 posts
    • Joined: 26-July 08
    • Gender:Male
    • Location:Over there

    Posted 05 February 2009 - 04:44 PM

    great tut, thanks


    :thumbup: :thumbup:

    #3 BTKC124

    BTKC124

      Rob

    • Donors

    • 618 posts
    • Joined: 26-April 08
    • Gender:Male
    • Location:A Boat with WIFI

    Posted 09 February 2009 - 01:57 PM

    This is simpley amazing!!! :mellow: i am in shock, just thinking about how long it would take to discover!!!

    Can you plz but a tut on modding your items so like you could have every things!!!

    #4 Repoman 108

    Repoman 108

      Private Grade 2

    • Members+

    • 71 posts
    • Joined: 19-April 08

    Posted 10 February 2009 - 03:35 AM

    ...no...if you have a closer look inside the file, there are no references to items and such, like there are to the things i mentioned above. so its all just random values. it would take alot of testing to change around items and stuff. sorry but i just dont think its possible

    #5 BTKC124

    BTKC124

      Rob

    • Donors

    • 618 posts
    • Joined: 26-April 08
    • Gender:Male
    • Location:A Boat with WIFI

    Posted 10 February 2009 - 02:17 PM

    ok thanks
    i will try to find it
    but i probley wont

    #6 lovemodz

    lovemodz

      Apprentice Grade 2

    • Members+

    • 12 posts
    • Joined: 11-March 09

    Posted 11 March 2009 - 08:09 PM

    Thanks Repoman, what an eye opening tut, well done.

    Confirm 100% worked.

    #7 Lewie4

    Lewie4

      Sergeant Grade 2

    • Members+

    • 442 posts
    • Joined: 05-June 08
    • Gender:Male

    Posted 26 April 2009 - 02:58 AM

    Wow this is really long

    #8 Slidell

    Slidell

      IBM Life Support

    • VIP

    • 2,863 posts
    • Joined: 18-July 08
    • Gender:Male
    • Location:New Orleans

    Posted 26 April 2009 - 03:54 AM

    I thought that someone already made a TUT on IBM.


    Oh here it be,good job man thanks.