猿人学第20题详解

python爬虫 - 猿人学第十九题突破ja3指纹验证 ja3指纹破解,骚操作删除原生加密算法 阅读详情

一,看变化值,动态sign值//

二,跟栈找到生成位置,是页数加时间戳进行加密-----而且看起来像md5,应该是加盐了

三,进栈,看看怎么加密--标准的wasm

四,wasm传入流程一般都是通过指针,方式下载文件----加载文件-----创建内存--初始化设置---加载完成,其中初始化特征有env,module

五,看传入的参数,,其中len0是长度

设置内存长度

六,进入方法--进去发现是汇编的代码-----WAT

七,改写原理

八,跟栈-call传入了三个参数,利用wasm也要获取值的方法getUint8Memory0().subarray(ptr, ptr + len),获取值

九,对应明文的字节集,看返回值

发现并没有返回值,继续往下跟栈

返回值还是一样,继续跟进call里面看看

十,一直跟下去,发现先对window做了设置,然后又md5

解一下看看

得到盐,进行验证

结果一致,搞定

下面是python代码

import time

import execjs
import requests
from datetime import datetime

# 获取当前时间戳(以毫秒为单位),并将最后三位设为0

i =1
z =0
for i in range(1,6):
    x = 0
    with open('20.js', encoding='utf-8') as f:
        js = f.read()
    jscode = execjs.compile(js)
    sign = jscode.call('MD5_Encrypt',i)

    timestamp_milliseconds = int(time.time() * 1000)
    timestamp_milliseconds -= timestamp_milliseconds % 1000


    headers = {
        "authority": "match.yuanrenxue.cn",
        "accept": "application/json, text/javascript, */*; q=0.01",
        "accept-language": "zh-CN,zh;q=0.9",
        "cache-control": "no-cache",
        "pragma": "no-cache",
        "referer": "https://match.yuanrenxue.cn/match/20",
        "sec-ch-ua": "\"Google Chrome\";v=\"119\", \"Chromium\";v=\"119\", \"Not?A_Brand\";v=\"24\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "empty",
        "sec-fetch-mode": "cors",
        "sec-fetch-site": "same-origin",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
        "x-requested-with": "XMLHttpRequest"
    }
    cookies = {
        "Hm_lvt_c99546cf032aaa5a679230de9a95c7db": "1702194275",
        "qpfccr": "true",
        "no-alert3": "true",
        "tk": "8639483119022528324",
        "sessionid": "lrl7agnmi4trs20gy9luyu5a787ndd33",
        "Hm_lvt_9bcbda9cbf86757998a2339a0437208e": "1702194543",
        "Hm_lpvt_9bcbda9cbf86757998a2339a0437208e": "1702194543",
        "Hm_lpvt_c99546cf032aaa5a679230de9a95c7db": "1702194568"
    }
    url = "https://match.yuanrenxue.cn/api/match/20"
    params = {
        "page": i,
        "sign": sign,
        "t": timestamp_milliseconds
    }
    response = requests.get(url, headers=headers, cookies=cookies, params=params).json()
    resp = response['data']
    for value in resp:
        zhi =  value['value']

        x+=zhi
    z +=x

    i+=1
print(z)

注意时间取的是最后三位是零

猿人学第二届第二题 第一处是第二处拼接了个时间戳,时间戳好弄,要么是new Date生成的,要么是刚才那个图片包返回的,还有一处是第二处去掉来token=,所以我们直接跟这个变量,很容易就找到生成的地方。每次分页明显抓到两个包,一个数据包一个图片包,但这个图片包很奇怪,每次返回同样的,明显不合理,用fidder抓包或者python逆向下这个包,可以看到是返回一个时间戳。到这儿别慌,这是内存爆破引起的,碰到这样的问题,极大可能是格式监测引起的,我们可以借助压缩代码网站,把格式化后的代码还原回去。那就极大可能是缺少环境。 阅读详情

相关推荐

猿人学第五题(js逆向)

直接搜索,当你试一下搜索的内容的时候,你是无法直接搜索到的,因为这段加密他的键名是通过字符累加产生的,这边我是直接一步一步分析js代码,最后定位到了这个位置。继续hook,找到第二个cookie加密,这边等我后续分析,明天必须拿下。分析网络请求,我们可以确定,该部分加密是加密的cookie。所以我们开始寻找加密的位置。我们可以找到第一个加密参数m。打上断点,开始hook。

screamn的博客 2238

猿人学第20题(题目会不定时更新)

今天突然来感觉想写点什么,但是最近确实没啥技术长进,没东西可写。看了看文章发现好久没写猿人学的东西了,就去猿人学比赛网站逛了一圈,发现最新出来的20题还没有去搞,这怎么可以!但是自己也没啥wasm逆向的经验,在网上看了一下,也都是一些rpc的方案,正好这次就补充学习一下了什么是wasm:参考链接 在开始做题前呢先熟悉一下wasm,进入20题,f12查看参数发现需要解决的只有一个sign,老规矩点击调用堆栈信息进入发包位置: 可以看出sign是由页码加上时间戳经过方法之后返回的加密结果: 继续跟进,打断点进

