自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 【js逆向案例四】小红书

本文主要介绍了破解某网站加密参数的过程。首先通过全局搜索找到加密参数X-s的生成位置,并确认其与目标接口一致。然后分析加密函数seccore_signv2,发现其包含MD5加密和base64编码等操作。重点破解了window.mnsv2这个虚拟机生成的函数,通过断点调试找到eval()输出的混淆函数和启动函数,最后需要进行环境补全。整个过程涉及加密算法分析、JS逆向调试和虚拟机代码提取等逆向工程技术。

2025-11-03 20:17:14 1199

原创 【js逆向案例三】瑞数6

本文总结了处理瑞数6反爬的经验:1. 原型链补全不宜过度,简单补全即可正常运行;2. 关键环境变量包括window.ActiveXObject设为undefined,补全addEventListener等方法;3. 需处理meta和script标签;4. 提供了完整的调试方法(VSCode联调)和Python请求流程,包含获取ts文件、替换环境变量、处理cookie等步骤。作者测试了多个政府网站均成功通过验证。文中包含详细的JavaScript环境补全代码和Python请求示例,特别强调了浏览器环境模拟的注

2025-11-03 20:08:12 335 5

原创 【js逆向案例二】瑞数6 深圳大学某医院

本文介绍了瑞数反爬虫技术的破解流程。首先通过检查网页发现无限debugger,清除应用数据后找到关键ts文件、启动文件和content文件。重点是通过代理设置和补环境技术模拟浏览器环境,包括对window、document、location等对象进行完整补全。文章详细说明了MutationObserver、createElement等关键点处理方法,并给出了完整的Python实现代码,包括获取初始cookie、解析页面内容、替换环境参数等步骤。最终成功获取有效cookie并完成请求验证,实现了对瑞数防护的有

2025-10-29 18:03:50 333

原创 【js逆向案例一】金山词霸

该文章主要分析了某翻译网站加密接口的逆向过程。通过开发者工具抓包定位到关键的"sign"加密参数,发现其生成位置位于webpack打包的代码中。文章详细介绍了两种解密方法:一是直接扣取webpack模块代码并修改运行环境(添加window=self),获取sign值;二是深入分析加密函数,识别出AES加密特征并找到对应的解密位置。两种方法均可成功获取sign值,其中方法二进一步分析了加密函数内部结构,确认了AES加密方式和对应的解密函数位置。整个过程涉及XHR断点、webpack模块分析

2025-09-11 14:55:35 1284

原创 【js逆向入门】图灵爬虫练习平台第十九题

打上断点分析一下,发现他里面的 JSON.parse(DES3.decrypt(data.r,data.k)),中的data.r实际上就是最后返回的加密的值,而data.k就是返回的那个k值。直接把所有代码全部扣下来,进行分析, 传入一个固定的值最后发现他直接能运行成功,中间没有什么需要改的,直接就可以获取到数据,然后就是写python请求获取数据了。我们发现这个可能就是CryptoJS加密,我们导入这个包试一下,发现不行,说明他不是标准加密,那么就直接打上断点,调试,鼠标上面,然后进行跳转。

2025-04-17 22:21:18 1452

原创 【js逆向入门】爬虫练习平台第十八题

我们发现最后显示 anti = n, 说名anti这个等于里面的n函数,这个n函数最后返回的是return e[r].call(o.exports, o, o.exports, n), 这个r是anti后面带的数字,就是4,这个返回的意思就是调用第四个从0开始,数到第四个发现,她这个函数刚好就是我们刚开始从anti跳转过来的位置,说名函数anti这里及时等于这个函数,传入'serverTime':的值,然后调用他的messagePack(),最后生成加密的值那就好说了,直接让anti改一下。

2025-04-17 22:01:59 2380 2

原创 【js逆向入门】图灵爬虫练习平台第十七题

看整个代码的时候我们会发现这个,他的键其实就是我们反回来的加密数据,既然这样也就不用写 js代码了可以直接破解返回的数据。还是老的套路,先看看他是什么加密,发现看了半天,没有什么加密,然后我们直接请求一下,发现反回来的数据是加密的。直接堆栈分析看一下,发现有混淆,解一下混淆。

