Hacking Converting a patched rom into extinfo.dat

Arkanell

Member
OP
Newcomer
Joined
Mar 27, 2010
Messages
17
Trophies
0
XP
29
Country
Tools Needed

A patched rom (we are going to be using Pokemon Soul Silver for this tutorial)
An Unpatched Rom

Hex Comparison tool (HexCmp / Somthing free)
Emulator (DeSmuME)
ttdt


-- Step 1: Find out what the patcher did --

first we need to find out what the patch did to do this we will compare the patched and unpatched roms using the Hex Comparison tool

we will ignore all difference's between 0x00000000 and 0x0000015F this is the roms header and does not need to be edited whaen using extinfo.dat


Go to the first difference after the header

1.PNG


As you can see, the start of the difference is at 0x00004300


-- Step 2: Find the correct place in memory --

now open up the unpatched rom in DeSmuME, go to Tools>Ram Search

now we need to search for the first 4 bytes at 0x00004300

but wait, due to the way the DS work's you have to put the values in backwards like so

9A A3 17 5C >> 5C 17 A3 9A

set every thing up like so

2.PNG


now click search

3.PNG


it looks like we were lucky this time as there is only one result
but we should check that everything is correct (sometimes you will get more that one result so you will have to check them all)

Go to Tools>View Memory and close the window Titled "ARM7 memory"

Now we are going to check if we have the correct offset.

In the View address box type the offet we have just found, and click go.

4.PNG


It looks like we have foud the correct place so all that is left to be done is add this to extinfo.dat

5.PNG


Now repeat for every difference in the patched file.



There is a shortcut for the rest of the Edits but I cannot guarantee this working

Since the rom loads into memory the same as it is in the rom all we have to do is workout an offset and apply it to the patch locations in the rom


Code:
Patch in RomÂÂÂÂÂÂ0x00004300
Patch in MemoryÂÂ 0x02000300
Memory OffsetÂÂÂÂ 0x02000000ÂÂ(it is allways this)
DiffrenceÂÂÂÂÂÂÂÂ 0x00004000


ok the next patch is at 0x00004A18 in the rom
if we take away 0x00004000 and Add 0x02000000 we get 0x02000A18

looking at the memory using DeSmuME we can see if this is correct

6.PNG


and it is

you may notice that I have highlighted more than the patch at the bottom
you can use the hex preceeding and following the target area to confirm that this it the correct place (very usefull if you get more than one hit)


In the next tutorial i will be showing how to convert a (J) infolib.dat / extinfo.dat into a (U) one
 

drwhojan

Well-Known Member
Member
Joined
Jul 14, 2009
Messages
4,196
Trophies
1
Age
45
Location
Where I Am!
XP
1,702
Country
United Kingdom
This is very nice work Arkanell !!!, well done..

I will have to take some time to read through it and get it in mined, but i knew i nedded a better hex editor

So we have to wait for a Jap patch version befor we can edit it into the extinfo.dat for (U) and (E) clean roms ?
 

Arkanell

Member
OP
Newcomer
Joined
Mar 27, 2010
Messages
17
Trophies
0
XP
29
Country
drwhojan said:
This is very nice work Arkanell !!!, well done..

I will have to take some time to read through it and get it in mined, but i knew i nedded a better hex editor

So we have to wait for a Jap patch version befor we can edit it into the extinfo.dat for (U) and (E) clean roms ?


unfortunetly yes, but thankfully J roms are usually patched before U and E games are even released
 

Pong20302000

making notes on everything
Member
Joined
Sep 8, 2009
Messages
8,078
Trophies
2
Location
One's inner self
Website
3dsdb.com
XP
2,408
Country
Arkanell said:
drwhojan said:
This is very nice work Arkanell !!!, well done..

I will have to take some time to read through it and get it in mined, but i knew i nedded a better hex editor

So we have to wait for a Jap patch version befor we can edit it into the extinfo.dat for (U) and (E) clean roms ?


unfortunetly yes, but thankfully J roms are usually patched before U and E games are even released

im quite confused

