苹果签名

iphoneqm
首页 > 苹果签名 > 正文内容

[iOS逆向]2、HASH&AED、DES&双向验证

admin2年前 (2024-12-10)苹果签名575

  把任意长度的输入通过散列算法变成固定长度的输出,该输出就是散列值

[iOS逆向]2、HASH&AED、DES&双向验证

  1.1、相关命令

  1、32个字符的MD5散列字符串

  2、40个字符的SHA1散列字符串

  3、64个字符的SHA256散列字符串

  4、128个字符的SHA 512散列字符串

  5、32个字符的HMAC MD5散列字符串

  6、40个字符的HMAC SHA1散列字符串

  7、64个字符的HMAC SHA256散列字符串

  8、128个字符的HMAC SHA512散列字符串

  9、32个字符的MD5散列字符串

  散列运算消息认证码;运算使用散列算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出

  如下:

  1、用户登录,使用md5(pwd+salt)加密获得一个字符串,也叫pwd_md5。

  2、客户端有了pwd_md5,如果每次都以这个字符串上传,黑客就不需要你的pwd,直接截取到这个字符串,然后就能模拟你的登录。

  3、客户端需要在pwd_md5的基础上,在加入一个随机的字符串的md5,这个随机字符串得是服务器返回 , 有效时间为2分钟 。校验规则md5(pwd_md5+随机串) , 然后md5(pwd_md5+随机串)+账号 上传给服务器。

  4、服务器拿到了客户端的账号和md5(pwd_md5+随机串)后,从数据库取出此账号注册时的pwd_md5,也用同样的规则 md5(数据库的pwd_md5+随机串)生成一个字符串, 如果是时间戳的话,校验当前分钟和前一分钟 , 最后本地生成的字符串和客户端上传的字符串进行校验,如果匹配成功,则登陆成功。

  HMAC加密

  3.1、常见的加密方式

  1、DES

  DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。

  1)、DES(ECB)加密

  DES(ECB)解密

  2)、DES(CBC)加密

  DES(CBC)解密

  2、3DES

  DES 的常见变体是三重 DES,使用 168 位的密钥对资料进行三次加密的一种机制;它通常(但非始终)提供极其强大的安全性。如果三个 56 位的子元素都相同,则三重 DES 向后兼容 DES。

  3、AES

  1)、ECB:电子密码本模式。每一块数据,独立加密。

  加密:

  查看二进制文件:

  解密:

  2)、CBC:密码分组链接模式。使用一个密钥和一个初始化向量对数据执行加密

  明文被加密前要与前面的密文进行异或运算后再加密,因此只要选择不同的初始向量,相同密文加密后会形成不同的密文。

  加密:

  解密:

  4.1、苹果签名认证

  1、Mac电脑的公钥+开发者信息发送给苹果服务器(电脑上的私钥相当于p12证书)

  2、苹果服务器对公钥+开发者信息进行签名颁发证书返回给苹果电脑

  3、Mac电脑通过私钥(p12)对App包进行签名+证书通过Xcode安装到苹果手机

  4、苹果手机的公钥在验证证书

  苹果双向验证

  4.2、苹果权限管理

  1、描述文件

  描述文件一般包括三样东西:证书、AppID、设备。当我们在真机运行或者打包一个项目的时候,证书用来证明我们程序的安全性和合法性

  2、苹果为了解决应用滥用的问题,所有苹果又加了两个限制

  1)、苹果后台注册过的设备才可以安装

  2)、签名只能针对某一个具体的App

  苹果还控制App里面的iCloud/PUSH/后台运行/调试器附加这些权限,所以苹果把这些权限开关统一称为Entitlements(授权文件).并将这个文件放在叫做Provisioning Profile(描述文件)文件中

  描述文件是在AppleDevelop网站创建的(在Xcode中填上AppleID它会代办创建),Xcode运行时会打包进入APP内.所以我们使用CSR申请证书时,我们还要申请一个东西!! 就是描述文件!

  在开发时,编译完一个 APP 后,用本地的私钥M对这个APP进行签名,同时把从苹果服务器得到的 Provisioning Profile 文件打包进APP里,文件名为embedded.mobileprovision,把 APP 安装到手机上.最后系统进行验证。

  双向验证+权限管理

扫描二维码推送至手机访问。

版权声明:本文由MDM苹果签名,IPA签名,苹果企业签名,苹果超级签,ios企业签名,iphoneqm.com发布,如需转载请注明出处。

转载请注明出处https://www.iphoneqm.com/iphoneqm/454.html

分享给朋友:

相关文章

微信JS接口说明

微信JS接口说明

  JS-SDK是公众平台面向网页开发者提供的基于内的网页开发工具包。   通过使用JS-SDK,网页开发者可借助高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用分享、扫一扫、...

苹果签名的作用及重要性

苹果签名的作用及重要性

  随着移动互联网的发展,越来越多的人开始使用智能设备,例如苹果的iPhone和iPad等,来进行各种各样的操作。无论是购物、社交、娱乐,还是办公、学习、支付,我们都需要使用各种应用程序。然而,我们是...

ios苹果超级签名多少钱?超级签名系统搭建

ios苹果超级签名多少钱?超级签名系统搭建

  ios苹果超级签名是指使用个人开发者账号,通过添加苹果设备的udid,实现真机测试,来让应用可以不通过App Store和苹果审核,直接在苹果手机上安装的方法,ios苹果超级签名实现全自动化,无需...

苹果TF签名和超级签名性价比哪个高?播报文章

苹果TF签名和超级签名性价比哪个高?播报文章

  近来,比起容易掉签的企业签,tf签和超级签已经吸引了越来越多的开发者使用,超级签名和tf签是苹果签名中比较稳定的两种,那么苹果tf签名和超级签名有什么区别呢?哪种签名方式性价比更高一点呢?接下来大...

无需上架App Store,做苹果TF签名就可以了

无需上架App Store,做苹果TF签名就可以了

  ios开发者们都知道,要想上架App Store并不是那么简单,需要苹果至少三轮的审核。可以一次性就通过的应用凤毛麟角,更多的是提交后因为各种应用本身的原因被驳回或者是根本无法上架。这个时候就需要...

Android应用APK签名

Android应用APK签名

  Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。Android证书的生成是自助和免费的,不需要审批或付费。   APK签名的意义...

现在,非常期待与您的又一次邂逅

我们努力让每一次邂逅总能超越期待

  • 高效满意
    高效满意

    专业的技术团队

  • 性能稳定
    性能稳定

    响应速度快,放心有保障

  • 用户体验
    用户体验

    响应式布局,兼容各种设备

  • 持续更新
    持续更新

    不断升级维护,更好服务用户