2025-04-16 15:28:58 631 3

原创 【js逆向入门】图灵爬虫练习平台第十六题

分析一下这个,他是由 window[__sk_g(0xf9)].sign(j).then(function (g) 这个生成的,他这个其实就是一个异步,在sign中传入j的值,然后then,把他返回的值赋值给g,然后在赋值给j.h5。这个就是我先稍微补了一下,然后补代码有点多这里就不一一展示了,缺什么补什么,把里面的全部补好就行了,完整代码太长了,就不再这里写了,最后就是请求的时候他有频率监测,尽量慢一点,要不就把你的ip给你封了,遇到问题可以评论。})改了一下,里面的那些删除的其实就是没有用的。

2025-04-16 15:14:33 2316 1

原创 【js逆向入门】图灵爬虫练习平台第十五题

在re函数中我们看到这里其实就是那个D就是cookie的位置,把所有代码扣出来,然后写一个window.DDDD = D,在最前面写一个window = global;最后在输出一下window.DDDD。还是先看看这是什么加密,之后发现就是cookie中的加密。发现在这里基本上就是cookie的生成位置,在re函数中。代理前面的文章里面有,没有的话可以去前面看一下。直接进行hook, 成功hook到位置。剩下的就是补环境,缺什么,补什么。

2025-04-13 17:18:26 1927 1

原创 【js逆向入门】图灵爬虫练习平台第十四题

当他还是调试到这里的时候,就会发现,他这里面有一个xhr,大胆判断这里就是入口,点进去。这里有一个xhr.js, 点进去之后发现这里就是加密的位置,先解一下混淆,在看一下代码。其中ts生成的是时间戳,p是时间戳,加上一段字符串最后生成的,然后在取其中的16。可以给这个O加上断点,看看她最后生成的是什么,最后发现生成的是我们所需要的值。点进去,发现还是跟第十三题一样,ajax被重写了,打上断点,进行调试。然后你发现,这里也并不是入口,打上断点,继续调试,着重看xhr。先看看他是什么加密,发现这里是参数加密。

2025-04-13 16:54:42 1535 4

原创 【js逆向入门】图灵爬虫练习平台第十三题

然后点击ajax发现调试在这里的时候专门有这个 v = S.ajaxSetup({}, t),这个有点特殊,鼠标放在这里就会发现,里面有一个,特殊的beforeSend,这里的加密位置是在请求头里面,加密生成的时候是在请求发送之前,所以点进,这里就是加密的位置。进行堆栈分析,点进去,然后发现就是一个ajax请求,就这一个没有其他的代码了,所以我会怀疑就是哪里重写了ajax请求,先在这里打上断点,进行分析。发现跳转到这了,明显就看出来这是经过了ob混淆,然后解密一下,就出来了,看解密之后的代码。

2025-04-13 16:12:51 1232 5

原创 【js逆向入门】图灵爬虫练习平台第十二题

这个还是找不到,看一下上面有什么缺的,发现, _ajax 属性: extend 属性类型: string 属性值: undefined 属性值类型: undefined, 补一下。window['$'] = _ajax写下这个,然后继续运行,在浏览器看他是什么意思,可以看到这个事题号,直接把queryString也改了,把他改成page,再次运行,发现。运行,把缺少的全部补一下,慢慢的bu,把缺少的一个一个补上,然后就会发现出现这个错误,查看报错位置,这里直接全局搜索,你会发现。看这上面的值就会发现。

2025-04-12 19:01:24 1575 1

原创 【js逆向入门】图灵练习平台第十一题

缺少 callEncryptFunction 全局搜索 callEncryptFunction 扣出来。这个其实就是wasm,你会发现,看不懂,但是没有关系,可以交给AI吧他转换成js代码。点击进入,直接就发现了这里就是加密的位置,打上断点,进行调试。还是老套路,解决完无限debugger可以发现加密参数是。然后发心缺少这个, 全局搜索不到, 打上断点,进行调试。然后就是扣代码了,把代码改一下。然后就是进行堆栈分析。然后代入,就能运行了。

