Skip to content
This repository has been archived by the owner on May 23, 2023. It is now read-only.

Function IDs #51

Open
TheStolenBattenberg opened this issue Mar 28, 2021 · 5 comments
Open

Function IDs #51

TheStolenBattenberg opened this issue Mar 28, 2021 · 5 comments

Comments

@TheStolenBattenberg
Copy link

Function analysis being on the TODO list would imply Function IDs/FID Databases don't work with this at the moment, correct?

@astrelsky
Copy link
Contributor

Function analysis being on the TODO list would imply Function IDs/FID Databases don't work with this at the moment, correct?

They work afaik. You would need to create them yourself though since the libraries used are proprietary.

@TheStolenBattenberg
Copy link
Author

TheStolenBattenberg commented Mar 28, 2021

An FID was created using source of some games/demos with complete (matching library ver) symbols still contained. I see this isn't actually a problem with this plugin though, Ghidra is just acting strange on my system and not showing the option under Analysis. Thanks.

@VelocityRa
Copy link
Contributor

VelocityRa commented Mar 28, 2021

Function ID isn't great since it's not fuzzy at all. Rizzo is way better in my experience / for my uses.

I have made SDK signatures & used them in several projects but I can't just release those here, pretty sure that would be illegal 😅.

If that wasn't the case I would have gladly contributed them here already, but meh.

@charlieamer
Copy link

I am beginner at ghidra, can you just give me brief explanation of:

  1. what do i get with sdk signatures ? If I understand correctly, i will get signatures for functions such as strcat, strcpy, but will I also get signatures for functions regarding CD, sound for example ?
  2. if I find a ps2 sdk, how do I import those signatures into ghidra ? Do I compile for example a .a library that contains all functions from sdk, and just drag-drop that file into ghidra ?

@VelocityRa
Copy link
Contributor

VelocityRa commented Oct 1, 2021

  1. Yes. You won't get everything for several reasons but you'll get some of them at least.
  2. If you want to do this yourself, the SDK will contain object files, that you will need to convert to signatures. I don't remember how I did it exactly but IIRC I found .o files (and extracted all .a files' .o files too) then made a bash script to invoke Ghidra's cmd interface to open each one in a database and run Rizzo's 'save' script that creates signatures. If you contact me on Discord (velocity hash 0042) I can help more.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants