JiExperience GT4 slider verification protocol full-link reverse demonstration
After Jiexian iterated from the third generation verification code to the fourth generation, the complexity of the core encryption logic has made a qualitative leap - especially in environmental fingerprint collection, behavioral trajectory fitting and other aspects. However, for the official public demonstration site, or when key generation functions can be stably extracted through browser Hooks, a lightweight and reproducible full-process automation solution can still be built.
This article will target the official GT4 login Demo and show how to use Python + Node.js to build a minimalist implementation and complete the verification process.
1. Dismantling of the overall verification process
The GT4 simplified version of the public verification logic can be split into 4 core steps:
-
Generate UUID format
challengeLogo This is the starting point of the verification pipeline, and each verification requires a globally unique identifier. -
Call
/loadInterface pull verification configuration getlot_number、payload、process_tokenand static resource pathsstatic_pathand other key fields. -
Core reverse engineering: generate encryption parameters
w
Call the JS function extracted from the browser Hook or after filling the environment, and calculatewparameter. This step is the hardest part of the entire process. -
Call
/verifyThe interface is verified by Jiexin server Carrying the generated in the previous stepwand other metadata request verification interfaces, and finally obtain business-usableseccode。 -
Carry
seccodeComplete business Demo login useseccodeinpass_token、gen_time、captcha_outputWait for parameters, send a request to the backend business interface, and complete the login.
Let’s look directly at the code implementation.
2. Lightweight implementation code
Prerequisites
NOTE:
PyExecJSRequires Node.js to be installed locally andnodeThe command is added to the environment variables. When executed, Node is called through the child process to run JavaScript code.
Python main logic (main.py)
3. Key things to note
1. Aboutdemo.jsacquisition
This article only provides the calling framework on the Python side, the coredemo.jsNot included**. You need to prepare yourself by:
-
Browser Hook: Set breakpoints on XHR/Fetch or critical JS files in Chrome DevTools to find the handler
/loadThe interface responds and generateswfunction and then export it. Common target functions usually call something like__gct$or$_XConfusing names. -
Automated browser patching environment: Use Puppeteer or Playwright to load the page and directly call the complete logic within the page. However, this method introduces complete browser dependencies, which is contrary to the "lightweight" goal of this article, so it will not be expanded upon.
Either way, you end up withdemo.jsBoth need to expose two functions:
function uuid()– Generate challenge;
function getW(lot_number, captcha_id, time, static_path, payload, process_token)– Generate encryption parametersw。
2. About ISO time with time zone
GT4'sgetWThe function is very sensitive to the time format and must be used with +08:00(East 8th District) ISO 8601 format of time zone stamp, e.g.2025-08-01T12:00:00+08:00. If the time zone information is incorrect or missing, the Jiexin server will directly reject the verification request.
In the code we passdatetime.now(timezone(timedelta(hours=8)))to accurately generate timestamps with time zones.
3. About the use of cookies
Cookies provided here are not required, but carry withUser-AgentMatching temporary cookies can reduce the extra detection of the environment by the Jiexin server, thereby improving the probability of passing verification and the response speed. In a production environment, these cookies typically need to be extracted from real browser browsing sessions.
4. About JSONP callback processing
Extremely experimental/loadand/verifyThe interface returns JSONP format by default (such asgeetest_123456({...})), the outer function call is directly removed by string interception in the code, and then handed over tojson.loadsparse. If you want to be more robust, you can also consider using regular extraction, but string slicing is sufficient in Demo scenarios.
4. Summary
This article gives a set of full-link lightweight automation solution for the Jiexian GT4 official demonstration station. The difficulty of the entire link is concentrated indemo.jsThe extraction and complement environment works, while the Python side just concatenates requests and assembles parameters in order.
For real online business, GT4 usually superimposes complex behavioral trajectory fitting algorithms, strong environmental fingerprint verification, and back-end risk analysis. The simplified solution in this article cannot be directly reused. At that time, it will be necessary to combine the trajectory generation algorithm and more in-depth browser environment simulation to achieve stable pass.
I hope this demonstration can help you clarify the complete interaction logic of GT4 verification and pave the way for more in-depth reverse work.

