martyx00 / ghinja Goto Github PK
View Code? Open in Web Editor NEWPlugin to embed Ghidra Decompiler into Binary Ninja
License: Apache License 2.0
Plugin to embed Ghidra Decompiler into Binary Ninja
License: Apache License 2.0
Ive installed ghinja both through the Binary Ninja plugin manager and manually through the repo. I set the target to analyzeHeadless, yet when I click anywhere in the dock to run the decompiler, it hangs on "Decompiler Running"
Binary Ninja Version 2.4.2846
Ghidra version 10.0.4
Macbook Pro M1
Thanks :)
Platform Information:
MacOS 11.6 (20G165) (M1 chip)
Binary Ninja Build:
Version 2.4.2846 Personal
While attempting to load the plugin I receive the following error.
File "/Users/adi/Library/Application Support/Binary Ninja/plugins/ghinja/__init__.py", line 101, in eventFilter
self.decomp = Decompiler(self.filename,self.current_path)
AttributeError: 'GhinjaDockWidget' object has no attribute 'filename'
Hello,
After installation the open file dialog is popping up. Unfortunately on OSX it don't have any title, so it is not clear what file should be picked without checking it in the source code.
My suggestion is to replace the open file window with message box asking the user to set correct path for ghidra headless in settings
Hey so i might just be stupid right now but i dont get it to work.
So sorry if i waste your time with that.
in my Settings.json it looks like that
"ghinja" :
{
"ghidra_install_path" : "/home/sn0wfl4ke/ghidra/support/analyzeHeadless"
}
Now when I want to Decompile a small Programm which is instalty there inside Ghidra
it just stuck me in Decompiler running....
I am pretty sure i did sth wrong with the installation or that i am missing sth kinda noob at this xD
my os i use it on is btw linux
thx already ^^
I'm not sure if this is an issue on my end but I am fully updated in Binja 3.0.3233 and ghidra. My platform is windows. This was working for me a few months ago.
Does anyone recognize this error?
Rather than a local metadata store, might I recommend using the Settings API? The advantage is if the plugin is removed / reinstalled, the previous settings will be maintained. Here's an example plugin that uses the Settings API:
https://github.com/withzombies/bnil-graph/blob/master/__init__.py#L21-L48
Likewise, you might consider using something like Path(user_plugin_path()) / ".." / "ghinja_projects"
as a good folder versus ~/.ghinja_projects
for better cross-platform portability. (IE, .dot
files not being standard on windows)
It would be nice to have ghinja only enabled some of the time. Right now the only way to do that is to totally disable/enable the entire plugin. It would be nice if it either didn't run if the dockwidget was hidden, or if there's problems with that implementation a setting to disable/enable would be nice since plugin disabling requires a restart whereas a setting wouldn't.
Ghidra opens with a message: The specified file is not a project file: Ghindja.java
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.