as i can deal with alot of japanese i use the latest editors (all in jap) and add the hex (U) & (E) games and it works fine when i load them up of the firmware

is this the problem that people cant understand how to use the jap editors to add the data?

or have i got the wrong end of the stick
 

drwhojan

Well-Known Member
Member
Joined
Jul 14, 2009
Messages
4,196
Trophies
1
Age
45
Location
Where I Am!
XP
1,702
Country
United Kingdom
Arkanell said:
drwhojan said:
This is very nice work Arkanell !!!, well done..

I will have to take some time to read through it and get it in mined, but i knew i nedded a better hex editor

So we have to wait for a Jap patch version befor we can edit it into the extinfo.dat for (U) and (E) clean roms ?


unfortunetly yes, but thankfully J roms are usually patched before U and E games are even released


Lol, looks like we have a long wait for games like bookworm , and sonic classic collection

But they must be over games over looked that's fix with (J) roms , and not (U) are (E) roms

Best to look at all the (J) roms fixes text files, are get the text files translated

QUOTE
how to use the jap editors to add the data?

Thats what i tought...


...

I wounder if they is a way of geting the speed information manuly for infolib.dat like this ?
 

Pong20302000

making notes on everything
Member
Joined
Sep 8, 2009
Messages
8,078
Trophies
2
Location
One's inner self
Website
3dsdb.com
XP
2,408
Country
QUOTE said:
Thats what i tought...


...

I wounder if they is a way of geting the speed information manuly for infolib.dat like this ?

well getting the infolib data and adding it is EASY!

just using the cheat code edititor to get the Rom info and then i just edit it into the infolib.dat
(i also read there is now a .nds file you can load up then load the rom and it will create the infolib.dat automatically)
 

drwhojan

Well-Known Member
Member
Joined
Jul 14, 2009
Messages
4,196
Trophies
1
Age
45
Location
Where I Am!
XP
1,702
Country
United Kingdom
Pong20302000 said:
QUOTE said:
Thats what i tought...


...

I wounder if they is a way of geting the speed information manuly for infolib.dat like this ?

well getting the infolib data and adding it is EASY!

just using the cheat code edititor to get the Rom info and then i just edit it into the infolib.dat
(i also read there is now a .nds file you can load up then load the rom and it will create the infolib.dat automatically)

For R4 orignal errorcode-4 with certin games , the game has to self boot to get the ture info, if you put the GameID into infolib.dat and boot the game you still get a bunch of 0s in infolib

If the game boots its self with a gameID thats not in infolib , it will gerate the code

http://www.ndstti.cn/download/tool/infolib_custom.7z

But i heard that R4 Clone can use the makelib.nds and InfolibMerge.nds and the game will boot passed errorcode=-4 and genrate the info in LIB folder anyway, But i don't have an R4 clone to try it with

http://gbatemp.net/index.php?showtopic=214...t&p=2712974
 

drwhojan

Well-Known Member
Member
Joined
Jul 14, 2009
Messages
4,196
Trophies
1
Age
45
Location
Where I Am!
XP
1,702
Country
United Kingdom
Pong20302000 said:
may i also ask what is the difference in the (J) and (U) infolib / extinfo data?

surely the data being added is all that matters?

The codes are there , just have to be addressed in diffrent places , are it will not run
 

Pong20302000

making notes on everything
Member
Joined
Sep 8, 2009
Messages
8,078
Trophies
2
Location
One's inner self
Website
3dsdb.com
XP
2,408
Country
drwhojan said:
Pong20302000 said:
may i also ask what is the difference in the (J) and (U) infolib / extinfo data?

surely the data being added is all that matters?

The codes are there , just have to be addressed in diffrent places , are it will not run

im not quite sure what u mean

how can there be different type of (U) & (J) infolib, extinfo

i mean i understand that

(J) IPGJ 93243212
(U) IPGE 39432423 (these numbers are random for example perposes)

are different and also the hex required to remove the AP are also different

but how can there be a different kind of file
 

drwhojan

