Storyyeller / Krakatau

Java decompiler, assembler, and disassembler
GNU General Public License v3.0
1.95k stars 219 forks source link

WIP: Make krakatau a Python package and add CLI #157

Closed MartinThoma closed 2 years ago

MartinThoma commented 5 years ago

See #156

MartinThoma commented 5 years ago

This is just a very rough draft so that you can see what changes it involves. If you don't like it, I will not continue.

Storyyeller commented 5 years ago

Where did bin/krakatau come from? Why is it talking about Android?

MartinThoma commented 5 years ago

Ah, sorry, this was only a draft to see if you are interested at all. It's not finished. I will only finish it if you want this.

It was talking about Android because I made the same change recently for Androguard.

anthraxx commented 3 years ago

@Storyyeller any updates on something like this? This would also allow packaging Krakatau appropriately on a linux distro as a package. Thanks for this great tool

Storyyeller commented 3 years ago

I thought people were already packaging Krakatau for linux?

anthraxx commented 3 years ago

On August 26, 2020 3:44:18 PM GMT+02:00, Robert Grosse notifications@github.com wrote:

I thought people were already packaging Krakatau for linux?

According to repology no Linux distro ships it via package. It would also be problematic to put binary names like assemble or disassemble into /usr/bin as they are too generic, that's why a unified interface like/usr/bin/krakatau would be important. If this is still desired, I can tidy up a new pull request and afterwards package it for Arch Linux. Bonus points of you start tagging some git releases xD

Storyyeller commented 3 years ago

So one issue is that the assembler and disassembler support both Python 2 and Python 3, but the decompiler is Python 2 only. How do packages handle stuff like that?

anthraxx commented 3 years ago

I guess it needs to depend on py2 while it's not parted? What's the status on that, as you may be very well aware of py2 being dead

Storyyeller commented 3 years ago

I don't think enough people use the decompiler to justify the effort of trying to rewrite it.

P.S. Python 2 is surprisingly vibrant for a dead language :P. It's still the main language I use at home and at work.

anthraxx commented 3 years ago

Another possibility would be to have a check in the decompiler part and exit 1 if it's py2 while it's being ported. As many distro get or already got rid of py2

anthraxx commented 3 years ago

Can you point me to some issues? I don't think a rewrite is needed I have ported tons of py2 so far, maybe another field I can help with

Storyyeller commented 2 years ago

Is this PR actually ready to merge? I see some todos in it, and there's also a merge conflict.

jayvdb commented 2 years ago

PR's fork's repo has been removed, so no further fixes are possible.

Either you merge it (the conflict to .gitignore can be fixed by you), or you close it.

Storyyeller commented 2 years ago

Ok, I'll go ahead and close it then.