引言

从Android演进开始,APK签名就已经成为Android的一部分,并且android要求所有Apks都必须先签名,然后才能将其安装在设备上。关于如何生成密钥以及如何签名的文章很多。一个Apk,但我们将从安全角度进行研究。在对Apk文件进行反编译或反向工程之后,应查看哪个文件,以获取有关最初对应用进行签名的开发人员的更多信息。

反编译APK文件

解压缩文件或使用apktool后,取决于如何对文件进行反编译,如果解压缩文件,则文件结构将如下所示。

我们正在查看META-INF文件夹,

正在查看使用Apktool进行的反编译Apk,它在原始文件夹中包括有关开发人员的证书详细信息以及所使用的哈希算法的类型等,并检查META-INF文件夹。

当您当前仍位于META-INF文件夹中时,使用keytool检查证书。

keytool -printcert -file DROIDRDR.RSA 

根据证书别名的名称,从证书颁发之日和证书设置为过期起,您将看到所有者,国家/地区,颁发者,证书有效性的不同信息。

MD5,SHA1和SHA256中的证书指纹以及所使用的签名算法。

之前,我谈论了生成证书,让我们从安全角度来看它,在分析您从第三方网站下载的Android应用程序时,您可以反编译该应用程序并查看该证书并将其与原始应用程序进行比较,在使用的哈希算法上,如果应用程序可能已被修改或篡改,则将其进行比较,我不会在谈论分析APK文件,但可能会稍后。

生成Android证书

如果您反编译并重新编译android应用程序,则需要对应用程序进行签名,如果不签名,则该应用程序将不会安装在用户设备上。有多种生成证书的方法,但是,我们将介绍使用keytool生成证书的三种方法。

方法1:

打开您的终端:

keytool -genkey -v -keystore awwal -alias hafsa -keyalg RSA -keysize 2048 -validity 365

其中 awwal —是密钥库名称,hafsa是证书别名,使用后将被添加到META-INF文件夹-keysize 2048中,但是您可以使用4096大小,但是设备存在与此有关的问题或者。但仅使用2048,有效期为几天。

方法2:

使用可在此处下载的apk-signer.jar。这是用Java编写的GUI,可生成证书并进行签名一个APK文件。尽管Playstore中也有一个Android应用程序。

签署Android应用程序

在您已经生成了Android应用程序之后,我们将研究如何对应用程序进行签名,运行您的终端:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore awwal medium.apk hafsa

其中-sigalg是使用的签名算法,您可以使用MD5找到一些应用程序,但是在验证应用程序时使用SHA1,因为它将告诉您使用的哈希算法以及使用的算法的弱度。

密钥库— awwal是生成证书时使用的密钥库名称的名称,hafsa是证书的别名,而medium.apk是要签名的应用程序的名称。

注意:如果您使用MD5,则该应用程序将被视为未签名应用程序,因为用于签署应用程序的算法很弱。

验证Android应用程序

使用jarsigner验证应用程序,以查看资源签名列表以及具有keysize的哈希算法。

打开您的终端:

jarsigner -verify -verbose medium.apk

其中仅验证将显示它是签名还是未签名,并使用详细选项查看证书的完整详细信息。

或者,您可以使用Apk签名者来自动完成文件名验证应用。

写在最后

虽然上面我们使用的都是 java 工具链的东西,其实生成的 CERT.RSA 文件内,包含了公钥链,也完全可以使用 openssl 工具打印出 pubkey 证书文件,并可做进一步的指纹校验。

关键是生成签名的方法,这个对于使用不同的工具复现过程很关键。

Happy coding :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

