当前位置:网站首页>Reverse crawler 30 verification code of a fourth generation slider
Reverse crawler 30 verification code of a fourth generation slider
2022-04-21 12:03:00 【A little black sauce】
Reverse crawler 30 A verification code of the fourth generation slider
This paper refers to CSDN The other two bloggers , Namely SerendipitySpider and Tearful fish , Because they have completed the general process , Here is a summary of the experience of deducting your own code
One . Packet capture analysis request process

Two . Locate encryption parameters JS
challenge: reference value ,4ed83c16-da5d-46a8-890a-d138518a0a71
Global search



callback: reference value ,geetest_1650294566413, It's simple ,geetest_ + Time stamp
w: Track encryption value , Global search can't find , Because variable names are passed through unicode Encryption is hidden , You can see the call stack and value positioning , You can also search directly "\u0077" Come looking for w Where it was generated

// w be equal to r
r = d[$_BHHFU(91)](l[$_BHHFU(91)][$_BHHGm(541)](e), a)
// Equivalent to
r = d['default'](l['default']['stringify'](e), a)
/* First look at the parameters : e It's an object , Contains the following key values , Related to trajectory device_id、ep、f3st、geetest、lang、lot_number、passtime、pow_msg、pow_sign、setLeft、track、userresponse a yes this, I can't understand the parameters inside , I don't care , Wait until you see the follow-up function , It doesn't have to be used l['default']['stringify'] The effect is equivalent to JSON.stringify Let's look at functions : d['default'] Is to generate r Encryption function of , Because the parameters cannot be determined immediately , So you can't deduct this directly d['default'], Follow in and have a look */

// d['default'] The function returns
return c[$_CEAAg(139)](o) + a;
// Equivalent to
return c['arrayToHex'](o) + a;
// First look at the parameters a and o
// look for a
a = new _[($_CEAAg(91))]()[$_CEABJ(757)](n);
// Equivalent to
a = new _['default']()['encrypt'](n);
// First look at the parameters n
var n = c[$_CEAAg(181)]()
// Equivalent to
var n = c['guid']()
/* No parameters , Direct analysis : c It's an object , Export objects directly c, call ['guid'] that will do */
/* go back to a = new _['default']()['encrypt'](n); n It has been determined that , Analyze the front _ It's an object , Export objects directly _, In the way here new, Call again ['encrypt'], Generate a */
/* go back to return c['arrayToHex'](o) + a; a It has been determined that , look for o */
var o = i[$_CEAAg(91)][$_CEAAg(757)](e, n);
// Equivalent to
var o = i['default']['encrypt'](e, n);
/* n It has been determined that ,e Is the first parameter passed in by the function , Trajectory correlation i It's an object , Export objects directly i, Call... In the way here ['default']['encrypt'], Generate o */
/* go back to return c['arrayToHex'](o) + a; a and o It's all set Previously generated n When , object c Has been exported , Call... In the way here ['arrayToHex'], return r value (w value ) */
/* Summary : All the methods here export , Only the parameters of the function e( Trajectory correlation ) It's not sure , Encapsulate the function , Pass in e, return r value (w value ) */
object e Value :
/* file unicode After decoding , You can easily search in the file where these values are generated , Except that the trajectory needs to be generated by itself Dynamic values are : lot_number: Previously returned passtime: Slider sliding event pow_msg: "1|0|md5|{datetime}|{captcha_id}|{lot_number}||{uuid}" pow_sign: md5(pow_msg) setLeft: Slider track gap recognition distance , That is, the distance the slider needs to move track: The trajectory userresponse: set_left/1.0059466666666665 (1.0059466666666665 This value may change ) */
Track generation reference Tearful fish
3、 ... and . Deduction code summary
- When deducting the code , See the object priority export object , If this object is used, the following methods , Just export the object once .
- After locating the encryption method , If the parameters are not easy to determine , You can look at the function first , Whether the parameter determines the encryption result , When I first saw it , Stuck at the entrance of the method Parameters a The above , result Parameters a Will not participate in encrypted Computing .
版权声明
本文为[A little black sauce]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204211156345219.html
边栏推荐
- 【sql】SQL19 查找所有员工的last_name和first_name以及对应的dept_name
- 骚包的中文字符提取操作(字符串,不用 re ,用 in )
- Hongshan MOFs distributed storage system won the "2022 Gold Award for distributed storage products"
- Massive data generated 421 million yuan of revenue in 2021, and the gross profit margin of database products increased by 8.78%!
- ASP dotnet core does integration test based on TestServer
- 国内期货开户去哪里开可以费率低,公司又安全?
- [software test series IX] description of matters to be provided for pressure test application
- 产品三维展示片制作公司如何选择?
- [software test series v] software test application form
- 【数据可视化应用】绘制双变量映射地图(附R语言代码)
猜你喜欢

World Reading Day | recommended books list of database classic books (free message at the end of the text)

逆向爬虫30 某验四代滑块验证码

hiredis和rapidjson库的使用小结

Kubernetes详解(二)——Kubernetes结构与资源对象

Usage Summary of hiredis and rapidjson Libraries

Branch if statement

【youcans 的 OpenCV 例程200篇】159. 图像处理之固定阈值法

教你轻松解决CSRF跨站请求伪造攻击

基于pytorch搭建VGGNet神经网络用于花类识别

Kubernetes 服务发现 监控APIServer
随机推荐
教你轻松解决CSRF跨站请求伪造攻击
一分钟教会您使用Yolov5训练自己的数据集并测试
Hospital inpatient management information system (HIMS) developed based on SSM - graduation design - with source code
ASP dotnet core does integration test based on TestServer
Leetcode daily question: 824 Goat Latin
云原生DaaS服务—分布式对象存储简述
Hongshan MOFs distributed storage system won the "2022 Gold Award for distributed storage products"
DR-AP6018-A-wifi6-Access-Point-Qualcomm-IPQ6010-2T2R-2.5G-ETH-port-supporting-5G-celluar-Modem-aluminum-body.
【数据可视化应用】绘制双变量映射地图(附R语言代码)
达梦数据库市场份额增速行业领先,盈利能力大幅提升
What's the use of the enterprise's official website? Do you have to build an official website?
宏杉MOFS分布式存储系统斩获“2022分布式存储产品金奖”
hiredis和rapidjson库的使用小结
总有一天,阿里系数据库会将Oracle挤出市场
[software test series vi] software system test scheme
【黑马早报】陶虹从张庭传销公司3年分红2.6亿;以岭药业回复连花清瘟争议:已报案;腾讯视频会员再次涨价;华为消费者业务更名...
PHP 零基础入门笔记(11):字符串 String
二进制文件版本控制工具选择难?看完这篇你会找到答案
俄外交部官员:在乌特别军事行动将在北约造成的安全威胁被消除后结束
小程序旋转手机推流,远端拉流画面被裁剪的问题