iOS Application Network Proxy via Dynamic Library Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for implementing network proxy services on mobile intelligent terminals, such as the CNAME, APN, and code control methods, are limited by protocol restrictions, delayed effectiveness, security concerns, and require significant code modifications, making them inefficient and incompatible with operating systems like iOS.

Innovation Solution

A method that configures proxy settings for individual applications by replacing native HTTP and Socket functions in the iOS operating system's dynamic library with updated functions, allowing for immediate and protocol-agnostic proxy service usage, ensuring only required traffic is forwarded to the proxy server without impacting other applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If CNAME method is used to implement network proxy service, then domain names can be mapped to proxy server address, but it is limited to only HTTP/HTTPS protocol and has delay time after configuration

Engineering Contradiction:
Improveprotocol compatibilityVSAvoidconfiguration delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the proxy configuration by application rather than using global DNS-level CNAME mapping. Each application's network traffic is routed independently through its own proxy configuration, allowing immediate effect without DNS propagation delays and enabling protocol-specific proxy settings.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary component (the proxy function embedded in the application) that mediates between the application and the network. This intermediary handles protocol translation and proxy routing at the application level, eliminating the need for DNS-based CNAME mapping and its associated delays and protocol limitations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If APN method is used to implement network proxy service, then traffic can be guided through proxy server, but all applications with APN must be configured with proxy server which may reduce security

Engineering Contradiction:
Improvetraffic routingVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies local quality by configuring proxy settings locally for each application that requires them, rather than globally for all applications. The system identifies specific applications needing proxy services and configures only those, maintaining security by leaving other applications with direct network access.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the configuration parameter from global APN-level proxy settings to application-level proxy parameters. This allows selective enabling of proxy services based on individual application requirements, improving both security and operational flexibility.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If code control method is used to implement network proxy service, then proxy settings can be configured for each network request, but it requires significant modifications to application code and low code reuse

Engineering Contradiction:
Improveproxy configuration flexibilityVSAvoidcode modification requirement
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates a universal proxy configuration mechanism that can be applied to multiple applications without modifying their source code. The proxy function is implemented as a separate, reusable component that interfaces with the application's existing network stack, providing flexible proxy configuration while maintaining code reuse.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent enables the application to self-configure proxy settings through a standardized interface without requiring code modifications. The application automatically discovers and applies proxy configuration through the embedded function, eliminating the need for developers to manually modify code for each application.

Inventive Principle:
Principle #25Self-service

4Reliability

If proxy service is implemented on mobile intelligent terminal, then privacy and security can be protected, but current methods are incompatible with operating systems like iOS

Engineering Contradiction:
Improvesecurity protectionVSAvoidoperating system compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic proxy configuration that adapts to the operating system's architecture. The system detects the OS type and dynamically adjusts the proxy implementation method, using embedded dynamic library functions for iOS and other appropriate methods for other systems, ensuring both security and compatibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the implementation parameters based on the target operating system. For iOS, it uses the dynamic library injection method to modify network functions; for other systems, it uses different configuration approaches. This parameter adaptation enables cross-platform compatibility while maintaining security functionality.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3197122B1Method of forwarding in-application traffic on smart mobile terminal
Publication Date: 2019.06.05 CHINANETCENT TECH
  • EP3197122B1 patent drawingFigure 1
  • EP3197122B1 patent drawingFigure 2
  • EP3197122B1 patent drawingFigure 3

AI summary

The present disclosure provides a method for forwarding traffic in an application installed on a mobile intelligent terminal. The method may be suitable in iOS operating system. The method may include the following steps: 1) when an application in the iOS operating system is starting, determining whether a proxy service is required based on a configuration of the application, and when the proxy service is required, the application executing a network proxy managing operation: replacing a native HTTP proxy function in a dynamic library of the iOS operating system with an updated HTTP proxy function, the updated HTTP function including information of a proxy server; and replacing a native Socket connect-create function in the dynamic library of the iOS operating system with an updated Socket connect-create function, a connection target of the updated Socket connect-create function being the proxy server.