Hacking *Sigh* Alright, I need some help

r0man

Well-Known Member
OP
Member
Joined
Oct 17, 2009
Messages
102
Trophies
0
Location
Seattle, USA
Website
www.r0man.com
XP
9
Country
United States
Ok, I'm not quite sure how Ashey+team make/modify/whatever the firmware so that they can make newer games work. If you know what software they use and a fairly brief tutorial on what the hell to look for in the code please do tell.

I'll check this thread after school and start learning how to pump out new firmwares.
 

r0man

Well-Known Member
OP
Member
Joined
Oct 17, 2009
Messages
102
Trophies
0
Location
Seattle, USA
Website
www.r0man.com
XP
9
Country
United States
@Rockstar that does seem like a good idea, I'll investigate into that.

@Depravo yes I know that

Anyone want to tell me why in my hex editor there are millions and millions of periods? :S
 

twiztidsinz

Taiju Yamada Fan
Member
Joined
Dec 23, 2008
Messages
4,979
Trophies
0
Website
Visit site
XP
220
Country
United States
r0man said:
Anyone want to tell me why in my hex editor there are millions and millions of periods? :S
Depending on the editor... "." will represent 00 or FF or both which is an empty space used for padding or separation.
If you see -ALL- characters like that, something's messed up.

INFOLIB.DAT
I believe the tool used to edit it is called "infolib custom kit" by boyakkey.
I have never seen this application or any app that will edit it.
http://boyakkey.cocolog-nifty.com/blog/200...ibdat003-2.html -- Thanks BoxShot

EXTINFO.DAT
Unsure what tool you would use.
I have never bothered with it since I know this would be beyond me at the moment.
http://gamewiki.jp/uploader/dsma/src/dsm0095.rar.html -- Thanks again BoxShot

SAVLIB.DAT
NDS Savlib Edit: http://tb7.cocolog-nifty.com/blog/2009/02/dstt-506f.html
 

r0man

Well-Known Member
OP
Member
Joined
Oct 17, 2009
Messages
102
Trophies
0
Location
Seattle, USA
Website
www.r0man.com
XP
9
Country
United States
twiztidsinz said:
r0man said:
Anyone want to tell me why in my hex editor there are millions and millions of periods? :SDepending on the editor... "." will represent 00 or FF or both which is an empty space used for padding or separation.
If you see -ALL- characters like that, something's messed up.

INFOLIB.DAT
I believe the tool used to edit it is called "infolib custom kit" by boyakkey.
I have never seen this application or any app that will edit it.

EXTINFO.DAT
Unsure what tool you would use.
I have never bothered with it since I know this would be beyond me at the moment.

SAVLIB.DAT
NDS Savlib Edit: http://tb7.cocolog-nifty.com/blog/2009/02/dstt-506f.html
Breakdown of the file structure:CODE.41 32 59 4A FF 02 00 00 || A2YJÿ__ (spaces changed to _ for visual effect)
|___________|__|__|_____|
ÂÂÂÂ |ÂÂÂÂÂÂÂÂ|ÂÂ|ÂÂ |
ÂÂÂÂ |ÂÂÂÂÂÂÂÂ|ÂÂ|ÂÂ o-- Reserved Area (00 00)
ÂÂÂÂ |ÂÂÂÂÂÂÂÂ|ÂÂo-- Save Data Size (See below)
ÂÂÂÂ |ÂÂÂÂÂÂÂÂo-- Padding Fill Type (FF or 00)
ÂÂÂÂ o-- Game ID (ASCII, 4 characters)

01 = 512KB
02 = 1MB
04 = 2MB
08 = 4MB
10 = 8MB
20 = 16MB
40 = 32MB
80 = 64MB

First entry reserved for the follwing data:
00 00 00 00 FF 01 00 00
@infolib, I went looking for that tool earlier today, found a site with loads of info on it (was in Japanese
 

r0man

Well-Known Member
OP
Member
Joined
Oct 17, 2009
Messages
102
Trophies
0
Location
Seattle, USA
Website
www.r0man.com
XP
9
Country
United States
Wow, I feel like an idiot for not checking that site out haha. Thanks that
biggrin.gif
 

twiztidsinz

Taiju Yamada Fan
Member
Joined
Dec 23, 2008
Messages
4,979
Trophies
0
Website
Visit site
XP
220
Country
United States
r0man said:
@the ., it's not exclusively .s, but there are a great deal of them. Most of them are FF but some are random combinations (sort of like A0 or something, I don't remember specifically).
Even with them removed the code doesn't make any sense to me, just random bunches of letters (I've never used a hex editor before lol, is that supposed to happen? My previous dabblings in programming languages were neater then this haha)I had a better post typed up, but Photobucket caused Firefox to crash -_-;;