2025-04-12 17:02:08 961

原创 【js逆向入门】图灵练习平台第十题

这里面运行,然后,既然没有sha256方法,那么我们就创建一个,把运行的代码扣进去,因为sha256传入的有参数,我们用一个input接收参数,先把这个需要的值扣出来。这里看刚才跟栈的位置,发现他这里也不是加密的位置,我们看一下整体的代码,发现,最上边这个。根据这个代码可以看出,_0x443686.url是传入的参数后面的_pa就是t的生成值。可以看到他就是刚才我们跟栈的时候ajax的url,那么我们就可以改一下,函数。成功断住,在调试一下,就会发现,t,就是在这里生成。// 创建实例并处理输入。

2025-04-12 16:41:16 1340

原创 【js逆向入门 】图灵练习平台第八题

还是复制curl,进行爬虫代码获取发现是cookie中的's': '51b351b351b351b370b0d0d0d03051507010903050',,还有headers中的'm': 'dedededededea0a6a3a3a3a2a79fa0a1a5a29fa1',发现这里的document就是设置cookie的位置,再往下看,就会发现。下面的是headers中的m还有t的生成位置,解一下混淆。开局还是熟悉的无限debugger,直接不在此处停留。直接hook cookie中的 s。

2025-04-12 14:17:47 481 4

原创 【js逆向入门】图灵爬虫练习平台第九题

这里就有一个n.data.m = t.MqmaW(c, t[r(1881)](t[r(489)], f)),还有一个n[r(1939)].tt = btoa(f);,可以确定了,这里就是m还有tt的加密位置。到这里就会发现,m的值实在这里生成的,很明显这里经过了混淆,发现这里没有显示m的生成位置,往上找,你就会发现。这里用的是case,肯定是经过排序的,在上面找到排序的,把代码扣出来,这里面缺的就是这个c函数,打上断点,调试一下,就找到了这个 c函数。然后就是把他解一下,这里就不解了,解完之后。

2025-04-12 14:02:59 1469

原创 【js逆向入门】图灵爬虫练习平台第六题

首先打开开发者模式,点击网络,点击下一页,然后复制他的curl,生成代码,然后就会发现他的加密是headers里面的s,还有tt。你把鼠标悬停在这个值的上面,你就会发现,他生成了正常的值,说明白这里就是加密的位置,把所有的代码全部扣下来,就开开始补环境,运行。他传入的值就是刚才返回的t,最后返回的结果就是我们所需要的,然后把这个函数扣下来,运行,发现返回我们需要的值了。上面的可能就是加密的位置,然后你仔细看一下就会发现,这里有一个直接返回的就是s,还有tt的值然后把他扣下来。

2025-04-02 23:16:22 1280

原创 【js逆向入门】图灵爬虫练习平台第五题

补上去之后你就会发现,他又报错,说 document.querySelector不是一个函数,那就在document中补一个这个函数。这里就是xl的生成位置,然后把全部代码复制下来,运行输出这个xl的值,就会发现它缺少一个CryptoJS。一样的老套路,放到爬虫代码生成平台,生成爬虫代码,然后就可以发现是请求参数加密然后还是进行堆栈分析。补上之后,就会发现他缺少一个document,然后就是继续补上去。补完之后又发现最后的值出来了那么就可以拿它去进行运行。把这个代码复制下来,打上断点运行发现。

2025-04-02 23:13:47 1244

原创 【js逆向入门】图灵爬虫练习平台第七题

然后点击下一页,复制curl进行请求,然后就会发现加密内容是headers中的m,ts,还有参数中的x。着就是明显的ob混淆,需要的解混淆的网站里面去解混淆,其实这个解混淆第一次有一个错误,后面你就会发现。前面的那两个就是人家直接复制的文件,可以不用看,直接就看下面的进去之后发现里面全部都是看不懂的。然后在你解混淆的代码中,把需要的复制过来,然后这个可以改变一下,把他这种该成一个函数。运行之后,继续补环境,接下来就是一大串子,补环境的,然后就不写了,最后你会看到这个。然后运行这串代码,接下来就是补环境。

