.Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译

原文:.Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译

apk(android package)就是我们安卓系统的安装文件,可以在模拟器和手机中直接打开安装,从项目中打包apk有几种方式可取

一、最简单的方法(类似我们的winfrom)

只要我们调试或者运行过项目,在项目下的bin debug下就有同名apk文件了(Eclipse)下是这样的。在Android下变成了\app\build\apk下了

当然我们不能把这个apk放在商店。没有签名会被人家的apk替换

二、签名发布

1.签名的意义

  为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序

我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。

2.签名的步骤

  a.创建key

  b.使用步骤a中产生的key对apk签名

我们直接来看Android Studio怎么打包一个签名的APK,可能和Eclipse有点区别

(1)Android Studio菜单Build->Generate Signed APK 

(2)新建一个key

  •      Key store path:密钥库文件的地址 
  •      Password/Confirm:密钥库的密码 
  •      Key: 
  •      Alias:密钥名称 
  •      Password/Confirm:密钥密码 
  •             Validity(years):密钥有效时间 
  •             First and Last Name:密钥颁发者姓名 
  •             Organizational Unit:密钥颁发组织 
  •             City or Locality:城市 
  •             Country Code(XX):国家 

(3)next下一步

(4)选择打包的路径OK

三、反编译(整理于网络)

生成的APK是直接直接解压的

就是少了源码部分。源码部分被归类到classes.dex里面去了,R类变成了resources.arsc了

下面来看看怎么反编译出这2个文件

首先要下载两个工具: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

具体步骤:

首先将apk解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;

解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录

运行

dex2jar.bat classes.dex

生成

classes.dex.dex2jar.jar

生成jar文件的截图如下:

运行JD-GUI(jd-gui.exe),打开上面生成的jar包,即可看到源代码了

时间: 2024-09-30 09:48:03

.Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译的相关文章

.Net 转战 Android 4.4 日常笔记(5)--新软件Android Studio 0.5.8安装与配置及问题解决

原文:.Net 转战 Android 4.4 日常笔记(5)--新软件Android Studio 0.5.8安装与配置及问题解决 说真心话,Eclipse跟我们.net的VS比起来就是屌丝比高富帅,一切都是那么的难用,速度慢得我无法忍受 于是想试试Google钦点的Android Studio IDE工具,这跟ADT一样也是一套集成工具,也需要安装java JDK 1.下载最新的JDKhttp://developers.sun.com/downloads/ 我是下载JDK1.7版本,安装过程可

.Net 转战 Android 4.4 日常笔记(6)--Android Studio DDMS用法

原文:.Net 转战 Android 4.4 日常笔记(6)--Android Studio DDMS用法 Android Studio DDMS与Eclipse DDMS大同小异,下面了解DDMS的使用 DDMS(Dalvik Debug Monitor Service )Dalvik调试监控服务 DDMS的作用 后台日志监控 系统线程监控 虚拟机状态.堆信息监控 模拟器文件监控 模拟拨打电话 模拟发送短信 模拟发送GPS位置信息 打开我们的DDMS  打开我们的helloworld程序,为按

.Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建

原文:.Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建 闲来没事做,还是想再学习一门新的技术,无论何时Android开发比Web的开发工资应该高40%,我也建议大家面对移动开发,我比较喜欢学习最新版本的,我有java的基础,但是年久,已经淡忘,以零基础学习,希望没有很多的语言闲话,爽快进入Android开发,只留下一个日常学习笔记,并不发布主页,相信这块在cnblog也是没人看的,如果你有兴趣,我们将共同学习,现在进入学习... 一.工欲善其事 必先利其器 先安装JDK7

.Net 转战 Android 4.4 日常笔记目录

原文:.Net 转战 Android 4.4 日常笔记目录 .Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建 .Net 转战 Android 4.4 日常笔记(2)--HelloWorld入门程序 .Net 转战 Android 4.4 日常笔记(3)--目录结构分析 .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化 .Net 转战 Android 4.4 日常笔记(5)--新软件Android Studio 0.5.8安装与配置及问题解决 .N

.Net 转战 Android 4.4 日常笔记(9)--常用组件的使用方法[附源码]

原文:.Net 转战 Android 4.4 日常笔记(9)--常用组件的使用方法[附源码] 经过两天的学习,把常用的组件都学习了一遍,并做成了App 学习可能真没有捷径,跟学习html有点类似,都是一个控件一个控件学习并使用,最后拼凑成一个系统 链接:http://pan.baidu.com/s/1hqefzEW 密码:zbel  最低API 2.3 目标API 4.4 采用Android Studio 0.58IDE 希望给和我同样的初学者带来一些便利,和开发时候可以查询,第一个版本可能比较

.Net 转战 Android 4.4 日常笔记(8)--常见事件响应及实现方式

原文:.Net 转战 Android 4.4 日常笔记(8)--常见事件响应及实现方式 在Andrioid开发中,常见的事件如下 单击事件 OnClickListener 长按事件 OnLongClickListener 滑动事件 OnTouchListenner 键盘事件 OnKeyListenner 焦点事件 setOnFoucsChangeListener 设置方式 1.动态设置(最常用的方式) Button btn = (Button) findViewById(R.id.btnTest

.Net 转战 Android 4.4 日常笔记(3)--目录结构分析

原文:.Net 转战 Android 4.4 日常笔记(3)--目录结构分析 看了创建项目后,出现的文件夹很多确实有点晕,不过经过简单的了解还是跟我们asp.net的目录有点相识滴. 下面这张图,概括了主要的文件用途.其实也只需要了解这几个就差不多了,知道在那里设计界面,那里写代码就差不多了 我们在学习asp.net也没有刻意去了解bin下的dll吧 全局配置文件,视图,控制层都还是比较容易理解,同样有样式,图片,资源文件等等,但是Android把这些资源文件注册到R.java里面,所以我们要通

.Net 转战 Android 4.4 日常笔记(2)--HelloWorld入门程序

原文:.Net 转战 Android 4.4 日常笔记(2)--HelloWorld入门程序 我不知道人们为什么那么喜欢用HelloWorld来做为自己的第一个程序入门,为什么不是hello **其他的东西或者hi. 一.打开ADT 的Eclipse开发工具新建一个Android项目 New----> Android Application Project Minimum Required SDK这个是运行hello world的最低android版本 Target SDK是现在的目标版本 Co

Android逆向分析(反编译)工具ded的使用

今天使用了ded做逆向分析,瞬间比Apktool高大上了,功能太强大了,不过还有升级版,明天研究.吼吼~ 详细内容可以参考这篇论文:A Study of Android Application Security 还有http://siis.cse.psu.edu/ded/index.html 1.安装ded 下载链接:http://siis.cse.psu.edu/ded/downloads/linux/ded-0.7.1 首先下载ded用来重定向 dex .apk.或者是class文件 为了使