smali2java icon indicating copy to clipboard operation
smali2java copied to clipboard

Request - add UI like on java decompiler and JEB decompiler

Open AndroidDeveloperLB opened this issue 11 years ago • 6 comments

I know this is the place for issues, but I really hope this tool could become a real good alternatives to such tools (one is free and lacks of features, one is very expensive yet seems to do a very good job).

Would you please consider making a nice UI for this tool? You could use SWT and WindowBuilder for making it cross platform...

AndroidDeveloperLB avatar Jan 04 '14 20:01 AndroidDeveloperLB

Hello :)

Well, actually it's "technically" an issue. The app isn't designed to work like JD-GUI or other similar tools. It is intended to work directly on a Jar or APK because decrypting the smali files requires to read other child or referenced files.

However, I assume that a small UI to choose a file or some folders and put some settings or decompiling a single file and displaying it wouldn't hurt. I would consider it something secondary or optional, but good to have nonetheless.

If there's gonna be such GUI developed, C# can't use SWT or WindowBuilder, and also, those libraries are a pain to use in my opinion. I'd rather do it inside the same project, and for the cross-platform thing, there's Mono for Linux/Mac and .NET for Windows.

darkguy2008 avatar Jan 04 '14 22:01 darkguy2008

First, thank you for answering (and so quickly).

Will this library ever be able to do easier reverse engineering like the tools I've mentioned? Will you at least consider putting here executables of the app ? Why did you choose C# instead of Java in the first place (as Java is closer to how Android apps than C#...) ?

AndroidDeveloperLB avatar Jan 04 '14 22:01 AndroidDeveloperLB

Oh, no problem :) I try to, as I consider it polite hehe.

About your questions:

  1. That's the idea, the free tools are unmaintained and hard to fix, and the paid ones are way too expensive. I'm aiming for the middle ground.
  2. I have a hosting where to create a webpage for the project and offer binary downloads when the project reaches a stable state, so, yes, but not here on Github. At least I don't think this is the place for binaries.
  3. Because I've been developing in C# for many years (since .NET framework 2.0 and VS2003) and I've realized that I don't have to reinvent the wheel like you have to in Java. It's also faster to develop and compile with, and the VS IDE is by far the best IDE I've ever used. For that and more reasons, but those are the main ones. I know it isn't the "ideal" platform in the Android environment, but it is a platform where I can get work done very quickly and most code and stuff just works.

darkguy2008 avatar Jan 04 '14 22:01 darkguy2008

body p { margin-bottom: 0cm; margin-top: 0pt; } For some reason I can't see your github website anymore (says "404 - This is not the web page you are looking for). No idea why. But I can still reply using email, so that's what I do here...  hope it works :) About the answers:I'm happy to hear it. I really hope to see a good tool out there, an nice alternative to all others. Could you consider putting a link on Github to the website that will have the executables (and maybe vice versa) ? Would you mind creating executables for Linux and Mac OS when it'sr ready ? But C# and Java are quite similar... It shouldn't be hard for C# developers to use Java... I've learnt both languages and even though I know C# has some nice features Java doesn't have (especially 1.6 which Android is stuck on), I still prefer Java. Anyway, this is a subjective question, so I guess if you are happy, we should too. :) On 05/01/2014 00:31, José Osorio wrote:

  Oh, no problem :) I try to, as I consider it polite hehe.
  About your questions:

      That's the idea, the free tools are unmaintained and hard
        to fix, and the paid ones are way too expensive. I'm aiming
        for the middle ground.


      I have a hosting where to create a webpage for the project
        and offer binary downloads when the project reaches a stable
        state, so, yes, but not here on Github. At least I don't
        think this is the place for binaries.


      Because I've been developing in C# for many years (since
        .NET framework 2.0 and VS2003) and I've realized that don't
        have to reinvent the wheel like you have to in Java. It's
        also faster to develop and compile with, and the VS IDE is
        by far the best IDE I've ever used. For that and more
        reasons, but those are the main ones. I know it isn't the
        "ideal" platform in the Android environment, but it is a
        platform where I can get work done very quickly and most
        code and stuff just works.

  —
    Reply to this email directly or view
      it on GitHub.

AndroidDeveloperLB avatar Jan 04 '14 23:01 AndroidDeveloperLB

Hello!