Hex (Hexadecimal) is a Base-16 counting system from 0 to F, not a programming language.
0 1 2 3 4 5 6 7 8 9 A B C D E F

Here is savlib.dat in all it's "jumbled" hexadecimal glory:
Code:
00 00 00 00 FF 01 00 00 41 32 59 4A FF 02 00 00 41 58 42 4A 00 10 00 00 41 59 55 4A FF 02 00 00 41 5A 4C 4A FF 02 00 00 43 36 50 4A FF 02 00 00 43 50 55 44 FF 02 00 00 43 50 55 45 FF 02 00 00 43 50 55 46 FF 02 00 00 43 50 55 49 FF 02 00 00 43 50 55 4A FF 02 00 00 43 50 55 4B FF 02 00 00 43 50 55 53 FF 02 00 00 49 50 47 4A FF 02 00 00 49 50 4B 4A FF 02 00 00 55 4F 52 4A FF 40 00 00 59 42 4E 4A FF 02 00 00 59 42 4E 50 FF 02 00 00 59 4B 57 45 FF 02 00 00 59 4B 57 4A FF 02 00 00 59 4B 57 4B FF 02 00 00 59 56 57 4A FF 02 00 00 59 59 38 4A 00 01 00 00 41 5A 4C 50 FF 02 00 00 41 5A 4C 45 FF 02 00 00
It might not seem like much now, but if you load it into a hex editor like XVI32 you should see a pattern (highlighted in yellow on the left).
Since this is an easy pattern to follow, you can just resize the viewer to get it lined up (right).
savlib.png

Game ID -- Same as for cheat codes.
Padding Fill Type -- Either FF or 00, most often FF.
Save Data Size -- See chart in my above post.
Reserved Area -- Always "00 00" or two blanks.


Breakdown of the file structure in text:CODE.41 32 59 4A FF 02 00 00 || A2YJÿ__ (spaces changed to _ for visual effect)
|___________|__|__|_____|
ÂÂÂÂ |ÂÂÂÂÂÂÂÂ|ÂÂ|ÂÂ |
ÂÂÂÂ |ÂÂÂÂÂÂÂÂ|ÂÂ|ÂÂ o-- Reserved Area (00 00)
ÂÂÂÂ |ÂÂÂÂÂÂÂÂ|ÂÂo-- Save Data Size (See below)
ÂÂÂÂ |ÂÂÂÂÂÂÂÂo-- Padding Fill Type (FF or 00)
ÂÂÂÂ o-- Game ID (ASCII, 4 characters)

01 = 512KB
02 = 1MB
04 = 2MB
08 = 4MB
10 = 8MB
20 = 16MB
40 = 32MB
80 = 64MB

First entry reserved for the follwing data:
00 00 00 00 FF 01 00 00
 

Depravo

KALSARIKÄNNIT
Former Staff
Joined
Oct 13, 2008
Messages
5,359
Trophies
2
Location
Purgatory
XP
4,149
Country
United Kingdom
@twiztidsinz Thanks for the mini savlib tutorial. I was able to use it to make a small modification.

There seems to be some debate about the save file size needed for Spirit Tracks. Certainly the release info say it needs an 8Mbit (1Mb) save file but other sources claim it isn't necessary. Anyway, just to be on the safe side I added it to the savlib.

A brief caveat to anyone who wishes to use it -

Firstly, this will not convert an existing save file. It only works when creating a new save file. Secondly, it's for the unpatched (U) version of Spirit Tracks only so you need to be running v1.17a12. Thirdly, this is my first attempt at hex-editing anything so use at own risk.

http://filetrip.net/file.php?id=9006

EDIT: I wish I'd looked harder and seen the savlib editor - I edited it entirely in XVI32! Still, at least I learned something.
 

twiztidsinz

Taiju Yamada Fan
Member
Joined
Dec 23, 2008
Messages
4,979
Trophies
0
Website
Visit site
XP
220
Country
United States
Depravo said:
@twiztidsinz Thanks for the mini savlib tutorial. I was able to use it to make a small modification.

There seems to be some debate about the save file size needed for Spirit Tracks. Certainly the release info say it needs an 8Mbit (1Mb) save file but other sources claim it isn't necessary. Anyway, just to be on the safe side I added it to the savlib.Nice
biggrin.gif
Glad people are finding it useful.
I can't really take much credit for it though...
While I did figure it out myself, some of the info (like the file size and reserved area) had me stumped til I read the page that hosts NDS Savlib Edit.

Depravo said:
A brief caveat to anyone who wishes to use it -

