前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

apk反编译和重新打包 - - ITeye技术网站 首页 资讯 精华 论坛 问答 博客 专栏 群组 更多 ▼ 招聘 搜索 您还未登录 ! 登录 注册 ye-good-job 博客 微博 相册 收藏 留言 关于我 andy_叶 apk反编译和重新打包 博客分类: android 相信每位玩机的人对APK文件都不陌生。你可能每天都与APK文件打交道,无论是安装和卸载有用的应用工具、插件、好玩的游戏等等。。。你可曾知道这些每天都伴随着你的APK文件是什么吗?怎样对它们作些修改呢?比如说:对英文版进行汉化、修改功能、修改文字描述、去掉广告等等。本文介绍APK的基本知识、结构、APK文件的解包、打包及签名,以及对APK文件的常规修改。 ? 1.APK文件简介APK是Android Package的缩写,即即Android application package文件或Android安装包。每个要安装到Android平台的应用都要被编译打包为一个单独的文件,后缀名为.apk。APK文件是用专业软件eclipse编译生成的文件包,其中包含了应用的二进制代码、资源、配置文件等。通过将APK文件直接传到Android手机中执行即可安装。APK文件其实就是zip格式,但其扩展名被改为apk,用解压软件可以直接打开。通过WinRAR或UnZip解压后,你会看到有几个文件和文件夹。一个典型的APK文件通常有下列内容组成:AndroidManifest.xml 程序全局配置文件classes.dex? ? Dalvik字节码resources.arsc? ? 编译后的二进制资源文件META-INF\ 该目录下存放的是签名信息res\??该目录存放资源文件assets\ 该目录可以存放一些配置文件下面对这些文件和目录做些基本的注释和介绍。? AndroidManifest.xml该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等等信息。需要解包后才能加以阅读。? classes.dex文件 classes.dex是java源码编译后生成的java字节码文件。dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。? resources.arsc 编译后的二进制资源文件。? META-INF目录 META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。? res目录 res目录存放资源文件。包括图片,字符串等等。解包后,几乎所有可能的修改和编辑工作基本都在这里。? assets目录assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。 2.APK文件的反编译和打包 首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip JD-GUI:http://laichao.googlecode.com/files/jdgui.zip ? 工具:apktool ? 签名工具:Auto-sign.rar ? ? ? 1.?进入到apktool?把要修改的apk通过如下 ? ? 把apk反编译出来结果如下 ? ? 1.?修改要修改的地方?修改后结果还是 ? 再通过如下的操作进行修改后的apk进行打包为apk 进行上面操作后由原来的 ? 变为 ? 打包好的apk在D:\FBY\VideoPlayer\dist的目录下 ? ? 1.?解压签名工具:Auto-sign.rar把打包好的apk复制到?Auto-sign目录下如 ? 1.?修改?VideoPlayer.apk为?Update.zip ? ? 1.?执行Sign.bat?进行签名如下 ? ? 1.?结果生成了一个update_signed.zip的文件 ? 把update_signed.zip修改为XXXXX.apk 完成了! 分享到: Android SDK下载和更新失败解决方法 | PackageManager 2013-04-18 18:11 浏览 1946 评论(0) 分类:移动开发 相关推荐 评论 发表评论 您还没有登录,请您登录后再发表评论 andy_叶 浏览: 6801 次 性别: 来自: 深圳 最近访客 更多访客>> stonewyl dylinshi126 e241138 sugar8282 文章分类 全部博客 (19) android (10) 技术 (2) 工作心得 (0) 社区版块 我的资讯 (0) 我的论坛 (2) 我的问答 (0) 存档分类 2013-09 (1) 2013-08 (1) 2013-04 (2) 更多存档... 评论排行榜 android源码中混淆编译 最新评论 andy_叶: hold_on 写道有 android proguard 语法 ... android源码中混淆编译 hold_on: 有 android proguard 语法文档吗?google ... android源码中混淆编译 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者。 © 2003-2012 ITeye.com. All rights reserved. [ 京ICP证110151号 京公网安备110105010620 ]