Yeah, I can't see the web issue either. Github is acting strange, it even says their system thinks I'm a bot (wtf?) which is weird. I contacted them but I haven't received any reply yet.

I'm glad you like the initiative, the support is really appreciated :)

About the website, yes, I will, when it's ready, I haven't even coded it yet :P... as for the executables, I might do for Linux, but I can't for Mac because I can't afford one. If someone else has one and can compile a binary, I'll be sure to add it to the downloads list, too.

About Java, yes! I've used Java before, they're very similar and in fact thanks to using C#, Java is easier for me and that is why I'm writing this decompiler. However, Java does not have any framework and you highly depend on other people's frameworks or tools, whereas in C# you only depend on Microsoft and their framework has mostly everything one can need for both basic apps and powerful, high-performance & high-load apps. I've rarely had to use external libraries in the C# world whereas in Java I've had to surf the net to find a semi-nice library for doing something that the .NET framework already has. That's why I prefer it.

To each their own I guess ;)

On Sat, Jan 4, 2014 at 6:34 PM, AndroidDeveloperLB <[email protected]

wrote:

body p { margin-bottom: 0cm; margin-top: 0pt; } For some reason I can't see your github website anymore (says "404 - This is not the web page you are looking for). No idea why. But I can still reply using email, so that's what I do here... hope it works :) About the answers:I'm happy to hear it. I really hope to see a good tool out there, an nice alternative to all others. Could you consider putting a link on Github to the website that will have the executables (and maybe vice versa) ? Would you mind creating executables for Linux and Mac OS when it'sr ready ? But C# and Java are quite similar... It shouldn't be hard for C# developers to use Java... I've learnt both languages and even though I know C# has some nice features Java doesn't have (especially 1.6 which Android is stuck on), I still prefer Java. Anyway, this is a subjective question, so I guess if you are happy, we should too. :) On 05/01/2014 00:31, José Osorio wrote:

Oh, no problem :) I try to, as I consider it polite hehe. About your questions:

That's the idea, the free tools are unmaintained and hard to fix, and the paid ones are way too expensive. I'm aiming for the middle ground.

I have a hosting where to create a webpage for the project and offer binary downloads when the project reaches a stable state, so, yes, but not here on Github. At least I don't think this is the place for binaries.

Because I've been developing in C# for many years (since .NET framework 2.0 and VS2003) and I've realized that don't have to reinvent the wheel like you have to in Java. It's also faster to develop and compile with, and the VS IDE is by far the best IDE I've ever used. For that and more reasons, but those are the main ones. I know it isn't the "ideal" platform in the Android environment, but it is a platform where I can get work done very quickly and most code and stuff just works.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/darkguy2008/smali2java/issues/3#issuecomment-31591167 .

darkguy2008 avatar Jan 04 '14 23:01 darkguy2008

For some reason I can't see your github website anymore. No idea why. But I can still reply using email, so that's what I do here... :)

about the answers:

  1. I'm happy to hear it. I really hope to see a good tool out there, an nice alternative to all others.
  2. Could you consider putting a link on Github to the website that will have the executables (and maybe vice versa) ?
    1. But C# and Java are quite similar... learning Java is easier than C#, no? I've learnt both languages and even though I know C# has some nice features Java doesn't have (especially 1.6 which Android is stuck on), I still prefer Java

On 05/01/2014 00:31, José Osorio wrote:

Oh, no problem :) I try to, as I consider it polite hehe.

About your questions:

That's the idea, the free tools are unmaintained and hard to fix, and the paid ones are way too expensive. I'm aiming for the middle ground. 2.

I have a hosting where to create a webpage for the project and offer binary downloads when the project reaches a stable state, so, yes, but not here on Github. At least I don't think this is the place for binaries. 3.

Because I've been developing in C# for many years (since .NET framework 2.0 and VS2003) and I've realized that don't have to reinvent the wheel like you have to in Java. It's also faster to develop and compile with, and the VS IDE is by far the best IDE I've ever used. For that and more reasons, but those are the main ones. I know it isn't the "ideal" platform in the Android environment, but it is a platform where I can get work done very quickly and most code and stuff just works.

— Reply to this email directly or view it on GitHubhttps://github.com/darkguy2008/smali2java/issues/3#issuecomment-31590463 .

AndroidDeveloperLB avatar Jan 05 '14 08:01 AndroidDeveloperLB