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

Port Diaphora to Ghidra #159

Open
5 tasks
joxeankoret opened this issue Mar 11, 2019 · 13 comments
Open
5 tasks

Port Diaphora to Ghidra #159

joxeankoret opened this issue Mar 11, 2019 · 13 comments

Comments

@joxeankoret
Copy link
Owner

joxeankoret commented Mar 11, 2019

This is going to be a long time task (don't expect it to be available by tomorrow morning). The following is, roughly, the plan:

- [ ] Create an IDA Python compatibility layer for Ghidra.

  • Create a Python compatibility layer.
  • Port the exporter.
  • Port the basic GUI stuff.
  • Port the basic (plain assembler and plain pseudo-code) diffing GUI portions.
  • Port the diff in a graph.
@Patuti
Copy link

Patuti commented Apr 3, 2019

For the compat layer, this might be useful: https://github.com/daenerys-sre/source

@joxeankoret
Copy link
Owner Author

Just in case you're curious, I'm writing code for an API for a reverse engineering framework agnostic library (ie: the same unmodified code runs in IDA, Ghidra, Binary Ninja and possibly Radare2).

@kiwidoggie
Copy link

I was wondering for a status update, or if you were open to having a in-development branch that people could help contribute to. I know it's quite of an undertaking, and going to take time <3 👍

@joxeankoret
Copy link
Owner Author

Summer is not the best time to start a project :) However, I will create "soon" a new project in Github for the MultiRE library I'm working on, which is the 1st part of this project. I will add you to it as soon as I put it on Github.

@opsxcq
Copy link

opsxcq commented Jun 15, 2020

I wonder which of these layers will you create in java and how they will communicate with python (socket/bindings/jpython/rest) ?

@joxeankoret
Copy link
Owner Author

I haven't really done any real work on this subject for the Ghidra part. Not enough time :(

@opsxcq
Copy link

opsxcq commented Jul 28, 2020

I will keep an eye on this,let me know when you will get started.

@alexeikaramba
Copy link

Is there any progress on ghidra support? I didnt find anything in sources, i hoped that its partially ready so i can continue develop it

@joxeankoret
Copy link
Owner Author

The problem is that Ghidra doesn't natively support Python 3.X. If at some point the Ghidra team add native support for it or some of the multiple Python 3.X plugins that are out there becomes a de-facto plugin, then I will think about it again. Meanwhile... there is no point in even trying.

@r0ny123
Copy link

r0ny123 commented Sep 4, 2022

@joxeankoret, how about this https://github.com/mandiant/Ghidrathon? :)

@joxeankoret
Copy link
Owner Author

I know about 3 or 4 different options for having Python 3.X support. It will depend on adoption which one is the most used one. When one becomes the de-facto one, I will think again about it.

@nift4
Copy link

nift4 commented Sep 29, 2024

Ghidra now supports Python 3 natively: NationalSecurityAgency/ghidra#6900

@joxeankoret
Copy link
Owner Author

joxeankoret commented Sep 30, 2024

I'm going to try it and, if it's already integrated, start porting right away with the aim of having something working by the end of this year. Thanks for pointing this out!

PS: It's aimed for Ghidra version 11.3. I will just wait.

@joxeankoret joxeankoret added this to the Diaphora 4.0 milestone Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants