【APP逆向31】rpc小应用之DYM

news/2025/2/22 13:54:38/文章来源:https://www.cnblogs.com/xwltest/p/18715759
  • 1.目标:逆向登录接口中的sign参数

  • 2.入口

  • 3.hook校验

    • 3.1:通过hook与抓包对比,我们可以确定我们的猜测是正确的。
Java.perform(function () {var Crypt = Java.use("com.yoloho.libcore.util.Crypt");Crypt.encrypt_data.implementation = function (j2,str,i3) {console.log(j2,str,i3)return this.encrypt_data(j2,str,i3);}});// frida -UF -l  7.hook_sign.js

  • 4.通过rpc脚本调用so中的方法,返回我们需要的sign值
    • 4.1:脚本
import fridardev = frida.get_remote_device()
session = rdev.attach("大姨妈")scr = """
rpc.exports = {   // xx方法名,方便后续python调用xx:function(j2,str,j3){var res;// 找到类,并且自行方法,返回结果Java.perform(function () {var Crypt = Java.use("com.yoloho.libcore.util.Crypt");  res = Crypt.encrypt_data(j2,str,j3);});return res;}
}
"""
script = session.create_script(scr)
script.load()# Python语法调用
sign = script.exports.xx(0, "dd4d356229c14b2b2a65cac7b15efccb52313d4euser/login13388889999Izwi7Fk7u8Ge5O7yV3U27g==", 85)
print(sign)
  • 4.2:通过对比抓包,查看是否正确

  • 4.3:至此,我们通过Frida,hook,python调用等技术,在不硬核破解so总加密方法的情况下获取到了sign的生成结果。此方法的缺点:

    • 4.3.1:需要依赖Frida,手机设备
    • 4.3.2:批量操作时,速度比较慢,而且可能需要多台设备(手机,电脑)通过队列去生成sign值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/883784.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第三章笔记

双精度浮点数类型用64位、单精度浮点数类型用32位来表示全体小数。 浮点数是指用符号、尾数、基数和指数这四部分来表示的小数。 符号部分是指使用一个数据位来表示数值的符号。该数据位是1时表示负,为0时则表示“正或者0”。 尾数部分用的是“将小数点前面的值固定为1的正则表…

分合之道:最小生成树的 Kruskal 与 Prim 算法

最小生成树问题 想象你是一位城市规划师,面前摊开一张地图,标记着散落的村庄。你的任务是用最经济的成本,在村庄间铺设道路,让所有村庄互通。这个问题看似简单,却隐藏着一个经典的数学命题:如何在一张“带权图”中,找到一棵总权重最小的树,连接所有节点? 数学定义 给定…

@Transactional中异步方法使用注意事项

如果使用了@Async异步方法上面添加了@Transactional,那这个事务是不会生效的 场景复现: @Transactional 基于MethodInterceptor实现的,所以在方法执行完毕之后才会提交事务上面代码前面操作位正常保存或者更新操作,代码最后调用了一个异步方法,这个异步方法为了避免主从延…

子查询和连表查询的比较

在需求中,要求对一个查询sql中根据主表的id展示该主表id关联的研发项目信息。一开始我使用了连表查询,但是存在一对多的关系,使用了group by进行分组。但是造成了数据分组后,原sql查询的数据量不对。故不能直接连表查询,而使用了子查询。 连表查询:在连表查询中,可能存…

【入门必看】人工智能就该这样学!一文盘点人工智能全栈工程师学习路径

随着人工智能技术的不断发展,人工智能应用场景越来越多,企业人才需求也越来越大。很多人都想进入AI这个高薪领域,包括理工科背景的学生、程序员、工程师、甚至是非科班跨领域的从业人员等等。但AI知识体系庞杂,网上资料零散,很多初学者不知道从哪儿下手,又担心自己学不会…

教会你如何使你的桌面炫酷起来

CTM工具是一款专为Windows用户设计的系统优化工具,它能够显著提升桌面美观度和系统性能。任务栏透明化:用户可以一键切换任务栏为全透明或毛玻璃效果,提升桌面美观度。资源监控:该功能与鲁大师的硬件监控功能相似,显示当前硬件使用状况,同时支持对字体大小、位置以及透明…

MySQL技术公开课:Mysql-Server-8.4.4 Innodb 集群搭建与维护

MySQL技术公开课 - Mysql-Server-8.4.4 Innodb 集群搭建与维护 讲课内容: 1、Innodb集群框架介绍 2、Innodb集群部署(mysql-Server、mysql-shell、mysql-router安装配置) 3、Innodb集群维护(主备切换、启动与关闭、故障排除) Mysql-server商业版目前最新的是8.4.4,增加了新功…

SM4算法

概述 SM4算法是我国发布的商用密码算法中的分组密码算法。为配合WAPI无线局域网标准的推广应用,SM4算法于2006年公开发布,并于2012年3月发布为密码行业标准,2016年8月转化为国家标准GB/T 32907-2016《信息安全技术SM4分组密码算法》​。 SM4分组密码算法是一个迭代分组密码算…

KVM之virsh管理虚拟机

一、虚拟机管理操作 1.1 虚拟机状态 通过 virsh 管理虚拟机,虚拟机的状态显示为以下几种: runing 是运行状态 idel 是空闲状态 pause 暂停状态 shutdown 关闭状态 crash 虚拟机崩坏状态 daying 垂死状态 shut off 不运行完全关闭 …

LinkCutTree LCT

讲解 LCT。更新日志 2025/02/14:开工。概念 LCT 可以解决动态树下树链信息的维护。 动态树的意思是可以动态割边、连边。 首先我们将讲解整体思路,然后对各个函数依次介绍。 LCT 的均摊复杂度为 \(O(n\log n)\) 的,证明复杂,所以这里全部掠过,保证复杂度的操作都会提出。 …

分享一个用于免费取名chrome插件

這是一個幫助父母為寶寶取名的 Chrome 擴充功能,基於八字命理為寶寶打造獨特而富有寓意的名字。 功能特點支持輸入寶寶姓氏 可選擇寶寶性別(男寶寶/女寶寶) 可選擇名字長度(二字名/三字名) 支持輸入出生日期和時辰 提供多種期望寓意選擇 支持自定義期望寓意 完全繁體中文…