Firstly, this will not convert an existing save file. It only works when creating a new save file. Secondly, it's for the unpatched (U) version of Spirit Tracks only so you need to be running v1.17a12. Thirdly, this is my first attempt at hex-editing anything so use at own risk.

http://filetrip.net/file.php?id=9006Well... I think you can't pick a better file to start learning on
biggrin.gif

The savlib.dat file is very straight forward, unlike infolib.dat.


infolib.dat partial file structure:
You can actually size infolib.dat to 8 characters wide (00 01 02 03 04 05 06 07) and see the Game ID like in savlib.dat, the other 4 characters puzzle me.
For example... the first entry in infolib is as follows: 41 54 49 4A 98 F0 97 0F
The first 4 (41 54 49 4A) is ATIJ, which is the Game ID for ??????????? (Electroplankton).
The following 4 (98 F0 97 0F) is listed in dat2xml'd file, with one change... the order is "reversed" i.e. 00 01 02 03 becomes 03 02 01 00
CODEÂÂÂÂ
ÂÂÂÂÂÂÂÂATIJ *** unknown title name ***
ÂÂÂÂÂÂÂÂATIJ 0F97F098
ÂÂÂÂÂÂÂÂ2009/12/05 06:40
ÂÂÂÂÂÂÂÂ
ÂÂÂÂÂÂÂÂÂÂÂÂPATCH
ÂÂÂÂÂÂÂÂÂÂÂÂ00000000 00000000 0000B328 00000000 00000000 00000000 0000B2C0 0000B118 0000B1EC 0000B078 00000000 0000B028 00000000 0000BAA4 00051EC4 FFFFFFFF FFFFFFFF FFFFFFFF 00051CB0 FFFFFFFF 000008F4 0000FBA8 FFFFFFFF FFFFFFFF
ÂÂÂÂÂÂÂÂ
ÂÂÂÂ
I'm not sure where the second half of the Game ID (0F97F098 / 98F0970F) comes from.
Second half of the Game ID is a CRC32 of the first 200bytes (in hex) of the ROM, credit to blow_fly98 for explaining it to me.
http://gbatemp.net/index.php?showtopic=196117

After the "index" of the Game IDs, you will see larger blocks of data.
This is the first entry in that section which appears to be the groups from the section in "reverse" order:
(e.g. 1234 5678 9ABC would become 4321 8765 CBA9)
CODE
00 00 00 00 00 00 00 00
28 B3 00 00 00 00 00 00
00 00 00 00 00 00 00 00
C0 B2 00 00 18 B1 00 00
EC B1 00 00 78 B0 00 00
00 00 00 00 28 B0 00 00
00 00 00 00 A4 BA 00 00
C4 1E 05 00 FF FF FF FF
FF FF FF FF FF FF FF FF
B0 1C 05 00 FF FF FF FF
F4 08 00 00 A8 FB 00 00
FF FF FF FF FF FF FF FF
 

twit21

Well-Known Member
Member
Joined
Jan 7, 2008
Messages
181
Trophies
0
Age
46
Location
Anchorage, AK
XP
164
Country
United States
r0man said:
Sarcastic post is sarcastic
ROFL With the posts you've been seeing from me recently, I can understand why you'd think that. But I wasn't being in the least sarcastic. I like the fact that this thread exists and that through it the information about hacking the TTMenu kernel is being made public. This is a good thing and I fully support it.
 

r0man

Well-Known Member
OP
Member
Joined
Oct 17, 2009
Messages
102
Trophies
0
Location
Seattle, USA
Website
www.r0man.com
XP
9
Country
United States
Meh, there aren't that many features that are missing from the DSTT compared to some higher end cards.

However, it would be nice to add a skin changing feature, maybe real time saving. I have no clue how to do the latter, but a skin changer should be relatively easy comparatively.

@twit ah, lol
tongue.gif
 

twit21

Well-Known Member
Member
Joined
Jan 7, 2008
Messages
181
Trophies
0
Age
46
Location
Anchorage, AK
XP
164
Country
United States
The ability to alphabetically sort the menu would be nice....

...If that were possible, however, I'm sure the other hackers would already have added it. That's been NDSTT problem #1 on the list of things people bitch about ever since the device was first released.
 

twiztidsinz

Taiju Yamada Fan
Member
Joined
Dec 23, 2008
Messages
4,979
Trophies
0
Website
Visit site
XP
220
Country
United States
twit21 said:
The ability to alphabetically sort the menu would be nice....

...If that were possible, however, I'm sure the other hackers would already have added it. That's been NDSTT problem #1 on the list of things people bitch about ever since the device was first released.
That should be possible, since YSMenu can do it.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: ssssey ioBtneicnA@