android 录音原始文件_5分钟短文 | Android证书生成,签名,验证,虽然难,但学一次就够了!...相关推荐

  1. android 录音原始文件_Android 录音详解(一)—— MediaRecorder、AudioRecord、生成wav格式、边录边播...

    Android 录音详解(一)-- MediaRecorder.AudioRecord.生成wav格式.边录边播 越来越多的 APP 都用到了手机的录音功能,比如搜索.聊天.输入.K歌等... 本系列 ...

  2. android录音权限不弹框,android 6.0以下,拒绝录音权限后处理

    搜了很久,都是牛头不对马嘴的复制黏贴. 大概感觉就是android 6.0以下要获取权限是否被拒绝了很难.. 最后找到个这个方法,凑活着用. 通过判断录音的分贝来判断是否开启了录音权限 MediaRe ...

  3. android录音程序,使用MediaRecorder编写Android 录音程序

    类型:音频处理大小:2.0M语言:中文 评分:3.3 标签: 立即下载 今天工作上需要做一个一边录音一边播放的功能,大致原因是有一个外部设备输入音频到我们机器,然后我们机器需要马上把音频播放出来.所以 ...

  4. TLS/HTTPS 证书生成与验证

    https://www.cnblogs.com/kyrios/p/tls-and-certificates.html 最近在研究基于ssl的传输加密,涉及到了key和证书相关的话题,走了不少弯路,现在 ...

  5. APNS推送证书生成与验证

    要进行推送服务的第一件事就是获取推送证书.它用来对你通过SSL与APNS通讯进行识别. 一.在Mac上生成 Apple推送通知SSL证书: 1.1.登录到 iPhone Developer Conne ...

  6. GmSSL证书生成及验证C/S通信双向认证

    1.https://github.com/guanzhi/GmSSL下载源码,解压后到源码目录下执行以下命令:   ./config   make   make install   //必须安装,否则 ...

  7. android 录音原始文件_音频采集:Android基于AudioRecord的实现

    前言 这篇文章简单介绍下移动端Android系统下利用AudioRecord进行音频采集方法. 按照惯例开始前先提供一份源码 AudioRecordLib . AudioRecord采集的核心实现在于 ...

  8. android 录音原始文件_Android 11可能最终会取消Android对视频录制的4GB文件大小限制...

    2019年,智能手机品牌在相机质量上有了巨大的飞跃,尤其是在变焦和微光方面.另一方面,视频质量并没有得到同等的重视.2020年,随着高通骁龙(Qualcomm Snapdragon) 865网络服务提 ...

  9. Android录音并播放(mp3或amr格式)

    Android项目中媒体是很多人头疼的一个问题,不仅仅因为处理起来很麻烦,而且不同的手机差别很大(和硬件,系统都有关系),今天就总结一下Android中的录音和播放,可保存成mp3或amr格式. 小米 ...

最新文章

  1. [转]七大.NET开源框架
  2. leetcode 528. Random Pick with Weight
  3. Windows 命令窗口(cmd)命令不能用解决办法
  4. 从零开始入门 K8s | 应用编排与管理
  5. 【学习笔记】13、标准数据类型—元组
  6. 课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 1、两层神经网络的单样本向量化表示与多样本向量化表示...
  7. Django-Json 数据返回
  8. epp是什么意思_有效的个人生产力(EPP)——助力洁绿形成组织发展合力
  9. python-turtle库的基本操作
  10. 360手机浏览器_UC、QQ、华为、360、搜狗、小米、vivo、OPPO等8款手机浏览器被纳入首批传播秩序专项整治...
  11. linux切分文件指定行_vim技巧:在不同文件buffer间切换,在多窗口跳转和改变窗口大小...
  12. Delete `␍`eslintprettier/prettier
  13. BRVAH官方使用指南
  14. Pigx官方文档地址
  15. 中国联通沃商店校园大使招募书
  16. mysql 关闭远程_禁止MySQL root远程访问
  17. scrapy框架常用从头到尾巴
  18. vue加elementui开发的分页显示
  19. tplink怎么进去_如何进入tp-link路由器设置页面
  20. 灯一会闪一下怎么回事_房间的灯,关掉以后还会偶尔闪烁一下!

热门文章

  1. Spark- Linux下安装Spark
  2. zabbix自动发现监控磁盘(iops和读写量)
  3. Tomcat 的 DefaultServlet
  4. read name 和 read 在 Bash 中的区别
  5. linux开机和登陆欢迎信息
  6. asp.net 强制性单一登陆现实
  7. ADSL提速 从入门到精通
  8. HALCON示例程序measure_metal_part_extended.hdev金属零件尺寸测量
  9. ABB 机器人 IRBP系列转台的一段代码注释
  10. 学习笔记(51):Python实战编程-ListBox