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

a little confused about the location the classes generated #3

Open
iromise opened this issue Jul 5, 2017 · 4 comments
Open

a little confused about the location the classes generated #3

iromise opened this issue Jul 5, 2017 · 4 comments

Comments

@iromise
Copy link

iromise commented Jul 5, 2017

I just found that the inner .class generated by enjarify is not in its original dir? is it possible to just generate it in the default dir? or could you please give me some explaination so that I could do it by myself since I am also using apktool(It works like that.)for example
here is the enjarify result

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         2017/7/5     11:10                air
d-----         2017/7/5     11:10                atast
-a----         2017/7/5     11:10            452 AppEntry$1.class

where the following is the result of apktool in the dir atast

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         2017/7/5     11:10           1366 AppEntry$1.smali
-a----         2017/7/5     11:10           1124 AppEntry$2.smali
-a----         2017/7/5     11:10           1094 AppEntry$3.smali
-a----         2017/7/5     11:10           2318 AppEntry$4.smali
-a----         2017/7/5     11:10         110804 AppEntry.smali
-a----         2017/7/5     11:10            668 GetVersionCode.smali
-a----         2017/7/5     11:10            509 R$attr.smali
-a----         2017/7/5     11:10            586 R$drawable.smali
-a----         2017/7/5     11:10            694 R$raw.smali
-a----         2017/7/5     11:10            758 R$string.smali
-a----         2017/7/5     11:10            590 R$style.smali
-a----         2017/7/5     11:10            549 R.smali

thanks a lot.

@Storyyeller
Copy link
Owner

Could you explain what you mean please? Enjarify outputs a jar file. Also, can you provide an apk that demonstrates the behavior you are talking about?

@iromise
Copy link
Author

iromise commented Jul 5, 2017

I am so sorry for that, I just found that the classes in the dir

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         2017/7/5     11:10                air
d-----         2017/7/5     11:10                atast
-a----         2017/7/5     11:10            452 AppEntry$1.class

may be were generated by the tools I used. I am now working on it to solve the problem.
And by the way, will this project add some doc about the code so that others can read the code easily or even make some contribution.

Thanks a lot.

@Storyyeller
Copy link
Owner

will this project add some doc about the code so that others can read the code easily or even make some contribution.

What kind of documentation do you want?

At a high level, dex parsing code is in parsedex.py, dalvik.py, and dalvikformats.py. Everything classfile related is in jvm/ and typeinference/. Type inference is in typeinference.py, scalartypes.py and arraytypes.py. The bytecode optimization passes are in the optimization/ folder. The core of the bytecode translation logic is in writeir.py.

Also, note that the current type inference system is a hack which doesn't handle a few obscure cases and which is incompatible with Java 8, so if I had infinite time and motivation, I'd like to rewrite it. But it's not worth the effort, especially when I'm not sure how many people are actually using Enjarify.

@iromise
Copy link
Author

iromise commented Aug 1, 2017

Thanks a lot. Maybe these are already enough. And I think those people who are doing research about Android reverse engineering may indeed need Enjarify rather than dex2jar which is not better compared with the former as you said.

By using Enjarify and jadx, people can view the java code. JEB also can do similar things, but most people can not afford the cost.

So I think there still exists a lots of people who need it.

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