某茄小说 a_bogus 逆向之JSVMP扣取

2024-04-03 18:52

本文主要是介绍某茄小说 a_bogus 逆向之JSVMP扣取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

逆向网址

aHR0cHM6Ly9mYW5xaWVub3ZlbC5jb20v


逆向链接

aHR0cHM6Ly9mYW5xaWVub3ZlbC5jb20vcmVhZGVyLzcwODE1NDA1ODAwOTM3MjU3Mjc/ZW50ZXJfZnJvbT1yZWFkZXI=


逆向接口

aHR0cHM6Ly9mYW5xaWVub3ZlbC5jb20vYXBpL3JlYWRlci9kaXJlY3RvcnkvZGV0YWls

逆向过程 


请求方式:GET
逆向参数

        msToken LJldD3EAeem1rBinemOX8ffIy5UeqwnuEgd726-d_YUO8cmT0o2xctjNSQ1tMdlJXmUpe6pRSeB9kAQ0-QZW2BSsKnQJtTdW62ma2XaDuBLwkZjC_KuSwBHguRYjlg%3D%3D --- cookie中提取即可

        a_bogus x74d6OgcMsm13jvOLhkz9tvm31S0YW5FgZEz5QwOHtLr

过程分析

根据XHR断点方式可快速进入发包内容

再次跟栈找到位置打条件断点

之前断点均可取消。定位到此处后进行跟栈.....

可疑位置

输出几次  a_bogus 长度后发现为 44

那么可加条件断点

即可发现变量 【b】值即是需要得 a_bogus

快速进入 【s】内部 

 拾取代码
u = function e() {var r = e._v;return (0, e._u)(r[0], arguments, r[1], r[2], this)
}

 刨析

(0, e._u)(r[0], arguments, r[1], r[2], this)等价于e._u( r[0], arguments, r[1], r[2], this )

那么这里就相当于调取得 e 得   _u 方法

快速进入 _u 方法内

 扣取代码

将该文件全部复制,另存文件备用

调试几轮之后发现该处得【u】就是我们需要得类 【s】。

方法导出

可将【u】导出后使用 _util

参数分析

(b = s.apply(l, u), p[++d] = b)

【l】为 null

【u】为传入参数

[0,1,14,"msToken=yQHIh_zMD8aBUiRc2oemfuXjfXNp6z60MoBzPv7qXw4my-DCr2SWWUfrZdpvAT7Q5q9z03Vusdk5EcYzTpHUjFtl9DghtU51wb3i6F92Ohodh37w4-Ee","{\"did\":\"\",\"uid\":\"\",\"id_list\":\"522\",\"extra\":\"{}\"}","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
]

重新改写

var u = [0,1,14,"msToken=R8LCFFqEiCNSQAFkbjiv4rAbC4Fd8cDeuyLQ44fgtWBM3cLz1S8f6R-9jQoefSWDJ9q_MBd6-WtAx4AozEWHyT89vI-FngxQmL1Z08OePGqTtpJWDwh7dFAirAPZxg%3D%3D","{\"did\":\"\",\"uid\":\"\",\"id_list\":\"522\",\"extra\":\"{}\"}","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
]function getABogus(){var r = _util._v;return _util._u( r[0], arguments, r[1], r[2], null );}var str = getABogus( u[0], u[1], u[2], u[3], u[4], u[5] );
console.log( str, str.length );

这篇关于某茄小说 a_bogus 逆向之JSVMP扣取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

逆向学习汇编篇:内存管理与寻址方式

本节课在线学习视频(网盘地址,保存后即可免费观看): ​​https://pan.quark.cn/s/3ceeb9ae6d98​​ 在汇编语言的世界中,内存管理和寻址方式是构建程序的基础。理解这些概念不仅对于编写高效的汇编代码至关重要,也是进行逆向工程分析的关键技能。本文将深入探讨内存管理的基本原则和多种寻址方式,并通过代码案例来展示它们的实际应用。 1. 内存管理 内存管理涉及如何分配

【Android逆向】小白也能学会的一个小时破解某猫社区VIP会员

第二步:使用 dex2jar 将 classes.dex 转成 jar 文件 cmd到dex2jar文件夹目录,执行 d2j-dex2jar D://xxx/xxx/classes.dex 得到 jar 文件 静态分析 拿到源码后,首先我们需要找到应用的限制点,绕过App里面的判断。 然后分析源码,该从哪里开始入手呢? 我们都知道,一个完整Android应用,可能会存在各

记一次好笑的逆向过程

为什么说是好笑,看到最后就明白了。 目标链接:url 打xhr断点并发起请求: 查看调用栈,发现了发起request的位置: 向上查看代码,发现了这个东西: 知道ajax请求里的signature参数和rs参数是从哪里来的。看一下这部分代码,可以知道构造url时的u,d,t来自哪里 u,d,t三个参数里,u和d很容易理解,主要是t参数如何获取,所以在这里重新开始打断点。

记一次js逆向过程

目标:sec 通过抓包可以知道,列表页内容来自: 一共请求了两次这个链接,通过截图可知道,第一次请求什么都没拿到,第二次请求才拿到数据。看一下第二次请求的参数,可以知道,主要是post的data中加了参数:code=***,所以现在主要问题就是找到这一串参数怎么来的。因为在其他请求中找不到同样的参数内容,所以考虑基本就是js加载出来的,所以开始打断点调试。根据链接打一个xhr断点: 打断点调

逆向学习COM篇:通过注册表管理COM组件

本节课在线学习视频(网盘地址,保存后即可免费观看): ​​https://pan.quark.cn/s/a1b4228ba501​​ 在Windows操作系统中,COM(Component Object Model)组件的注册和反注册是开发和维护过程中的重要环节。本文将详细介绍如何通过注册表来注册和反注册COM组件,以及如何利用接口ID(IID)和组件ID(CLSID)在注册表中查找组件路径。

120.网络游戏逆向分析与漏洞攻防-邮件系统数据分析-邮件发送功能的封装

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容参考于:易道云信息技术研究院 上一个内容:119.邮件读取与删除功能的封装 码云版本号:656c6614f9e14f880c1d3db2c1583031933b52de 代码下载地址,在 titan 目录下,文件名

python实战(爬取一个小说网站,将爬取的文本转换为语音)

1.前言 有声小说相信大家都不陌生了, 里面的音频基本都是一些声优录制的 其实除了录制音频, 咱们可以利用百度免费的api接口使用python语言在线合成语音 制作属于自己的有声小说, 一睹为快吧!! 2.爬取小说网站 爬取的网站http://www.xbiquge.la/10/10489/ 代码示例: # -*- coding: utf-8 -*-# @File : 爬取文本内容

MyBatis逆向生成配置XML及详解

配置XML示例: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_

【Ruby爬虫02】自动获取小说

# 使用前请先安装如下gem# gem install http # gem install nokogiri require 'http' require 'nokogiri' url = 'https://www.85xs.cc/book/douluodalu1/1.html' page_index = 1 loop do # max_hops: 自动重定向次数 r

逆向学习网络篇:通过Socket建立连接并传输数据

本节课在线学习视频(网盘地址,保存后即可免费观看): ​​https://pan.quark.cn/s/992f89f6f1f4​​ 在网络编程中,Socket是一种提供不同计算机之间通信的机制。通过Socket,我们可以建立客户端和服务器之间的连接,并实现数据的传输。本文将详细介绍如何使用Socket在客户端和服务器之间建立连接,并进行数据传输。我们将通过几个代码案例来展示这一过程。 1.