Well-Known Member
Member
Joined
Jul 14, 2009
Messages
4,196
Trophies
1
Age
45
Location
Where I Am!
XP
1,702
Country
United Kingdom
I See Hex Comparison tool (HexCmp) auto fineds the diffrences between the two opened roms , and marks it in color, where the hex diffrence is
 

Arkanell

Member
OP
Newcomer
Joined
Mar 27, 2010
Messages
17
Trophies
0
XP
29
Country
Pong20302000 said:
may i also ask what is the difference in the (J) and (U) infolib / extinfo data?

surely the data being added is all that matters?


the difference is the addresses eg.

extinfo.dat

Code:
UORJÂÂÂÂMade in ore (J)

0x02003880
1E FF 2F E1 

0x020030F0
01 00 A0 E3 1E FF 2F E1 

0x02003A94
03 00 A0 E3 1E FF 2F E1 

0x02003AAC
00 00 A0 E3 1E FF 2F E1 

0x0200353C
08 40 2D E9 00 30 A0 E1 01 00 A0 E1 03 10 A0 E1
08 E0 8F E2 00 30 9F E5 13 FF 2F E1 0B E0 3F 02
01 00 A0 E3 08 80 BD E8 

0x02003908
08 40 2D E9 00 30 A0 E1 01 00 A0 E1 03 10 A0 E1
08 E0 8F E2 00 30 9F E5 13 FF 2F E1 01 E0 3F 02
01 00 A0 E3 08 80 BD E8

Code:
UOREÂÂÂÂWW DIY (U)

0x020038A0
1E FF 2F E1 

0x02003110
01 00 A0 E3 1E FF 2F E1 

0x02003AB4
03 00 A0 E3 1E FF 2F E1 

0x02003ACC
00 00 A0 E3 1E FF 2F E1 

0x0200355C
08 40 2D E9 00 30 A0 E1 01 00 A0 E1 03 10 A0 E1
08 E0 8F E2 00 30 9F E5 13 FF 2F E1 0B E0 3F 02
01 00 A0 E3 08 80 BD E8 

0x02003928
08 40 2D E9 00 30 A0 E1 01 00 A0 E1 03 10 A0 E1
08 E0 8F E2 00 30 9F E5 13 FF 2F E1 01 E0 3F 02
01 00 A0 E3 08 80 BD E8

infolib.dat


Code:
UORJ Made in ore (J)

00 00 00 00 00 00 00 00 AC AA 00 00 00 00 00 00
00 00 00 00 00 00 00 00 04 AB 00 00 28 AC 00 00
70 AB 00 00 E0 AC 00 00 FF FF FF FF 70 AD 00 00
A8 AE 00 00 9C AF 00 00 98 D0 09 00 FF FF FF FF
50 3F 09 00 FF FF FF FF 1C D2 09 00 FF FF FF FF
48 09 00 00 64 F5 00 00 FF FF FF FF FF FF FF FF

CODEUORE WW DIY (U)

00 00 00 00 00 00 00 00 AC AA 00 00 00 00 00 00
00 00 00 00 00 00 00 00 04 AB 00 00 28 AC 00 00
70 AB 00 00 E0 AC 00 00 FF FF FF FF 70 AD 00 00
A8 AE 00 00 9C AF 00 00 28 D5 09 00 FF FF FF FF
2C 43 09 00 FF FF FF FF AC D6 09 00 FF FF FF FF
48 09 00 00 64 F5 00 00 FF FF FF FF FF FF FF FF
 

drwhojan

Well-Known Member
Member
Joined
Jul 14, 2009
Messages
4,196
Trophies
1
Age
45
Location
Where I Am!
XP
1,702
Country
United Kingdom
Do you know where infolib.dat codes would be in hex edit and what to look out for ?

Nice work and many thanks...

I also building up a piture now of what you are saying...

EDIT: I can see it would be possiable for trimed roms also !, Trimed roms would also change of the GameID
 

drwhojan

Well-Known Member
Member
Joined
Jul 14, 2009
Messages
4,196
Trophies
1
Age
45
Location
Where I Am!
XP
1,702
Country
United Kingdom
Arkanell said:
Pong20302000 said:
may i also ask what is the difference in the (J) and (U) infolib / extinfo data?

