当前位置:网站首页>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 .(*.*)
边栏推荐
- 12、 Sort
- LeetCode每日一题(2316. Count Unreachable Pairs of Nodes in an Undirected Graph)
- 浏览器中如何让视频倍速播放
- 数据库多表关联查询问题
- Impression notes finally support the default markdown preview mode
- Data association between two interfaces of postman
- Difference between interface iterator and iteratable
- What is MD5
- Binary tree high frequency question type
- How does mongodb realize the creation and deletion of databases, the creation of deletion tables, and the addition, deletion, modification and query of data
猜你喜欢
Postman data driven
Using JWT to realize login function
What is MD5
[4G/5G/6G专题基础-147]: 6G总体愿景与潜在关键技术白皮书解读-2-6G发展的宏观驱动力
第一讲:寻找矩阵的极小值
二叉树高频题型
Information Security Experiment 2: using x-scanner scanning tool
Unity uses mesh to realize real-time point cloud (I)
Pycharm importing third-party libraries
esp8266使用TF卡并读写数据(基于arduino)
随机推荐
Unity shader (data type in cghlsl)
MongoDB怎么实现创建删除数据库、创建删除表、数据增删改查
Information Security Experiment 2: using x-scanner scanning tool
How to use clipboard JS library implements copy and cut function
[bw16 application] Anxin can realize mqtt communication with bw16 module / development board at instruction
CMD startup software passes in parameters with spaces
印象笔记终于支持默认markdown预览模式
nlohmann json
Unity shader (to achieve a simple material effect with adjustable color attributes only)
华为HCIP-DATACOM-Core_03day
asp. How to call vb DLL function in net project
如何成为一名高级数字 IC 设计工程师(1-6)Verilog 编码语法篇:经典数字 IC 设计
Jemter operation
VSCode+mingw64+cmake
sqlplus乱码问题,求解答
# Arthas 简单使用说明
How to speed up video playback in browser
Colorbar of using vertexehelper to customize controls (II)
IIS redirection redirection appears eurl axd
liunx命令