【iOS逆向与安全】网上gw如何自动登录与签到SM2,SM3,SM4算法加解密

2024-05-07 14:52

本文主要是介绍【iOS逆向与安全】网上gw如何自动登录与签到SM2,SM3,SM4算法加解密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.下载 app

2.frida 调试

3.抓包查看接口

4.分析加密数据

5.易语言编写代码


 1 .开始下载

下载好发现有越狱检测,检测点为:

-[AppDelegate isJailBreak];

于是编写插件xm代码 :

%hook AppDelegate- (void)isJailBreak{NSLog(@"AppDelegate  isJailBreak  method : %@", self);
}
%end

编译代码放入:

/Library/MobileSubstrate/DynamicLibraries

 从新打开 app,即可正常打开了

2.开始frida 调试

经过反复分析,发现关键点为:

GMSm2Utilss
GMSm3Utilss
GMSm4Utilss

直接使用通配符 hook

"*[GMSm* *]"

3.抓包查看接口

例如:发送请求数据为

{"data":"D7E31B425B6E92CDCC6A10D17ABED1611E7E08353F3D07485CB899F7C15F79910040184F85F61D7DDD4486EAD694F81BE3780BC92064CD540A42BAA079","skey":"04BCE3480EFA72C7E7DD02B6B38F5D8664D7D66237F3192C1CF2C4D386787A0C605A990FEFE897B740D8638F8C27B6526A71023FC4D798C27E34A937B43F54F1BAD3A890B1F7B7E4C3D07369E201625A471CB223877A2F74DCA47C779927B6FC98290779C4723BB78226594A1E110B1E55E24200F6CC8590D5A22480632C289A01","timestamp":"1715060263637"}

 

{"

data":"D7E31B425B6E92CDCC6A10D17ABED1611E7E08353F3D07485CB899F7C15F79910040184F85F61D7DDD4486EAD694F81BE3780BC92064CD540A42BAA074F7BB568A708367A61FDA62F655F33300E67B3080A",

"sign":"BDB75DCB4E7A1451689C5F0A431E711D71E1B95AEAAB95C129CD881001F14029","

skey":"04BCE3480EFA72C7E7DD02B6B38F5D8664D7D66237F3192C1CF2C4D386787A0C605A990FEFE897B740D8638F8C27B6526A71023FC4D798C27E34A937B43F54F1BAD3A890B1F7B7E4C3D07369E201625A471CB223877A2F74DCA47C779927B6FC98290779C4723BB78226594A1E110B1E55E24200F6CC8590D5A22480632C289A01",

"timestamp":"1715060263637

"}

4.分析加密数据

字段有

data,sign,skey,timestamp

timestamp为:

当前时间戳

skey 的算法为:

sm2 加密 随机32位字符串,结果为skey

data 的算法为:

sm4 加密  发送的请问数据,密钥为: 上面随机32位字符串

sign 的算法为:

sm3 加密 (skey  +  data  +  timestamp)

5.易语言编写代码

计算加密:

 

 运行结果:

这篇关于【iOS逆向与安全】网上gw如何自动登录与签到SM2,SM3,SM4算法加解密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967668

相关文章

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

Spring使用@Retryable实现自动重试机制

《Spring使用@Retryable实现自动重试机制》在微服务架构中,服务之间的调用可能会因为一些暂时性的错误而失败,例如网络波动、数据库连接超时或第三方服务不可用等,在本文中,我们将介绍如何在Sp... 目录引言1. 什么是 @Retryable?2. 如何在 Spring 中使用 @Retryable

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系