IP Library Granted Patent US 12,468,512
Granted Patent B2
US 12,468,512 · App. 18/267,116 · Granted Nov 11, 2025

Software platform-specific function disassembling and calling method for third-party program library and calling system

Inventors: Chu Liu (Shanghai, CN); Yueyin Xie (Shanghai, CN); Mang Mo (Shanghai, CN)
Assignee: SHANGHAI TOSUN TECHNOLOGY LTD.
G06F8/36G06F8/41
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,468,512
App. No.
18/267,116
Granted
Nov 11, 2025
Kind
B2
Abstract

A software platform-specific function disassembling and calling method for a third-party program library includes constructing a third-party program library, verifying legitimacy of the third-party program library, and calling the third-party program library. This realizes an automatic import solution for a function disassembling and a calling system of the third-party program library. For both a newly-added third-party program library and an existing third-party program library to which a function change is made, a software platform can automatically identify a function interface by only loading the third-party program library and without requiring a user to manually update a calling program. This method can ensure architectural stability of the software platform and avoid stability degradation caused by repeated modifications to the software platform.

Claims (44)

1 . A software platform-specific function disassembling and calling method for a third-party program library, comprising:

constructing, by a construction module in a software platform of a server, a third-party program library;

verifying, by a verification module in the software platform, legitimacy of the third-party program library; and

calling, by a calling module in the software platform, the third-party program library;

wherein the constructing of the third-party program library comprises constructing, by the software platform, an initialization submodule, a capability obtaining submodule, internal submodules, and a release submodule in the third-party program library;

wherein the constructing of the capability obtaining submodule comprises:

loading, by the software platform, a software platform version number and a list of a user logic callback submodule to automatically generate the capability obtaining submodule, and obtaining version information of a software platform corresponding to the third-party program library, list information of the user logic callback submodule, and information of all internal submodules of the third-party program library when an external program calls the capability obtaining submodule; and

wherein the verifying of the legitimacy of the third-party program library comprises:

loading the third-party program library onto the software platform;

calling, by the software platform, the initialization submodule and the capability obtaining submodule of the third-party program library to obtain a version number of a software platform corresponding to the third-party program library, the list of the user logic callback submodule, and address information and function parameter information of all the internal submodules of the third-party program library; and

comparing, by the software platform, the obtained version number of the software platform corresponding to the third-party program library with the software platform version number; stopping calling the third-party program library if the version number of the software platform corresponding to the third-party program library is greater than the software platform version number, and continuing calling the third-party program library if the version number of the software platform corresponding to the third-party program library is not greater than the software platform version number;

wherein the release submodule is adapted to automatically release a resource requested by the third-party program library when the third-party program library is unloaded.

2 . The software platform-specific function disassembling and method for a third-party program library according to claim 1 , wherein

the constructing of the initialization submodule comprises:

generating the initialization submodule by using a software platform header file and a software platform application programming interface (API) list on the software platform, such that after the initialization submodule is called, the third-party program library obtains address information of each API in the API list provided by the software platform.

3 . A software platform for the software platform-specific function disassembling and calling method for a third-party program library according to claim 2 , comprising:

a software platform header file, a software platform API list, a software platform version number, a list of a user logic callback submodule, and a user function logic submodule.

4 . A third-party program library for the software platform-specific function disassembling and calling method for a third-party program library according to claim 2 , comprising:

an initialization submodule, a capability obtaining submodule, an internal submodule, and a release submodule.

5 . The software platform-specific function disassembling and calling method for a third-party program library according to claim 2 , wherein

the constructing of the capability obtaining submodule comprises:

loading, by the software platform, a software platform version number and a list of a user logic callback submodule to generate the capability obtaining submodule, and obtaining version information of a software platform corresponding to the third-party program library, list information of the user logic callback submodule, and information of all internal submodules of the third-party program library when an external program calls the capability obtaining submodule.

6 . A software platform for the software platform-specific function disassembling and calling method for a third-party program library according to claim 5 , comprising:

a software platform header file, a software platform API list, a software platform version number, a list of a user logic callback submodule, and a user function logic submodule.

7 . A third-party program library for the software platform-specific function disassembling and calling method for a third-party program library according to claim 5 , comprising:

an initialization submodule, a capability obtaining submodule, an internal submodule, and a release submodule.

8 . The software platform-specific function disassembling and calling method for a third-party program library according to claim 5 , wherein

the constructing of the internal submodule comprises:

generating the internal submodule based on a user function logic submodule of the software platform.

9 . A software platform for the software platform-specific function disassembling and calling method for a third-party program library according to claim 8 , comprising:

a software platform header file, a software platform API list, a software platform version number, a list of a user logic callback submodule, and a user function logic submodule.

10 . A third-party program library for the software platform-specific function disassembling and calling method for a third-party program library according to claim 8 , comprising:

an initialization submodule, a capability obtaining submodule, an internal submodule, and a release submodule.

11 . The software platform-specific calling method for function disassembling of a third-party program library according to claim 1 , wherein

the calling of the third-party program library comprises:

after the software platform continues calling the third-party program library, calling, by the software platform, the third-party program library based on the list of the user logic callback submodule and a list of the internal submodule that are obtained from the third-party program library, and releasing the requested resource by calling the release submodule in the third-party program library after the calling is completed.

12 . A software platform for the software platform-specific function disassembling and calling method for a third-party program library according to claim 11 , comprising:

a software platform header file, a software platform API list, a software platform version number, a list of a user logic callback submodule, and a user function logic submodule.

13 . A third-party program library for the software platform-specific function disassembling and calling method for a third-party program library according to claim 11 , comprising:

an initialization submodule, a capability obtaining submodule, an internal submodule, and a release submodule.

14 . A software platform for the software platform-specific function disassembling and calling method for a third-party program library according to claim 1 , comprising:

a software platform header file, a software platform API list, a software platform version number, a list of a user logic callback submodule, and a user function logic submodule.

15 . A third-party program library for the software platform-specific function disassembling and calling method for a third-party program library according to claim 1 , comprising:

an initialization submodule, a capability obtaining submodule, an internal submodule, and a release submodule.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
From: LIU, CHU; XIE, YUEYIN; MO, MANG
To: SHANGHAI TOSUN TECHNOLOGY LTD.
Reel/Frame 063942/0279 →
Priority Claims (1)
CN 202111147971.5 · Sep 29, 2021 · national
Continuity (1)
Related Publication 20230401042A1 · Dec 14, 2023
References Cited (36)
US 5634114A · Shipley · 1997 [cited by applicant]
US 8504543B1 · Andreessen · 2013 [cited by examiner]
US 8601433B2 · Son · 2013 [cited by examiner]
US 9065915B1 · Lillard · 2015 [cited by examiner]
US 9258668B2 · Mall · 2016 [cited by examiner]
US 9484065B2 · McDowell · 2016 [cited by examiner]
US 10114637B1 · Willson · 2018 [cited by examiner]
US 10564950B1 · Liu · 2020 [cited by examiner]
US 10649741B2 · Duggal · 2020 [cited by examiner]
US 10867035B1 · Chauhan · 2020 [cited by examiner]
US 11500618B2 · Rodgers · 2022 [cited by examiner]
US 11711554B2 · Neumeier · 2023 [cited by examiner]
US 20100229163A1 · Rolland et al. · 2010 [cited by applicant]
US 20150339140A1 · Murray et al. · 2015 [cited by applicant]
US 20180217851A1 · Sirajuddin · 2018 [cited by applicant]
US 20200293631A1 · Polisetty · 2020 [cited by examiner]
US 20210026710A1 · Gómez et al. · 2021 [cited by applicant]
US 20210073374A1 · Mookken et al. · 2021 [cited by applicant]
US 20210263779A1 · Haghighat · 2021 [cited by examiner]
CN 101165648A · 2008 [cited by applicant]
CN 102831343A · 2012 [cited by applicant]
CN 104598247A · 2015 [cited by applicant]
CN 106648563A · 2017 [cited by applicant]
CN 107766164A · 2018 [cited by applicant]
CN 111506357A · 2020 [cited by applicant]
CN 112363726A · 2021 [cited by applicant]
CN 112764797A · 2021 [cited by applicant]
CN 113448655A · 2021 [cited by applicant]
CN 113867719A · 2021 [cited by applicant]
JP 2001022560A · 2001 [cited by applicant]
JP 2018538583A · 2018 [cited by applicant]
Reif et al, “Call Graph Construction for Java Libraries”, ACM, pp. 1-13 (Year: 2016). [cited by examiner]
Knight, “Building Software With Scons”, IEEE, pp. 1-10 (Year: 2005). [cited by examiner]
Ntousakis et al, “Demo: Detecting Third-Party Library Problems with Combined Program Analysis”, ACM, pp. 1-3 (Year: 2021). [cited by examiner]
Backes et al, “Reliable Third-Party Library Detection in Android and its Security Applications”, ACM, pp. 1-12 (Year: 2016). [cited by examiner]
Rajabli et al, “Software Verification and Validation of Safe Autonomous Cars: A Systematic Literature Review”, IEEE, pp. 1-23 (Year: 2023). [cited by examiner]