surely the data being added is all that matters?


the difference is the addresses eg.

extinfo.dat

Code:
UORJÂÂÂÂMade in ore (J)

0x02003880
1E FF 2F E1 

0x020030F0
01 00 A0 E3 1E FF 2F E1 

0x02003A94
03 00 A0 E3 1E FF 2F E1 

0x02003AAC
00 00 A0 E3 1E FF 2F E1 

0x0200353C
08 40 2D E9 00 30 A0 E1 01 00 A0 E1 03 10 A0 E1
08 E0 8F E2 00 30 9F E5 13 FF 2F E1 0B E0 3F 02
01 00 A0 E3 08 80 BD E8 

0x02003908
08 40 2D E9 00 30 A0 E1 01 00 A0 E1 03 10 A0 E1
08 E0 8F E2 00 30 9F E5 13 FF 2F E1 01 E0 3F 02
01 00 A0 E3 08 80 BD E8

Code:
UOREÂÂÂÂWW DIY (U)

0x020038A0
1E FF 2F E1 

0x02003110
01 00 A0 E3 1E FF 2F E1 

0x02003AB4
03 00 A0 E3 1E FF 2F E1 

0x02003ACC
00 00 A0 E3 1E FF 2F E1 

0x0200355C
08 40 2D E9 00 30 A0 E1 01 00 A0 E1 03 10 A0 E1
08 E0 8F E2 00 30 9F E5 13 FF 2F E1 0B E0 3F 02
01 00 A0 E3 08 80 BD E8 

0x02003928
08 40 2D E9 00 30 A0 E1 01 00 A0 E1 03 10 A0 E1
08 E0 8F E2 00 30 9F E5 13 FF 2F E1 01 E0 3F 02
01 00 A0 E3 08 80 BD E8

infolib.dat


Code:
UORJ Made in ore (J)

00 00 00 00 00 00 00 00 AC AA 00 00 00 00 00 00
00 00 00 00 00 00 00 00 04 AB 00 00 28 AC 00 00
70 AB 00 00 E0 AC 00 00 FF FF FF FF 70 AD 00 00
A8 AE 00 00 9C AF 00 00 98 D0 09 00 FF FF FF FF
50 3F 09 00 FF FF FF FF 1C D2 09 00 FF FF FF FF
48 09 00 00 64 F5 00 00 FF FF FF FF FF FF FF FF

CODEUORE WW DIY (U)

00 00 00 00 00 00 00 00 AC AA 00 00 00 00 00 00
00 00 00 00 00 00 00 00 04 AB 00 00 28 AC 00 00
70 AB 00 00 E0 AC 00 00 FF FF FF FF 70 AD 00 00
A8 AE 00 00 9C AF 00 00 28 D5 09 00 FF FF FF FF
2C 43 09 00 FF FF FF FF AC D6 09 00 FF FF FF FF
48 09 00 00 64 F5 00 00 FF FF FF FF FF FF FF FF

Do you think this is bacuse of the diffrent files sizes , (U) rom 128MB and (J) rom 32MB , mabe parting the addresses abit in hex ?
 

TyRaNtM

I did some projects..
Member
Joined
Oct 13, 2007
Messages
1,008
Trophies
1
Age
37
Location
Chile
Website
www.power-ups.net
XP
596
Country
Cote d'Ivoire
Code:
ORIGINALÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ | PATCHED
00004300 | 9A A3 17 5C 2F 12 B8 49 | 00004300 | 1C 00 9F E5 00 10 90 E5 |
00004308 | B4 C0 96 64 51 79 45 D3 | 00004308 | 18 20 9F E5 02 00 51 E1 |
00004310 | B9 6F 38 07 A8 CC E3 55 | 00004310 | 72 10 A0 03 08 10 C0 05 |
00004318 | A6 0D C6 E3 75 D9 EB BD | 00004318 | 8E 10 A0 03 C4 10 C0 05 |
00004320 | 64 41 6E 67 D6 D2 C7 0A | 00004320 | 1E FF 2F E1 A0 F0 25 02 |
00004328 | 19 49 9A 9BÂÂÂÂÂÂÂÂÂÂÂÂ | 00004328 | 34 5D 09 E0ÂÂÂÂÂÂÂÂÂÂÂÂ |
------------------------------------------------------------------------
00004A18 | 1E FF 2F E1ÂÂÂÂÂÂÂÂÂÂÂÂ | 00004A18 | 38 FE FF EAÂÂÂÂÂÂÂÂÂÂÂÂ |
------------------------------------------------------------------------
000DF418 |ÂÂÂÂÂÂÂÂÂÂD1ÂÂÂÂÂÂÂÂÂÂÂÂ | 000DF418 |ÂÂÂÂÂÂÂÂÂÂE0ÂÂÂÂÂÂÂÂÂÂÂÂ |
------------------------------------------------------------------------

