Mixaill / FakePDB

Tool for PDB generation from IDA Pro database
Apache License 2.0
550 stars 61 forks source link

Identify Lumina and library functions in JSON export #28

Open p0358 opened 2 years ago

p0358 commented 2 years ago

Is your feature request related to a problem? Please describe. I want to filter the JSON to extract the function names/addresses of the functions that I have explicitly manually named with the N button.

The problem is that Lumina functions (green label) and library functions (blue label) get in the way, there's lots of them and they're impossible to tell apart from the manual names. In current implementation of the JSON export, they both have is_public:false and is_autonamed:false, despite arguably being autonamed (especially the detected library functions).

Describe the solution you'd like I think it would make sense to include library functions as autonamed and to add an additional field that indicates whether the name comes from Lumina, so it's possible to easily filter those out if needed.

Describe alternatives you've considered Filtering the JSON like this:

data.functions.filter(f => !f.is_autonamed && !f.name.startsWith('sub_') && !f.name.startsWith('?') && !f.name.startsWith('j_'))

still yields 800+ results that include functions from Lumina.

Additional context obraz

The ability to export all manual names would be useful to merge names from multiple databases.