Ig_thehao的博客 2995

【猿人学WEB题目专解】猿人学第5题

第五题 js 混淆 乱码增强 - 猿人学

user_from_future的博客 1万+

猿人学-第三题

那么用户应该考虑在 Session 对象上面设置默认 header,只要将 Session 设为一个定制的 OrderedDict 即可。这样就会让它成为优选的次序。requests 库 的header排序是会被优先选择的,而 Session对象中不会。发现访问并没有返回到cookie, 对网页端和python模拟进行对比发现。可以看到会请求两个请求, 第一个请求返回。,第二个请求带上就可以访问。对生成数据的接口进行。进行重放, 发现数据。...

爱吃辣椒的锅包肉 1623

第一届猿人学爬虫比赛1-20题题解

猿人学第一届Web端反混淆攻防赛1-20题题解

自成背后的博客 7946

清华开源GPGPU“承影Ventus”初体验:用RISC-V RVV指令集跑通第一个OpenCL程序

本文详细介绍了清华大学开源GPGPU“承影Ventus”的开发实践,展示了如何基于RISC-V RVV指令集运行首个OpenCL程序。从环境配置、内核开发到性能优化,全面解析了这一创新架构的开发流程,为开发者提供了在RISC-V生态中进行通用GPU计算的实用指南。

weixin_30415113的博客 489

【猿人学逆向题】第20题 - 2022新年挑战

本文记录了一个逆向分析"猿人学"网站加密接口的过程。作者通过分析网页请求,发现sign参数使用WebAssembly加密,定位到wasm文件加载位置并提取关键代码。在本地复现时遇到installedModules未定义问题,通过断点调试找到并补全缺失代码。最终成功模拟生成加密请求参数,并分享了环境监测绕过经验。文章展现了逆向分析中定位关键代码、补全依赖模块的实用技巧。

小恰学逆向的博客 648

Dynamics 365从入门到精通:一站式掌握微软智能商业应用平台

很多新手学Dynamics 365时,容易陷入“死记功能”的误区,其实这款平台的核心价值不是“功能多全”,而是“能适配企业业务流程,通过生态集成提升效率”。先从具体业务场景入手,理解每个功能的实际价值;再通过生态集成拓展系统能力;最后通过开发实现定制化,满足企业的特殊需求。按照这个思路,新手不用害怕复杂,一步步落地实战,3个月就能从“入门”到“能独立负责项目”。如果在学习过程中遇到具体问题(比如部署报错、数据迁移失败),欢迎在评论区留言,我会结合实战经验帮你解答!

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1038

【猿人学WEB题目专解】猿人学第7题

第七题 动态字体,随风漂移 - 猿人学

user_from_future的博客 9360

华为硬件工程师笔试题

1、基尔霍夫定理的内容是什么?(仕兰微电子)   基尔霍夫定理包括电流定律和电压定律。   电流定律(KCL):在集总电路中,任何时刻,对任一结点,所有流出结点的支路电流的代数和恒等于零。   电压定律(KVL):在集总电路中,任何时刻,沿任一回路,所有支路电压的代数和恒等于零。   2、平板电容公式(C=εS/4πkd)。(未知)   3、最基本的如三极管曲线特性。(未知)   4、描述反馈电路...

weixin_33717117的博客 2万+

Matlab仿真:均匀面阵方向图、均匀线阵方向图、均匀圆阵方向图

其中,阵列方向图是评价阵列性能的重要参数之一。均匀面阵由若干个相同的阵元构成,阵元间等距排列,阵元的方向图形状为一个圆盘。均匀线阵由若干个相同的阵元构成,阵元间等距排列,阵元的方向图形状为一个矩形。本文将采用Matlab进行仿真,分别实现均匀面阵方向图、均匀线阵方向图和均匀圆阵方向图,并对三种阵列进行比较分析。通过以上代码仿真,我们可以对均匀面阵、均匀线阵和均匀圆阵进行方向图的绘制,进一步分析不同阵列在天线性能方面的差异。Matlab仿真:均匀面阵方向图、均匀线阵方向图、均匀圆阵方向图。

2301_79326857的博客 3436

【猿人学WEB题目专解】猿人学第1题

第一题 js混淆源码乱码 - 猿人学

user_from_future的博客 9798

37、基于铁电场效应晶体管(FeFET)的片上深度神经网络(DNN)直接反馈对齐训练

本文提出了一种基于铁电场效应晶体管(FeFET)的深度神经网络(DNN)训练加速器架构,结合直接反馈对齐(DFA)算法和FeFET的独特物理特性,以解决当前DNN训练中反向传播(BP)算法带来的高计算开销、复杂数据依赖和高能耗问题。通过设计基于FeFET的MVM引擎、低功耗ADC和随机数生成器(RNG),该架构在速度和功率效率方面相比现有基于ReRAM的加速器分别提升了1.3倍和2.5倍。研究为未来高效能AI训练硬件的发展提供了新的思路和实现路径。

