為了克服這一挑戰,本論文提出了一套跨語言支持的後端解決方案。此方案透過前後端分離的架構設計和利用 WebSocket 協定實現前後端間的高效通訊。目前已支援 TypeScript,未來計畫支援 JavaScript、Python 等廣泛使用的程式語言。這一解決方案不僅提升了開發效率,也顯著擴大了「Parasite SDK」的應用範圍,使其在多語言開發環境中顯示出更大的靈活性和強大的功能。;In the current software development landscape, there is an increasing demand for enhancing the functionality of existing applications. Traditional extension methods, such as Application Programming Interfaces (APIs), extensions, and plugins, are effective in certain scenarios but are often limited by the technical support of the original developers. This limitation is particularly acute for non-open-source software or teams with limited resources.
To address this issue, we introduce ``Parasite Programming′′ and develop the ``Parasite SDK.′′ This SDK employs an innovative approach that does not require modifying the original code or relying on traditional expansion methods. Instead, it overlays transparent windows on the target application′s Graphical User Interface (GUI), enabling real-time tracking and utilization of UI information for feature extension. However, this technique has encountered challenges in language interoperability during its development, primarily due to its reliance on Microsoft UI Automation (UIA) technology, which predominantly supports C/C++ and C# languages.
To address this challenge, this thesis proposes a backend solution supporting multiple languages. This solution utilizes a decoupled front-end and back-end architectural design and employs the WebSocket protocol for efficient communication between them. It currently supports TypeScript, with plans to extend support to widely-used programming languages such as JavaScript and Python in the future. This solution not only enhances development efficiency but also significantly broadens the application scope of the ``Parasite SDK,′′ demonstrating greater flexibility and powerful capabilities in a multilingual development environment.