`
limingcai
  • 浏览: 110382 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

android生成的apk文件反编译源代码然后修改

阅读更多
第一种
反编译Apk得到Java源代码
http://forum.lupaworld.com/thread-60551-1-1.html
工具下载:需用到dex2jar和JD-GUI这2个工具
dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip
JD-GUI下载地址:
windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip
Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz

步骤:
1.首先找到Android软件安装包中的classes.dex
把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件

2.把classes.dex拷贝到dex2jar.bat所在目录。
在命令行模式下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex ,生成classes.dex.dex2jar.jar

3.运行JD-GUI工具(它是绿色无须安装的)
打开上面的jar文件,即可看到源代码

实际上 这种只能看到代码而不能看到图片 并且内容相差太多 恢复不了原来的代码 思路还是有的 其它文件就看不到了

第二种


老外写的《android-apktool》软件,可以帮助我们把APK反编译,生成程序的源代码和图片、XML配置、语言资源等文件。我们对图片和语言资源等文件修改后,可以再把它们编译打包成APK,签名后就是手机可以安装的本地化/修正版APK了。
《android-apktool》软件软件可以访问它的主页http://code.google.com/p/android-apktool/下载获得,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。打开看看:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <string name="application_name">动态壁纸选择器</string>
    <string name="live_wallpaper_picker_title">当前壁纸</string>
    <string name="live_wallpaper_preview_title">当前壁纸预览</string>
    <string name="configure_wallpaper">设置...</string>
    <string name="wallpaper_instructions">设置壁纸</string>
    <string name="live_wallpaper_empty">无当前壁纸。</string>
    <string name="set_live_wallpaper">设置壁纸</string>
    <string name="wallpaper_title_and_author">%1$s提供者:%2$s</string>
    <string name="live_wallpaper_loading">正在载入当前壁纸…</string>
</resources>


很好,就是它了。把“当前壁纸”都改为“动态壁纸”,再检查和修正标点——中文内容用中文标点(强烈呼吁大家注意标点问题,目前马大哈太多了)后,保存。

本例改这么多就够了。其它复杂的APK建议把res文件夹里的内容都检查下,至少你关心的语言文件夹里的内容都检查下。

改完后,就可以重打包了。还是在cmd命令行里,输入:
apktool b "C:\LiveWallpapersPicker"
复制代码
(命令行解释:apktool b 要打包内容所在文件夹)
就可以了。生成的APK在C:\LiveWallpapersPicker\dist文件夹里,叫out.apk。

这个out.apk是没有签名的,所以不能直接装到手机里。签名工具和方法见http://www.hiapk.com/bbs/thread-21261-1-1.html,这里不说了。

签名后得到的APK,就是可以装到手机里的了。
这是一位朋友写的 我拿来试了下 感觉对不上号 所有的图片可以获得到 但是代码却一点也看不到 都是些smali的文件,这还要编译 出来的也是很多不规范的 根本不能改代码
最多是把广告给删了 然后再装回去 就是因为有图片可以改 直接把图片替换掉就可以了

最终 还没有解决怎么把一个完整的项目反编译出来 最后直接导到工程里的 期待高手解答
分享到:
评论

相关推荐

    将apk文件反编译成java源码

    把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex拷贝到dex2jar.bat所在目录。 ...

    apk反编译得到源代码

    反编译apk生成程序的源代码和图片、XML配置、语言资源等文件。 转载自:http://blog.sina.com.cn/s/blog_5752764e0100kv34.html 工具下载: 在http://code.google.com/p/android-apktool/下 载获得,apktool-1.0.0....

    android反编译工具(dex2jar,apk2java)

    Android APK反编译得到Java源代码和资源文件的工具 反编译apk生成程序的源代码和图片、XML配置、语言资源等文件的工具

    Android apk反编译工具

    Apk反编译工具包括了apktool、dex2jar和jd-gui三个工具,apktool用于apk反编译获取资源文件等,dex2jar用于分析classes.dex文件,jd-gui可以用于打开dex2jar分析生成的classes-dex2jar.jar文件从而查看源代码。

    JADX命令行和GUI工具,用于从Android Dex和apk文件生成Java源代码.zip

    命令行和GUI工具,用于从Android Dex和apk文件生成Java源代码。将 Dalvik 字节码从 APK、dex、aar、aab 和 zip 文件反编译为 java 类。解码 AndroidManifest.xml 和 resources.arsc 中的其他资源。包括去混淆器。请...

    Android反编译工具 APK反编译工具

    然后 进入jdgui文件夹双击jd gui exe 打开上面生成的jar包classes dex2jar jar 即可看到源代码了 "&gt;android反编译工具 附带反编译说明: 具体步骤: 首先将apk文件后缀改为zip并解压 得到其中的classes dex 它就是...

    反编译apk文件(android)

    2.解压"apk反编译工具.zip": 解压后,将classes.dex拷贝到该目录下,在命令行进入该目录,执行:dex2jar.bat classes.dex,回车,可看到在该目录下生成了classes_dex2jar.jar文件。 3.解压jd-gui-0.3.3.windows.zip...

    Android APK+Dex文件反编译及回编译工具 v.1.7.2 正式版

    · 对*.Dex 文件 反编译 及 回编译 或查看详细源代码 · 对*.Apk 文件 批量反编译 及 回编译 · 对*.Apk、*.Zip 文件执行签名 · Windows下直接显示APK文件自身图标 声明:1.本工具必须先安装JAVA; 2.如需...

    Android APK反编译工具包(全)

    二、apk反编译生成程序的源代码和图片、XML配置、语言资源等文件 如果是汉化软件,这将特别有用 首先还是要下载此反编译工具包,其中包含最新的apktool 1.5 具体步骤: 下载反编译工具包,打开apk2java目录下的...

    最新的android反编译

    最新的android反编译工具以及相关的使用方法,这个版本为最新的工具。 1、把apk文件重命名为zip或者rar文件格式 2、解压后把classes.dex复制到dex2jar-2.0目录中 3、打开cmd,定位到dex2jar-2.0目录 4、运行d2j-dex2...

    Android APK+Dex文件反编译及回编译工具(APKDB)v.1.9.2 正式版

    · 对*.Dex 文件 反编译 及 回编译 或查看详细源代码 · 对*.Apk 文件 批量反编译 及 回编译 · 对*.Apk、*.Zip 文件执行签名 · Windows下直示Apk件自身图标 声明 1.本工具必须先安装JAVA7; 2.如需显示APK自身...

    反编译apk文件工具及使用方法

    Android APK反编译 一.反编译Apk得到Java源代码 转载自:http://hi.baidu.com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html 工具下载:需用到dex2jar和JD-GUI这2个工具 dex2jar下载...

    超牛android apk 反编译软件

    超牛android apk 反编译软件,能反编译apk生成程序的源代码和图片、XML配置、语言资源等文件

    Android APK反编译详解

    Android APK反编译详解 具体步骤: 首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。 在命令行...

    Android 最新反编译工具(2013-06)

    二、apk反编译生成程序的源代码和图片、XML配置、语言资源等文件 如果是汉化软件,这将特别有用 首先还是要下载此反编译工具包,其中包含最新的apktool 1.5 具体步骤: 下载反编译工具包,打开apk2java目录下的...

    APK+Dex文件反编译及回编译工具(APKDB)v1.8.1正式版 支持繁体

     · 对*.Dex 文件 反编译 及 回编译 或查看详细源代码  · 对*.Apk 文件 批量反编译 及 回编译  · 对*.Apk、*.Zip 文件执行签名  · Windows下直接显示APK文件自身图标 声明:1.本工具必须先安装JAVA7;  2....

    mac Android反编译

    Android mac下反编译 apktool 反编译得到的是布局和资源文件。 dex2jar 反编译得到的代码字节码,利用jd gui就可以查看到源代码。 1.apktool安装 1)下载apktool,及mac下apk-install-macosx 2)解压这两个文件...

    windows环境下反编译apk源代码工具

    把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex拷贝到dex2jar.bat所在目录。 ...

    jadx-0.61.tar.gz 最常用的反编译工具分享

    一款Android反编译工具,软件可以从Android Dex和Apk文件生成Java源代码,能够反编译安卓apk文件,而且软件操作起来非常的简单,你只需要将需要反编译的apk文件拖到工具界面中即可反编译,有需要的快来下载吧,希望...

    Android Apk 反编译apktool

    1.用apktool反编译,apk文件获得完整的资源文件 2.将abc.apk改为abc.rar解压后拿到classes.dex 2.我上传的dex2jar.bat XXX执行生成jar文件 用1,3步骤得到的源代码和资源文件组成完整的apk

Global site tag (gtag.js) - Google Analytics