Android学习:签名与反编译
来源:互联网 发布:大数据主要做什么 编辑:程序博客网 时间:2024/06/05 14:39
1:为什么要apk签名
AndroidManifest.xml下面
package="com.example.helloworld"
定义一个apk程序。
如果另外一个程序用相同的包名安装,就会覆盖之前的应用。
需要进行apk签名:
为了保证每个应用程序开发商合法Id,防止部分开发商可能
通过使用相同的Package Name来混淆替换已经安装的程序,
我们需要对我们发布的APK文件进行唯一的签名,保证我们
2:如何签名
工程-Android Tools-export signed Application Package
签名步骤:(1)创建key(2)使用生成的key对apk签名。
META-INF
res
classes.dex (src下的java类,R类等)
resources.arsc(资源文件)
cmd进入dex2jar的dex2jar.bat所在目录
将classes.dex拖拽到该目录
执行 dex2jar.bat classes.dex
执行完成,就会在该目录下生成一个classes_dex2jar.jar文件
2:使用jd-gui工具
直接将jar文件拖拽到jd-gui工具中,就可以实现android文件的反编译。
AndroidManifest.xml下面
package="com.example.helloworld"
定义一个apk程序。
如果另外一个程序用相同的包名安装,就会覆盖之前的应用。
需要进行apk签名:
为了保证每个应用程序开发商合法Id,防止部分开发商可能
通过使用相同的Package Name来混淆替换已经安装的程序,
我们需要对我们发布的APK文件进行唯一的签名,保证我们
每次发布的版本的一致性。
所以,apk版本升级时,每次都用公用的签名文件打包。
Android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序。
初学者,可能就疑惑了。我写的HelloWorld怎么可以在android设备中安装呢?
其实平时用eclipse开发得到的android应用程序,其实已经添加有默认的debug签名了。
Android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序,不管是模拟器还是真实手机。因此,在设备或者是模拟器上运行调试程序之前,必须为应用程序设置数字签名。Android系统仅仅会在安装的时候测试签名证书的有效期,如果应用程序的签名是在安装之后才到期,那么应用程序仍然可以正常启用。
Android通过数字签名来 标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定用户可不可以安装该应用程序。android的这个签名由应用程序的作者完成,并不需要权 威的数字证书签名机构认证,他只是用来让应用程序包自我认证的。Android系统默认自动给应用程序签名,ADT会自动使用debug密钥为应用程序签 名,debug密钥是一个名为debug.keystore的文件,位置位于电脑的:
/Documents and Settings/liuhua/.Android/debug.keystore,其中的liuhua是电脑的用户名。
2:如何签名
工程-Android Tools-export signed Application Package
签名步骤:(1)创建key(2)使用生成的key对apk签名。
3:apk的反编译
META-INF
res
classes.dex (src下的java类,R类等)
resources.arsc(资源文件)
4:如何反编译:
1:使用dex2jarcmd进入dex2jar的dex2jar.bat所在目录
将classes.dex拖拽到该目录
执行 dex2jar.bat classes.dex
执行完成,就会在该目录下生成一个classes_dex2jar.jar文件
2:使用jd-gui工具
直接将jar文件拖拽到jd-gui工具中,就可以实现android文件的反编译。
0 0
- Android学习:签名与反编译
- Android签名和反编译的学习
- Android应用签名与防止反编译(一)
- android反编译和签名
- ANDROID 反编译打包签名
- Android 签名 混淆 反编译
- Android APK破解、反编译、打包签名基本思路与方法
- Android apk包反编译与重打包签名
- android apk反编译打包签名
- android apk反编译打包签名
- Android反编译和打包签名
- android apk反编译打包签名
- android反编译&回编译&签名
- android反编译与混淆网址保存学习
- 【学习】Android代码混淆与反编译
- android反编译与防止反编译
- Android反编译与防止反编译
- Android反编译与防止反编译
- javascript 相关书籍 网站
- android更改api版本
- 人人网2015研发笔试卷D
- 给ActionBar中的按钮添加旋转动画(刷新动画)
- (hdu step 3.2.7)免费馅饼(数塔变形:求所能接到馅饼的最大数)
- Android学习:签名与反编译
- Sql Server常用的全局变量
- 如何保护及破解自己的centos root密码
- stm8s中断
- Highcharts一些属性
- java struts+spring,自动装配action中的变量
- html5 canvas精美花纹背景图像插件
- V$LOGMNR_CONTENTS 的字段解释
- Memcached学习