2025-04-02 19:17:03 961 1

原创 【js逆向入门】图灵爬虫练习平台第四题

可以明显的看到这里的加密位置,先把所有的代码复制下来,然后就是先输出一下,就会发现它提示没有window,然后你就补环境,补一个window,接着你就会发现,输出成功。进入开发者模式后,点击网络,点击下一页,你会发现他的载荷里面有两个加密,一个是sign还有一个就是时间戳,先看sign。首先全局搜索一下,就会发现,他的值很泛,就是很多,所以换一种方法,就是进行堆栈分析,然后。有一个sign经过加密处理。题目四:js逆向入门。

2025-04-02 09:59:42 1228

原创 【js逆向入门】图灵爬虫练习平台第三题

然后解决方法是,你在点击这个题目之前,就打开开发者模式,然后看开发者模式的右上角小齿轮旁边那个停靠位置,直接单独开一个窗口,然后进入题目,点击下一页,就会发现可以直接获取到数据。这一题是有防止浏览器进入调试的,你会发现,无论是你点击右键进入开发者模式,还是直接点击F12,都是无法进入开发者模式的,这就是最基础反爬,防止浏览器调试。然后还是放进去那个爬虫平台,就是上一题的那个,直接生成爬虫代码,然后进行请求,就可以发现请求成功,然后就可以获取到数据。

2025-04-02 09:26:44 1545

原创 【js逆向入门】图灵爬虫练习平台第二题

有反爬,浏览器相关指纹需处理,适合初级爬虫入门练习。根据返回的数据进行求和并提交答案。这里的header验证其实就是header里面的一些值的使用。一般这几个值都需要写上去,不熟悉的话可以去学一下基础的爬虫。这一题还是跟第一题一样,直接放到爬虫网站里面去。然后可以直接生成,获取到正确的答案。题二:headers请求头验证。

2025-04-02 09:13:46 1489

原创 【js逆向入门】图灵爬虫练习平台第一题

然后就解决了这一题,这一题太简单了,就不讲解怎么做的了,不会的可以去看一下爬虫的基础。然后直接复制生成的代码,就可以进行请求,然后就可以获取到数据。直接复制他的curl到生成爬虫的网址里面去生成爬虫。

2025-04-02 08:58:19 1109

原创 猿人学第二题

这个就能解决问题了,然后又出现新的错误,新的报错,因为他后面的值都是定值,所以是$dbsm_0xcbc5的错误ob混淆的话一般有些特点:其一般由三部分组成:大数组、移位自执行函数、解密字符串函数,大数组我们之前已经找到了,就是 $dbsm_0x5ae1,而 $dbsm_0xcbc5 是解密字符串函数,这里差了个移位自执行函数,缺东西自然结果会不对,需要找到将其补上。后面的js代码直接扣,如果后面有括号的就把括号去掉,应为他是自执行的意思,然后在控制台输出一下就可以发现等号的后面就是m的值还有时间戳。

2025-03-31 14:10:14 1005

原创 猿人学第一题

接下来查看oo0O0()函数,可以看到她最后返回的是“”,是一个空值,接下来分析代码你就可以看到eval(atob(window['b'])[J('0x0', ']dQW')](J('0x1', 'GTu!第一种方法:堆栈分析在这里会看到一个a.hasContent ,这是一个加密的方式,根据堆栈往上找可以卡看到一个request,看到这里就是m生成了,第二种方法就是利用xhr断点,截取uql的一部分,进行xhr断点。这一部分就是把他们生成的时间戳还有m的值相加,合成最后的m的值。

2025-03-31 13:50:18 1600

猿人学第一题js代码,解js混淆之后的代码

猿人学第一题js代码,解js混淆之后的代码

2025-03-31

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除