位置: IT常识 - 正文

瑞数5.5逆向笔记(纯扣算法)

编辑:rootadmin
瑞数5.5逆向笔记(纯扣算法)

推荐整理分享瑞数5.5逆向笔记(纯扣算法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

瑞数5解密

首先看请求,请求返回202大概率是(瑞数3,4).返回412是瑞数5

还可以看后缀值 MmEwMD=4xxxxx 就是4代瑞数,bX3Xf9nD=5xxxxx 就是5代瑞数

区别4带上来有1-2个无限debugger,这个直接过掉就好,还会有一个假cookie,5带没有

1.meta content 动态的每次请求都会变化(在eval执行到第二层js代码会用到)

2.外链js,内容固定的,自执行函数会解密文件内容生成eval执行时需要的JS源码

3.自执行函数,逻辑不会变,但是名称会变,主要是解密外链JS内容,给window添加一些属性如$_ts,会在vm中使用;

像下图这样,JS来源显示为VM+数字的形式,这就说明这些JS代码是后来加载进引擎的。

1.首先找到vm入口call调用的 正则入口:\S{4} = \S{4}[\S{4}[\d{2}]](\S{4}, \S{4})

2.进去hookcooki,找到cookie初始位置

cookie初始位置 正则入口:return \S{4}[.+] + \S{4} + \S{4}(\S{4}(\S{4}, \S{4}))

3.找到生成cookie函数的入口

下生断点,接着下日志断分析出4个参数的生成逻辑

第一个参数代表瑞数版本,不用分析

第二个参数,下日志断,生成位置

找到生成参数的逻辑,是由真假时间戳生成4个参数,生成一个16位数组,进行异或运算,转换成字符串来的

16位数组生成逻辑,正则入口;\S{4} = \S{4}([\S{4}, \S{4}, \S{4}, \S{4}])

第三个参数生成位置正则入口;return \S{4}[\S{4}[\d+]][\S{4}[\d+]][\S{4}[\d+]]([], \S{4});

把128位的大数组,去除空值,拆分成一个大数组(核心关键)

第三个参数的参数位置,正则入口\S{4}[\S{4}[\d+]](\S{4}, \S{4}.length - \S{4});

此处为去除128数组的空值

此处多开几次分析后得出 就0,1,6,7需要找出其逻辑,其他参数固定不变的,扣出即可

创建一个128位的空数组,下面表示起始位置0

128[0]的生成逻辑,_5x就是window.5x就是window.5x就是window._ts, 赋值层代码后续给出,这个就是window.$_ts的参数生成一个16位数组,是128[0]20位数组中的一部分

此处是取出window.$_ts的四个值生成一个4位数组,是组成128[0]的一部分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HhbtoCpl-1679590866003)(瑞数5解密.assets/image-20230323232152704.png)]

此处就是,16位数组拼接4位数组,生成128[0]的20位数组,这里面的难点在于4位数组,该4位数组的顺序和值的映射很重要,需要分析出映射关系,当你扣出代码时,会发现window.$_ts的4个值是4个参数,这时候就要跟栈分析出20位参数,找到对应关系.个人感觉这是这里面最难的,麻烦的

128[1]数组,这里的_$gM就是之前时间戳差值(这里注意一下,这里的插值和第2个参数用的是相同的,需要参数赋值固定)

128[6]位,找到入口

下日志段跟进去分析,下段技巧后面在分享

首先生成了一个16位数组,扣出即可

截取16位数组前4位生成128[6]

128[7]位,这里面需要多跟几遍,没啥技巧,我直接给出,我跟的流程,

这里下日志段找到的,分析找到在哪赋值的,下断点,单步跟进去,进到支循环在跟

这里面很乱,大小分支,多跟几遍到这里就好了,看下面输出,函数简单扣除即可,这个字符串要找到生成逻辑其实就是![]https://img-blog.csdnimg.cn/42600e1a343c4c9ba09d0188988a56ea.png)

瑞数5.5逆向笔记(纯扣算法)

这里赋的值,扣除即可

参数找齐了

下面最后一位参数,这个参数是2个16位数组拼接而成

断点进去跟

生成一个32位数组

从32位数组中,抽出一个16位数组,是第4参数中的第一个16位数组

第二个16位数组

生成32位数组,参数齐了,有点乱,下面详细分析一遍

下面是赋值层分析

定义两个数组,下面是向数组赋值,关键,后续要常用

赋值window.$_ts,并清空,扣代码时,删除即可

读取content,扣代码时,直接填写进来就行了

20位key函数的映射关系,128[0]的后四位会用到

KaTeX parse error: Expected group after '_' at position 4: 5x._̲hT = $dY[KaTeX parse error: Expected group after '_' at position 4: 5x._̲hT](KaTeX parse error: Expected group after '_' at position 5: p2, _̲gM);这里是4为参数的生成逻辑,理解下就行了,补环境会用到

我这纯扣算法用不到,理解下就行了

这个分支生成了一个4位数组,充当第6位就是128[6]

此分支生成的真假时间戳,懒得放图了,

赋值层分析完毕

逆向分析,下面都是重点

