Remote JavaScript Deobfuscation via Dedicated Server

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems burden frontend servers with the load of deobfuscating JavaScript error reports, making it difficult to correlate errors and requiring significant resources, especially when multiple clients share the same JavaScript server.

Innovation Solution

Implement a remote deobfuscation process where JavaScript error reports from browsers are sent to a frontend server, which then requests deobfuscation from a dedicated JavaScript server over a network, allowing the frontend server to focus on logging and error handling without the deobfuscation load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If deobfuscation is performed at the frontend server, then error reports can be processed locally, but the frontend server becomes burdened with deobfuscation load

Engineering Contradiction:
Improveerror report processing capabilityVSAvoidfrontend server performance
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The deobfuscation function is extracted from the frontend server and relocated to a dedicated JavaScript server. The frontend server sends deobfuscation requests to the JavaScript server, which performs the actual deobfuscation and returns results. This extraction removes the processing burden from the frontend server while maintaining error report processing capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

A dedicated JavaScript server acts as an intermediary between the frontend server and the deobfuscation process. The JavaScript server receives deobfuscation requests, performs the deobfuscation using its specialized capabilities and cached obfuscation mappings, and returns the deobfuscated results to the frontend server. This intermediary approach optimizes the overall system performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If error reports are sent directly to the JavaScript server from the browser, then deobfuscation can be performed remotely, but it becomes difficult to correlate errors across multiple clients

Engineering Contradiction:
Improvedeobfuscation processing efficiencyVSAvoiderror correlation capability
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The frontend server serves as an intermediary that receives error reports from browsers, preserves client-specific context information, and forwards requests to the JavaScript server. This intermediary role ensures that client correlation information is maintained while still enabling remote deobfuscation processing at the JavaScript server.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The error reporting system is segmented into distinct functional components: the browser generates error reports with client context, the frontend server preserves and manages client correlation information, and the JavaScript server performs specialized deobfuscation. This segmentation allows each component to perform its specific function optimally while maintaining overall system coherence.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If obfuscated JavaScript is used to reduce code size, then transmission efficiency improves, but error reports contain obfuscated symbols that are difficult to read

Engineering Contradiction:
ImproveJavaScript code sizeVSAvoiderror report readability
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The system maintains copies of the original unobfuscated JavaScript source code and obfuscation mappings at the JavaScript server. When deobfuscation is needed, the server uses these cached copies to translate obfuscated symbols in error reports back to their original readable forms, enabling efficient code size reduction without sacrificing error report readability.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8949660B1Remote deobfuscation of compressed code
Publication Date: 2015.02.03 GOOGLE LLC
  • US8949660B1 patent drawing
  • US8949660B1 patent drawing
  • US8949660B1 patent drawing

AI summary

Systems and methods for remotely deobfuscating JavaScript are provided. In some aspects, a method includes sending obfuscated code from a server to a browser, receiving a deobfuscation request at the server over a network, and deobfuscating an error in the deobfuscation request at the server.