Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Importing found functions from Polypyus #4

Open
Nikolasel opened this issue May 24, 2020 · 7 comments
Open

Importing found functions from Polypyus #4

Nikolasel opened this issue May 24, 2020 · 7 comments

Comments

@Nikolasel
Copy link

In the readme it is stated that the exported functions can be imported into IDA. How can this be accomplished? Do you use an own IDAPython script or can this IDA by default? Does also a workflow exist to import the functions into Ghidra?

Thanks for your help and kind regards,
Nikolas

@jiska2342
Copy link
Member

Hi @Nikolasel,

we currently have import/export scripts for IDA 6.8 and 7.x. Sorry, they were missing in this initial commit, we will push them these days and I will ping you again :)

We're also working on scripts for Ghidra and Binary Ninja, as well as several benchmarks.

@Nikolasel
Copy link
Author

Sounds great, thanks in advance.

@jiska2342
Copy link
Member

Found the scripts, tested them on IDA 7.2 with Python 2 and IDA 7.4 with Python 3. I hope they work, it's quite experimental. I mainly worked with parsing .csv via awk and piping them into Python scripts that IDA can execute, but that is no user-friendly workflow I guess. Anyway, would be great if you could test the scripts and tell me your IDA version :)

For the overall workflow to improve the IDA database quality I also added the overall workflow including Thumbs Up, BinDiff, and Diaphora to the main README.

@Nikolasel
Copy link
Author

Thank you, I will test it.

@Nikolasel
Copy link
Author

I tested the scripts a little bit. Currently, I am using IDA Pro 7.4 with Python 3.
The script pp_import.py works in my setup.
The script pp_export_all_names.py doesn't work due to line 36. Here the old Python 2 print statement is used and this doesn't work in Python 3.
And after the successful export, I noticed that the CSV has the order [name addr size type mode] and polypyus instead uses the order [name addr size mode type].

@jiska2342
Copy link
Member

Thanks for testing :)
@FlorianKosterhon has a more recent version of those scripts on his machine and will push them in the upcoming week.

Slightly off-topic question: Which firmware did you run Polypyus on? So far, we only tested it on ARM Cortex M3/M4 Bluetooth firmware as well as some of the Nexmon Wi-Fi firmware.

@Nikolasel
Copy link
Author

I used Polypyus with different versions of Broadcom/Nexmon Wi-Fi firmware.

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

No branches or pull requests

2 participants