_window.ts初始值,和经过index.js的window._ts初始值,和经过index.js的_window.t​s初始值,和经过index.js的w​indow._ts值

content读取,计算,vm入口

上面的两个大数组

一个填充的20位函数(生成128[0]中的4位数组关键)

一个生成第6位数组的分支,分支后面替换出扣出的代码即可

时间戳的分支(涉及到第二位参数,和128[1]数组)

128位数组

32位数组

下面是扣的一部分关键代码

需要替换

扣操作content时需要替换

这些都是之前赋值window.$_ts需要替换,第20位有可坑那个函数需要二次加载在能出来,要不会显示空

最后一点分享

插装输出的前提是,在每生成目标值之前,下日志,然后等执行输出日志结果然后分析

此图第一个参数是主分支,第二是支分支,后面两个是需要分析的参数,这样的好处是因为有的时候跟着跟着

就会找不到自己处在那个位置很容易跟丢,这样就不会很乱,所以大家下段最好学会用Watch

'索引1_KaTeX parse error: Expected group after '_' at position 5: ZX',_̲ZX,'索引2 _KaTeX parse error: Expected group after '_' at position 6: qQ', _̲qQ,'目标1 KaTeX parse error: Expected group after '_' at position 6: lI', _̲lI,‘参考’,$lE()

下日志断,不要图省事,写清楚不至于乱,最好弄个参考值,可以是时间戳啥的,这样知道自己是不是在主分支里,不至于跟丢

推荐无痕模式下,Script,还有在VM中逻辑不变,但是名称会变,这时候最好固定一套在本地分析,扣代码方便

本文链接地址:https://www.jiuchutong.com/zhishi/297288.html 转载请保留说明!

上一篇:vue中使用百度地图(vue使用百度地图三方标准地图清空后卡死)

下一篇:cpu和gpu已过时,npu和apu的时代开始(cpu占满gpu不工作)

  • 预缴增值税需要预缴城建税吗
  • 所得税五个年度怎么算
  • 记账更改的方法
  • 自然人独资交企业所得税吗
  • 公司收到分红怎么交税
  • 高速公路通行费发票怎么开
  • 酒店开办费
  • 税控盘备案在电子税务局操作流程
  • 出纳可以编制工资单吗
  • 发生销货退回需要退回发票么
  • 受托代销商品和受托代销商品款是什么科目
  • 超市预付卡销售开票管理规定最新
  • 固定资产抵扣税金算增值税吗怎么算
  • 城市维护建设税减免税优惠政策
  • 企业所得税营业利润怎么算
  • 金税盘当月买当月不抵扣怎么处理?
  • 公司经营困难情况说明怎么写
  • 固定资产可以一次性计入成本费用吗
  • 中小企业固定资产管理存在的问题
  • 以前年度损益调整贷方余额表示什么
  • 预付的费用没有还没有收到发票
  • 支付给业主的赔偿金
  • 酒店预收款是什么意思
  • i912900k用什么主板好
  • 核定征收要交企业所得税吗
  • 收到一张餐饮费发票怎么入账
  • windows10预览版
  • PHP:mb_stristr()的用法_mbstring函数
  • 增值税已认证抵扣
  • php简单实例
  • 一次性收入怎么交税
  • 销售商品的会计分录已收到钱
  • 企业所得税核算分录
  • 公司账户转私账违法吗
  • 个人出租房屋要交印花税吗
  • 税控盘开票日期一般截止到下个月几号
  • 纳税调增调减通俗易懂
  • 三代手续费企业所得税
  • 自收自支编制和全额拨款编制
  • 退休职工能否扣医保
  • 年度奖金个税计算器
  • sql 附加数据库
  • 差额开票和全额开票
  • 企业稳岗返还使用情况明细表
  • 现金日记账采用哪一种账簿的形式
  • 捐赠支出税前扣除比例
  • 发票怎么跨月作废申请
  • 待摊费用年底能够有余额么
  • 研发支出资本化和费用化的区别
  • 应付职工薪酬如何进行会计处理
  • 10万以下销售额怎么算
  • 对于资产负债表日后的非调整事项
  • 商品流通企业会计第三版答案倪明辉
  • mysql优化技巧实战
  • Win7、WinXP下MySql安装出错完全卸载的方法步骤
  • solaris教程
  • windows7禁用usb
  • win10设置怎么开
  • 桌面上的软件是什么
  • win8如何删除登录密码
  • MAC修改Dock烟雾效果及设置抓屏快捷键的方法
  • vmware 安装教程
  • -mtime +3详解 linux
  • csinsmnt.exe进程的作用介绍 csinsmnt是什么进程
  • win7双硬盘双系统
  • linux的newgrp
  • unity例子
  • JavaScript创建数量n由用户决定的数组
  • python解析函数
  • 如何用nodejs搭建服务端
  • scrollbottom用法
  • jquery如何解决跨域问题
  • python+Django+apache的配置方法详解
  • 国家税务局发票查验平台查验官网
  • 电子税务里面怎么作废发票
  • 顺丰收取关税合理吗
  • 日本消费税是什么
  • 海口市地税局高峰简历
  • 达州房管局备案查询系统
  • 土地增值税核定征收尾盘销售
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设