Pages: 12 »
Posted on 08-21-17, 09:53 pm
Birdo


Karma: 2754
Posts: 1993/2091
Since: 06-26-11
Is it possible to search ARM9/overlays for file references? And by file references I mean pieces of code that load/read a file ID. And then look up what file the file ID refers too? Or do the opposite and search for specific files to see if they are mentioned (by getting a file ID from the filename somehow)?
Posted on 08-21-17, 09:55 pm
☭ coffee and cream


Karma: 10415
Posts: 2455/2768
Since: 06-26-11
sure it is, with imagination


IDA Pro may be your best friend in this quest
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 08-21-17, 10:18 pm
Mariomaster

Karma: 8528
Posts: 960/1681
Since: 06-09-12
You can calc the ExtID (the indexes the game uses) by subtracting the overlay count (0x83) from the file ID you see in NSMBe.

Then you can simply search for that intermediate number in the IDA database. If a found intermediate value is passed to a file loading function (which are all named) you can be sure your file gets loaded there.

If you want to know which files an actor loads the heapCreated entry in the vtable is a place to look at. Generally all 3d related stuff is loaded there. Not too sure about other stuff but I guess so.
_________________________
GitHub - Kuribo64 - YouTube
Posted on 08-22-17, 12:48 pm (rev. 1 by  Hiccup on 08-22-17, 02:10 pm)
Birdo


Karma: 2754
Posts: 1994/2091
Since: 06-26-11
Do I literally add 0x83 to the file id and then do search the db in ida pro with CTRL-F or something?
Posted on 08-22-17, 02:40 pm


Karma: 19757
Posts: 1021/1100
Since: 04-02-13
subtract.
And it's ALT+T
Posted on 08-22-17, 04:11 pm (rev. 1 by RicBent on 08-22-17, 04:14 pm)
Mariomaster

Karma: 8528
Posts: 963/1681
Since: 06-09-12
Actually it is ALT+I for intermediate values. T is for text.

Use Ctrl+I to go to the next result.
_________________________
GitHub - Kuribo64 - YouTube
Posted on 08-22-17, 04:43 pm
Birdo


Karma: 2754
Posts: 1995/2091
Since: 06-26-11
Yeah, I meant subtract. But what exactly is an "intermediate value"?
Posted on 08-22-17, 05:08 pm
Mole
Normal user

Karma: 2013
Posts: 317/359
Since: 07-08-12
strings list is your friend too, if they are referenced
Posted on 08-22-17, 05:10 pm (rev. 1 by RicBent on 08-22-17, 05:11 pm)
Mariomaster

Karma: 8528
Posts: 964/1681
Since: 06-09-12
Posted by Hiccup
But what exactly is an "intermediate value"?

Basically any numeric value

Posted by shibboleet
strings list is your friend too, if they are referenced

Only the SDATs are referenced by filename instead of ID tho iirc.
_________________________
GitHub - Kuribo64 - YouTube
Posted on 08-22-17, 09:31 pm (rev. 2 by  Hiccup on 08-22-17, 09:41 pm)
Birdo


Karma: 2754
Posts: 1996/2091
Since: 06-26-11
How do you open idb files in ida pro?
Posted on 08-22-17, 09:32 pm
Mariomaster

Karma: 8528
Posts: 966/1681
Since: 06-09-12
By, uh, opening the idb from ida thru File>Open?
_________________________
GitHub - Kuribo64 - YouTube
Posted on 08-22-17, 09:32 pm (rev. 2 by  Hiccup on 08-22-17, 09:41 pm)
Birdo


Karma: 2754
Posts: 1997/2091
Since: 06-26-11
Yeah, I was using the 64bit version - oops . Another question: how do code hackers such are yourselves contribute to the IDB if dirbaio isn't online and it is in his post? Or do you just not use it?
Posted on 08-22-17, 09:39 pm
Mariomaster

Karma: 8528
Posts: 967/1681
Since: 06-09-12
We don't. The idb of him hasn't been updated in years.

There is one on the newer ds dropbox that has some changes and a bit more documented stuff. Nothing major tho.




_________________________
GitHub - Kuribo64 - YouTube
Posted on 08-22-17, 09:44 pm (rev. 1 by  Hiccup on 08-22-17, 09:44 pm)
Birdo


Karma: 2754
Posts: 1998/2091
Since: 06-26-11
Is the stuff discovered by MeroMero, skawo etc in threads in this forum the sort of thing that'd go in the idb?

I guess the Newer idb will be released with the game along with the code hacks and other behind-the-scenes stuff like that?
Posted on 08-22-17, 09:47 pm
Mariomaster

Karma: 8528
Posts: 968/1681
Since: 06-09-12
No idea. It's not like there is lot's of stuff that is new in our ida. Stuff by MeroMero is not in there.
So it's probably not worth releasing that (technically it would also be illegal as it contains the code of the entire game).

And I'd not release the Newer stuff instantly because I'd rather see people play the thing before hacking the shit out of it.
_________________________
GitHub - Kuribo64 - YouTube
Posted on 08-22-17, 09:50 pm (rev. 2 by  Hiccup on 08-22-17, 09:54 pm)
Birdo


Karma: 2754
Posts: 1999/2091
Since: 06-26-11
You could release it as a patch to the one dirbaio posted. And its not like its the whole game.
Btw, off the top of your head, can you think of another program that can display the same file IDs as NSMBe? I can't use NSMBe right now.
Posted on 08-22-17, 09:55 pm
Mariomaster

Karma: 8528
Posts: 969/1681
Since: 06-09-12
Technically every bit you distribute of the game is illegal.

And yes, the idb contains the entire code of the game, including all overlays.

And again, it's useless to literally everbody. I see nobody ever using that idb again and if somebody really does the few things we added are not hard at all to find again.
_________________________
GitHub - Kuribo64 - YouTube
Posted on 08-22-17, 10:11 pm
Birdo


Karma: 2754
Posts: 2000/2091
Since: 06-26-11
Yeah, but if everyone who ever looks at the code says that then it will never get documented.
Posted on 08-22-17, 10:14 pm
☭ coffee and cream


Karma: 10415
Posts: 2457/2768
Since: 06-26-11
NEW MARIO A2DP01

sue me Nintendo
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 08-22-17, 10:20 pm
Mariomaster

Karma: 8528
Posts: 970/1681
Since: 06-09-12
Posted by Hiccup
Yeah, but if everyone who ever looks at the code says that then it will never get documented.

who would ever want to document the code more than the current idb tho. It's not like there is anything more interesting to discover. And that "everybody" have maybe been 3 people over the last 3 years. So ugh...

And you  Arisotura are oh so smart
_________________________
GitHub - Kuribo64 - YouTube
Pages: 12 »