在我们日常Android应用开发中,我们都要对我们开发的apk做签名处理,或者加固,增强我们apk的安全性,防止被逆向反编译,在apk签名这块,我们一般采用JDK自动工具来签名,下面就对相关工具做个简要说明和小结. 首先.我们需要先在电脑上安装JDK和环境变量配置: JDK下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,在一系列的安装后,确保可以使用keytool 和 jarsigne…
一个android apk的编译过程 请参考: http://www.2cto.com/kf/201312/261475.html 典型的编译过程: aapt( Android Asset Packaging Tool): 把你的应用程序资源文件(例如: AndroidManifest.xml file and the XML files for your Activities),编译成R.java .它可以让你从java代码中引用你的资源. aidl :转换.aidl 接口成为java接口 j…
生成证书 keytool -genkey -alias aeo_android.keystore -keyalg RSA -validity -keystore aeo_android.keystore 签名 jarsigner.exe -verbose -keystore aeo_android.keystore -signedjar soccer-release.apk soccer-release-unsigned.apk aeo_android.keystore 验证签名 jarsign…
一.生成密钥库将位置定位在jdk的bin文件中,输入以下命名行:keytool -genkey -alias ChangeBackgroundWidget.keystore -keyalg RSA -validity 20000 -keystore ChangeBackgroundWidget.keystore(中间不换行),按下“Enter”键,并根据提示填写相关信息,详细信息如下及图1(validity为有效期,这里有效期为20000天):输入keystore密码:再次输入新密码:您的名字与…
签名(sign):在应用程序的特定字段写入特定的标记信息,表示该软件已经通过了签署者的审核.过程:使用私有密钥数字地签署一个给定的应用程序 作用: 识别应用程序作者 检測应用程序是否发生改变 有种程序升级.当新程序与旧程序签名不一致时,会发生冲突觉得不是同一APP,,要求新程序改包名 . .. keytool 生成签名私钥命令 keytool -genkey -v -keyalg DSA -keysize 1024 -sigalg SHA1withDSA  -validity 10000  -k…
pssh提供OpenSSH和相关工具的并行版本.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括psshlib,可以在自定义应用程序中使用.pssh是python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等等.杀手锏是文件并行复制,,当进行再远程主机批量上传下载的时候,最好使用它.pssh用于批量ssh操作大批量机器:pssh是一个可以在多…
根据以往运维工作中操作经验来说,当管理上百台上千台服务器时,选择一款批量操作工具是及其有必要的.早期习惯于在ssh信任关系的前提下做for;do;done循环语句的批量操作,后来逐渐趋于使用批量工具操作:1)pssh工具,它需要提前做好key关联的ssh信任关系,比起for循环语句,我之前还是比较喜欢用pssh.    具体用法见于:http://www.cnblogs.com/kevingrace/p/6378719.html2)expect 最大的有点就是交互,但是要成高性能的话,需要自己写…
在mysql运维工作中,一般会使用tcpdump做一些分析(直接读分析日志比较难以看明白,在数据库连接值高时使用):对于mysql实时的连接监控分析,通常会使用"mysqladmin/show full processlist"查看,也可直接查询processlist表.但对于长时间监控连接数据库的应用IP.操作记录而言,MySQL Sniffer的出现,让人眼前一亮!有时候我们需要统计线上的SQL执行情况,比如想知道哪条SQL执行最频繁,我们可以开启general_log,然后进行统…
redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单.便捷.实用的操作工具.redis-trib.rb是redis作者用ruby完成的.所以要执行redis-trib.rb命令,需要Ruby,具体可参考:http://www.cnblogs.com/kevingrace/p/7846324.html [root@redis-node01 ~]# /data/redis-4.0.6/src/redis…
文章目录 Sublime Package & Usage MarkdownEditing MarkdownPreview Usage Key Bindings Setting (语法高亮和mathjax支持) OmniMarkupPreviewer GitHub Markdown Snippets Markdown TOC Usage Configuration Markdown Numbered Headers Usage Configuration Table Editor Activate…
signapk.jar与eclipse export插件默认赋予程序一个DEBUG权限的签名 signapk.jar包含有系统权限(system api, permission),而eclipse export插件默认赋予程序一个DEBUG权限的签名. D:\work_feixun\GalleryBack>java -jar signapk.jar platform.x509.pem platform.pk8 D:\work_feixun\Gallery2\bin\Gallery.apk Gal…
参考链接:http://happyqing.iteye.com/blog/2139504 :https://blog.csdn.net/arjelarxfc/article/details/52461828 :https://blog.csdn.net/yangxt/article/details/1796965 在看书的时候涉及到了Java的安全加密技术,然后发现生成私钥公钥证书用的是keytool这个jdk自带插件 keytool的主要用法: keytool的几个常用的命令. 1.创建证书…
Android安全开发之通用签名风险 作者:伊樵.舟海.呆狐@阿里聚安全 1 通用签名风险简介 1.1 Android应用签名机制 阿里聚安全漏洞扫描器有一项检测服务是检测APP的通用签名风险.Android系统要求安装的应用必须用数字证书进行签名后才能安装,并且签名证书的私钥由应用开发者保存.签名证书的生成也由开发者自己生成.在应用安装时会校验包名(package name)和签名,如果系统中已经存在了一个相同的包名和签名的应用,将会用新安装的应用替换旧的:如果包名相同但是签名不同,则会安装失…
android-包签名 应用能在Android 系统上安装必须是经过有私有key的证书数据签名.Android系统通过证书确定应用的作者,和与应用建立信任关系.证书不会用于控制应用的安装.证书不需要权威机构签名:它是非常完美和标准. 关于签名的一些重要点: 所有的应用必须签名(android 有默认签名). 测试和调试应用,构建工具用指定的调试密钥(android sdk 构建工具创建的)签名你的应用. 在发布给终端用户之前要用合适的密钥签名应用,不能用调试密钥签名将要发布的应用. 可以用自己签…
applet签名 1.生成密匙库 keytool -genkey -keystore mytest.store -alias mytest -validity 365 -keystore 密匙库 -alias 别名 -validity 有效期默认半年,单位为天 2.导出签名时用到的证书 keytool -export -keystore mytest.store -alias mytest -file mytest.cer 生成一个文件名为mytest.cer证书 3.使用jarsigner工具…
原文链接:http://blog.votzone.com/2018/05/05/android_signature.html   Android 的签名有两种方式,一种使用jdk 提供的jarsigner工具签名keystore 文件,另一种是Android 自己提供的signapk.jar 通过.pk8(密钥) 和.x509.pem(证书)两个签名文件完成签名.   之前对一个包签名都是直接使用signapk来的,因为不需要输入密码即可直接签名,简单直接,今天上传百度时遇到问题了,下载下来签名…
一.压缩你的class类文件为jar包 1.如果你的须要压缩的类文件存在的包为:cn.mbq.test1和cn.mbq.test2 2.进入你的classes文件夹,在DOS窗体中运行命令:jar cf mytest.jar cn.mbq.test1 cn.mbq.test2 3.运行命令后你会在当前文件夹中找到mytest.jar文件,这个就是刚才生成的档案文件.你能够改动它的后缀为rar,然后使用winrar压缩程序打开它查看看是否正确. jar -cvf MyApplet.jar clas…
经签名的Jar包内包含了以下内容: 原Jar包内的class文件和资源文件 签名文件 META-INF/*.SF:这是一个文本文件,包含原Jar包内的class文件和资源文件的Hash 签名block文件 META-INF/*.DSA:这是一个数据文件,包含签名者的 certificate 和数字签名.其中 certificate 包含了签名者的有关信息和 public key:数字签名是对 *.SF 文件内的 Hash 值使用 private key 加密得来使用 keytool 和 jars…
转:http://www.iteye.com/topic/154531 最近在研究applet,打算使用applet来开发一个上传文件上传控件,之前因为一直觉得applet的沙箱控制导致applet不能主动的访问客户端的资源,所以也曾因此而放弃.不过最近在研究applet的签名后,有了点收获,可以通过签名jar文档来达到这样的控制策略,下面是我在实际实验过程中的一些心得和体会,跟大家一起分享下.(注:如果转载此文,请注明出处和作者,尊重作者的劳动成果,谢谢) 一.压缩你的class类文件为jar…
JavaGUI应用程序部署 JavaGUI程序发布分类: a.Applet:可以嵌入到浏览器中,通过网页的方式展示给用户 b.application :有两种发布方式 :打包成jar包通过bat的方式运行,或者通过第三方软件打成exe: 通过Java Web Start的方式发布到服务器端,通过JNLP运行 用applet或者jws的方式发布,大部分都需要数字签名,签名不是必须的,如果程序只是单纯的绘图,显示,只要不访问网络资源也不访问本地文件,是不用签名的,但是如果要访问本地或网上资源就必须签…
1 背景 建议阅读本文之前先阅读<Android Studio入门到精通>和<Groovy脚本基础全攻略>及<Gradle脚本基础全攻略>三篇博客作为背景知识,这样才能更好.更系统的串起来.本文的核心就是下图: 关于Gradle的Android插件本文不会过多的说明,只给一个抛砖引玉的提示,详细使用参见文档API及Gradle配置,其实个性化的构建配置一般都是Gradle与Groovy的编写,与Android插件没太多关系,所以重点还在Groovy与Gradle构建.…
最近看了老罗分析android资源管理和apk打包流程的博客,参考其他一些资料,做了一下整理,脱离繁琐的打包细节和数据结构,从整体上概述了apk打包的整个流程.   流程概述: 1.打包资源文件,生成R.java文件 2.处理aidl文件,生成相应java 文件 3.编译工程源代码,生成相应class 文件 4.转换所有class文件,生成classes.dex文件 5.打包生成apk 6.对apk文件进行签名 7.对签名后的apk文件进行对其处理   打包过程使用的工具 名称 功能介绍 在操作…
流程概述:1.打包资源文件,生成R.java文件2.处理aidl文件,生成相应java 文件3.编译工程源代码,生成相应class 文件4.转换所有class文件,生成classes.dex文件5.打包生成apk6.对apk文件进行签名7.对签名后的apk文件进行对其处理 打包过程使用的工具名称    功能介绍    在操作系统中的路径    源码路径aapt(Android Asset Package Tool)    Android资源打包工具    ${ANDROID_SDK_HOME}…
所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定.减少内存(DATA)空间占用.恢复出厂设置后不会消失.修改系统时间.调用隐藏方法.系统关机重启.静默安装升级卸载应用等等等等优点,想知道怎么操作?接下来我们介绍三种方法. 第一种:使用ADB命令将app安装在system/app目录下 参考:android 将自己的应用改为系统应用 这种方法的原理就是: 1.把apk文件移动到system/app目录,2..so文件移动到system/lib目录.3.修改相应的权限…
一.工具介绍 jarsigner是JDK提供的针对jar包签名的通用工具, 位于JDK/bin/jarsigner.exe apksigner是Google官方提供的针对Android apk签名及验证的专用工具, 位于Android SDK/build-tools/SDK版本/apksigner.bat 不管是apk包,还是jar包,本质都是zip格式的压缩包,所以它们的签名过程都差不多(仅限V1签名), 以上两个工具都可以对Android apk包进行签名. 1.V1和V2签名的区别 在An…
由于之前在魅族市场的APK包都不是自己上传的,而是魅族从其他安卓市场帮拉去过来了. 所以需要我们自己去认领APK包. 这个时候就需要按照魅族给的未签名测试包给重新签名然后提交审核了. 1:看完以下说明 jarsigner简单使用说明 jarsigner -verbose -keystore ~/Workspace/mykeystore -signedjar ./meizuemptyapk-release-signed.apk ./meizuemptyapk-release-unsigned.ap…
几个概念 keystore是一个密码保护的文件,用来存储密钥和证书(也就是说,keystore中存储的有两类型entries):这个文件(默认的)位于你的home目录,也就是你登录到操作系统的用户名的那个目录.或者通过-keystore参数设为你指定的位置.需要说明的是:如果不通过-keystore来指定位置,将使用home目录中的默认keystore文件.smilingleo原创 通过-alias来检索keystore中的具体内容(keystore中可能存有多个entry) 如果想查看keys…
1. 用SSL进行双向身份验证意思就是在客户机连接服务器时,链接双方都要对彼此的数字证书进行验证,保证这是经过授权的才能够连接(我们链接一般的SSL时采用的是单向验证,客户机只验证服务器的证书,服务器不验证客户机的证书.而连接网上银行时使用的U盾就是用来存储进行双向验证所需要的客户端证书的). JDK里面内置了一个数字证书生产工具:keytool.但是这个工具只能生成自签名的数字证书.所谓自签名就是指证书只能保证自己是完整的,没有经过非法修改的.但是无法保证这个证书是属于谁的(一句话:keyto…
Java工具创建密钥库 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新!助力快速完成密钥库创建给新手节省宝贵的时间,避免采坑 1 Install Java -- 安装 Java 2 Find bin -- 命令行找到bin,运行文件的目录 3 Keytool -- 密钥工具创建密钥 4 Keytool Process -- 密钥工具的创建流程 5 Finish -- 密…
转自:http://blog.csdn.net/yangkai6121/article/details/38682321 为什么需要给Android系统签个名才能进行CTS认证呢?原来我们通过make -j4编译出来的system.img使用的是test key,这种类型的key只适用于开发阶段,而且这种秘钥是公开的,谁都可以使用.当发布一款android产品,就需要另外给整个系统签个名,防止被别 人盗用.这种系统就是release版本的Android系统. 一. 首先介绍关于签名的作用 1.…