2011-06-17 57 views
3

我在THIS教程的帮助下使用了dex2jar来提取.class文件,并使用jd-gui来查看这些类。但我不能在jd-gui中编辑,所以通过jd-gui,我保存了所有资源,现在我有一个带.java类的.zip文件,所以我用Notepad ++编辑了它们。 所以现在我有一个.zip文件,所有类都在.java中,我编辑了我想要的文件,我如何将所有内容都恢复为.apk以安装到手机中?这是编辑.apk的错误方法吗?
谢谢。用dex2jar和jd-gui编译后编译.APK?

+0

嗨奥马尔。你想做什么? – Shlublu 2011-07-28 21:15:33

回答

4

如果反编译器不能正确编译的(事实上有混淆你永远不会没有错误代码),你不能重新编译代码...

如果编辑类到Eclipse中,您会发现有一堆错误和一堆$ NameClassNumber和其他东西。

也许你可以编辑而不是重新包装一些资源,但代码不是(幸运的)。

+0

然后mod如何编辑.apks来添加特征等? – Omar 2011-06-17 08:53:37

+0

这取决于反编译的结果。如果您可以检索功能代码,或者您擅长修复它,则可以对其进行编辑。 http://stackoverflow.com/questions/2953532/is-it-even-possible-to-modify-apk-by-adding-additional-class-to-dex-and-re-pac – 2011-06-17 09:27:58

+0

奥马你可以编辑smali文件然后重新打包在一个功能的apk,但它不是Java。 – 2011-09-14 23:01:10

4

我从来没有得到好的dex2jar结果。

我使用7-zip从jar中提取dex文件,然后使用baksmali http://code.google.com/p/smali/将dex文件反编译为“.smali”文件(不像类文件那样容易理解,但是可管理),然后使用smali (包含在baksmali中)重新编译。再次使用7-zip将新的classes.dex文件放回jar中并完成。