当前位置:网站首页>First issue of JS reverse tutorial
First issue of JS reverse tutorial
2022-07-07 09:35:00 【Little w who learns programming】
JS The first issue of reverse tutorial
Project brief introduction
- This article is suitable for novice crawlers js Read in reverse , Preliminary contact JS reverse , Not very familiar with reverse operation , This article can be used as a reference , First step , If there's a big guy , Criticism and correction are also welcome
- This article takes Enterprise name Technology Take this website as an example , A preliminary introduction JS Reverse basic operation
Environmental preparation
- This project involves JS Debugging verification of , So there needs to be Chrome browser ,Nodejs(js Operating environment ),WebStorm(IDE)
- nodejs Download and install it directly from the official website , After installation, enter node --version, If the version number appears, the installation is successful .
- WebStorm Activation is required after installation , There are many Baidu activation tutorials , Search by yourself , if necessary , You can also comment or send me a private letter to get the tutorial .
The analysis process
First , Go to the website https://www.qimingpian.cn/finosda/project/pinvestment:
View the source code :
It's all js A file called , Data cannot be obtained directly through source code . Open developer tools , Carry out the bag , choice Fetch/XHR And documentation , To view the requests sent by the website :
You can see that there is productListVip and industryFiledVip Two documents , Blind guess the first file is the tag list of the page , The second file is the company data of the page *-.-*, Click the first file and find that there is data encrypt_data, But it's encrypted data , So you need to js Document analysis :
First , We can blindly guess that the data is the data we need , Then we can run for the purpose of decrypting the data js debugging ,
First , since js There is a code that encrypts the data in the file , Then there must be code to decrypt the data , Because at last, it will be displayed again html Come on , If not decrypted , How to display it ?
therefore , We can... Again source Find the... Used by the page in the panel js Code file :
Choose what we need to debug js file , Check the source code of the previous page , We can choose first app.c68… This js File debugging , On the right side of the source code page “XHR/ Extract breakpoints ”, Its function is to request data on the page , Stop it . If the code is stacked on one line , You can click {} Format symbols .
We set up XHR The breakpoint :
When the request data URL contains industryFiledVip Time is truncated , Refresh the page , You can find that debugging has started :
We can keep going , If you find suspicious code , You can place the mouse over the variable to view the value of the variable :
You can also output the value of this variable directly on the console :
here , We debugged , You can locate suspicious data in the statement in the following figure :
Output this parameter , View the data :
You can find , This data seems to be what we need industryFiledVip In the document encrypt_data Parameters , At this point, our goal is very clear , Is to find the function that decrypts this parameter .
At this time, function call execution , Check the function called in this statement :
At this time, we can see that there is a s(e) function , There are pairs json Code for parsing , At this time, we output this on the console s(e) The result of function execution :
here , We can see it clearly , The return value of this function is the data we want , That is, the result of decrypting the previously encrypted data , So this function is internal o() The function must be used to decrypt encrypted data , And only one of the parameters is the result of function execution , The rest are written dead .
Now we turn it on WebStorm, Create a new one js file , Copy all the functions involved to js In file :
The final will be entry_data Bring it into the function to perform the operation , You can get the data you want , You can proceed to the next step :
thus , This time, it is relatively simple js Reverse is the end , Welcome to criticize and correct .(*.*)
边栏推荐
- STM32 and motor development (from stand-alone version to Networking)
- Communication mode between processes
- Unity shader (basic concept)
- In fact, it's very simple. It teaches you to easily realize the cool data visualization big screen
- scrapy爬虫mysql,Django等
- Unity shader (learn more about vertex fragment shaders)
- H5 web player easyplayer How does JS realize live video real-time recording?
- CMD startup software passes in parameters with spaces
- Redis common commands
- Where is the answer? action config/Interceptor/class/servlet
猜你喜欢
Over 100000 words_ Ultra detailed SSM integration practice_ Manually implement permission management
H5 web player easyplayer How does JS realize live video real-time recording?
Lesson 1: finding the minimum of a matrix
Netease Cloud Wechat applet
其实特简单,教你轻松实现酷炫的数据可视化大屏
Colorbar of using vertexehelper to customize controls (II)
flex弹性布局
Huawei hcip datacom core_ 03day
Huawei HCIP - datacom - Core 03 jours
Integer or int? How to select data types for entity classes in ORM
随机推荐
答案在哪里?action config/Interceptor/class/servlet
VSCode+mingw64+cmake
Variable parameter of variable length function
进程间的通信方式
Lesson 1: hardness of eggs
Unity3d interface is embedded in WPF interface (mouse and keyboard can respond normally)
Some pit avoidance guidelines for using Huawei ECS
shake数据库中怎么使用Mongo-shake实现MongoDB的双向同步啊?
MySql数据库-索引-学习笔记
Jenkins+ant+jmeter use
Final keyword
How to use clipboard JS library implements copy and cut function
Pycharm create a new file and add author information
【云原生】DevOps(一):DevOps介绍及Code工具使用
H5 web player easyplayer How does JS realize live video real-time recording?
信息安全实验三 :PGP邮件加密软件的使用
浏览器中如何让视频倍速播放
iNFTnews | 时尚品牌将以什么方式进入元宇宙?
Windows starts redis service
[4G/5G/6G专题基础-146]: 6G总体愿景与潜在关键技术白皮书解读-1-总体愿景