Code:
000DF418 |ÂÂÂÂÂÂÂÂÂÂD1ÂÂÂÂÂÂÂÂÂÂÂÂ | 000DF418 |ÂÂÂÂÂÂÂÂÂÂE0ÂÂÂÂÂÂÂÂÂÂÂÂ |

This part need to be added in extinfo.dat, and maybe that is the reason that the freezes still happen.
 

drwhojan

Well-Known Member
Member
Joined
Jul 14, 2009
Messages
4,196
Trophies
1
Age
45
Location
Where I Am!
XP
1,702
Country
United Kingdom
Arkanell said:
drwhojan said:
This is very nice work Arkanell !!!, well done..

I will have to take some time to read through it and get it in mined, but i knew i nedded a better hex editor

So we have to wait for a Jap patch version befor we can edit it into the extinfo.dat for (U) and (E) clean roms ?


unfortunetly yes, but thankfully J roms are usually patched before U and E games are even released

I have just be thinking , they was no (J) rom fix for sonic racing , are even a patch for it , they must have broght it out for extinfo.dat and infolib.dat insted direct...
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Veho @ Veho:
    Just a couple of guys taking their manatee out for some fresh air, why you have to molest them?
  • Veho @ Veho:
    Stupid Chinese shop switched their shipping company and this one is slooooooow.
  • LeoTCK @ LeoTCK:
    STOP BUYING CHINESE CRAP THEN
  • LeoTCK @ LeoTCK:
    SUPPORT LOCAL PRODUCTS, MAKE REVOLUTION
  • LeoTCK @ LeoTCK:
    THEY KEEP REMOVING LOCAL SHIt AND REPLACING WItH INFERIOR CHINESE CRAP
  • LeoTCK @ LeoTCK:
    THATS WHY MY PARTNER CANT GET A GOOTWEAR HIS SIZE ANYMORE
  • LeoTCK @ LeoTCK:
    HE HAS BIG FOOT AND BIG DUCK
  • LeoTCK @ LeoTCK:
    d*ck i mean*
  • LeoTCK @ LeoTCK:
    lol
  • Veho @ Veho:
    Mkay.
  • Veho @ Veho:
    I just ordered another package from China just to spite you.
  • SylverReZ @ SylverReZ:
    Communism lol
  • SylverReZ @ SylverReZ:
    OUR products
  • The Real Jdbye @ The Real Jdbye:
    @LeoTCK actually good quality products are dying out because they can't compete with dropshipped chinese crap
    +2
  • BakerMan @ BakerMan:
    @LeoTCK is your partner the sascrotch or smth?
  • Xdqwerty @ Xdqwerty:
    Good morning
  • Xdqwerty @ Xdqwerty:
    Out of nowhere I got several scars on my forearm and part of my arm and it really itches.
  • AdRoz78 @ AdRoz78:
    Hey, I bought a modchip today and it says "New 2040plus" in the top left corner. Is this a legit chip or was I scammed?
  • Veho @ Veho:
    @AdRoz78 start a thread and post a photo of the chip.
    +2
  • Xdqwerty @ Xdqwerty:
    Yawn
  • S @ salazarcosplay:
    and good morning everyone
    +1
    S @ salazarcosplay: and good morning everyone +1