wine的专栏 162

【猿人学WEB题目专解】猿人学第2题

第二题js 混淆 动态cookie 1 - 猿人学

user_from_future的博客 9939

基于STM32L4XX 、HAL库的TMP144YFFR数字温度传感器驱动应用C语言程序设计

define TMP144_ADDRESS 0x00 // 默认为全局地址,用于单器件或MDA命令。#define TMP144_CMD_READ_TEMP 0x00 // 读取温度寄存器命令。if (temp_raw & 0x800) { // 判断第11位(符号位)

PP_Cottage的博客 91

fasterlio原理及代码框架梳理

Faster-LIO 的优势是在保持同等高精度的前提下,显著提升计算效率,以支持更极端的应用场景(如高速无人机)和更廉价的硬件平台。可以把 Faster-LIO 理解为用一把更快的“空间哈希筛子”(iVox)替换了原来精细的“动态平衡树”(ikd-Tree),从而在精度损失极小的情况下,实现了效率的显著提升。:只在实际有地图点的空间区域动态创建和保留体素单元,形成一个稀疏的体素地图。是关键:将去畸变点云中的每个点,在 iVox 维护的局部地图中搜索近邻(如5个最近点),构建点到面的距离残差。

Studying…… 246

【猿人学WEB题目专解】猿人学第6题

第六题 js 混淆 回溯 - 猿人学

user_from_future的博客 1万+

Sigrity Power SI Model Extraction模式如何提取电源网络的S参数和阻抗操作指导(一)

34. 默认格式是BNP format格式,会被Sigrity识别的S参数文件,在仿真完成后,默认会在文件夹中生成bnp和ckt(MCP)文件,无需这步操作。由于port设置的ref Z是50ohm,实际上电源网络的阻抗是没有这么高的,所以S参数回损曲线是基本上全反射的一个状态。Sigrity PowerSI是频域电磁场仿真工具,以下图为例介绍如果用它观测电源的网络的S参数以及阻抗的频域曲线.42. Spice格式的加载进来图标是橙色的,BNP格式的图标是灰色的。

weixin_54787054的博客 1277

【猿人学WEB题目专解】猿人学第18题

第十八题 jsvmp 洞察先机 - 猿人学

user_from_future的博客 3万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

猿人学第三题

是这个接口返回数据,我们来分析一下发现这个请求当中cookie,header,param中都没有什么特殊的值那么直接复制curl bash格式去请求(这个比自己写更全面也更方便)可以去这个两个网址curl转requests得到的代码直接去请求发现得到的响应是这个:varreplace@*$""split"@"N=N.28.v;1H<t.6;!!!!!!1A(1L N=e;N<1H.6;H=/;'};!u.12;split""

2301_79699440的博客 758

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【猿人学WEB题目专解】猿人学第3题

第三题 罗生门 - 猿人学

user_from_future的博客 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【猿人学WEB题目专解】专栏通知

🧡作者简介:大家好我是。

user_from_future的博客 9129

【猿人学WEB题目专解】猿人学第4题

第四题 雪碧图、样式干扰 - 猿人学

user_from_future的博客 9921

猿人学第二届-第一题 逆向分析详解

这道题主要考验读代码的能力。代码无强混淆,逻辑基本都能看通。理解自定义模块加载器的作用认识到魔改加密函数的存在正确补入浏览器环境通过路由函数监控环境调用仔细阅读代码找出环境检测逻辑整个逆向过程需要耐心分析,不能盲目补环境,要结合实际代码逻辑进行针对性处理。

CCpps的博客 1332

猿人学第一届第一题

可以看出m值重点是_0x57feae这个变量值,那就将断点走到_0x57feae = oo0O0(_0x2268f9['\x74\x6f\x53\x74\x72' + '\x69\x6e\x67']()) + window['\x66']这个赋值的地方,可以看出oo0O0(_0x2268f9['\x74\x6f\x53\x74\x72' + '\x69\x6e\x67']())这部分为‘’ 空字符串,主要是 window['\x66']也就是window.f的值,window.f在哪里定义的呢,不好找啊。

zhuangjoo的博客 1259

猿人学web端爬虫攻防平台第七题动态字体

本人呢很喜欢爬虫,但是技术不好,所以呢就一直慢慢的摸索着,也不知道那什么练手进行学习,直到我在偶然的机会接触到了猿人学,发现了 猿人学web端爬虫攻防平台这个网站,久旱逢甘霖,他乡遇故知呀(蹩脚的词语)也让我的爬虫技术有了很大的提升,今天呢我就说一下第七题,字体反爬(其他的题目我也有做,有时间也都会发表一下思路) 爬取的网站 猿人学web端爬虫攻防平台第七题动态字体 查看数据来源和加密方式 这就很方便了,数据和字体文件都在一起, 多次请求观察字体文件,可以看出文字都是一样的,只是顺序不一样,对应的na

shiguanggege的博客 2925
上一篇: 人均瑞数时代---瑞5-补环境秒杀
下一篇: python怎么把视频和音频合并
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值