首页 > 教育学习 > 为什么 > android反编译后的classes.dex.dex2jar.jar为什么jd gui打不开?

android反编译后的classes.dex.dex2jar.jar为什么jd gui打不开?
2012-01-19 17:28:42   来源:   点击:

    android反编译后的classes.dex.dex2jar.jar为什么jd gui打不开?

    2 个答案

    • 答案 1:

      你用的是apktool进行的反编译吗?我的是可以的。但是apktool反编译后,没有生成ylm文件,无法编译回去。
    • 答案 2:

      1.有可能是工具版本的问题解决方法:试试别人能用的工具JD-GUI下载地址:windows版JD-GUI:laichao.googlecode.com/files...Linux版JD-GUI:laichao.googlecode.com/fi ... 2.linux.i686.tar.gz2.方法二:换种思路,试试其他反编译的方法工具下载:在code.google.com/p/androi...下 载获得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。下载后解开,为了方便使用,按作者的推荐把得到的4个文件复制到C:\Windows文件夹里。这个工具是Java写的,需要你的电脑安装了JRE或者JDK,并在系统环境变量Path里加入java.exe所在路径。以上准备工作做好后,就可以用它来反编译APK了。这里我用动态壁纸的APK来做示范。如果用过动态壁纸,你也许会发现在设置壁纸时,界面的显示有点问题:“动态壁纸”,在手机上中文显示为“当前壁纸”。这是“动态壁纸选择器”LiveWallpapersPicker.apk的翻译错误造成的。(假设LiveWallpapersPicker.apk放在C盘根目录)开始 > 运行,输入cmd,回车。apktool d "C:\LiveWallpapersPicker.apk" "C:\LiveWallpapersPicker"(命令行解释:apktool d 要反编译的文件 输出文件夹)这样,LiveWallpapersPicker.apk就被反编译了,输出内容在C:\LiveWallpapersPicker文件夹里。打开C:\LiveWallpapersPicker文件夹,我们发现里面有一些XML文件和一些文件夹。绝大部分情况下,语言和图片资源都在res文件夹里,我们这个例子当然不例外。打开res文件夹,可以其中又是很多文件夹。(又是)绝大部分情况下,语言资源都放在values*文件夹里。比如说values放默认语言(英语居多),values-de放德语,values-fr放法语等等。一般我们关心的是values-zh-rCN(简体中文)和values-zh-rTW(繁体中文)。打开values-zh-rCN文件夹,其中有个strings.xml。打开看看:动态壁纸选择器 当前壁纸 当前壁纸预览 设置... 设置壁纸 无当前壁纸。 设置壁纸 %1$s提供者:%2$s 正在载入当前壁纸…很好,就是它了。把“当前壁纸”都改为“动态壁纸”,再检查和修正标点——中文内容用中文标点(强烈呼吁大家注意标点问题,目前马大哈太多了)后,保存。本例改这么多就够了。其它复杂的APK建议把res文件夹里的内容都检查下,至少你关心的语言文件夹里的内容都检查下。改完后,就可以重打包了。还是在cmd命令行里,输入:apktool b "C:\LiveWallpapersPicker"(命令行解释:apktool b 要打包内容所在文件夹)就可以了。生成的APK在C:\LiveWallpapersPicker\dist文件夹里,叫out.apk。这个out.apk是没有签名的,所以不能直接装到手机里。签名后得到的APK,就是可以装到手机里的了。

相关热词搜索:

上一篇:移动支付具有潜力主要表现在什么地方呢?
下一篇:Square 目前有 64 位员工,为什么需要这么多人?