Hidden method, device and equipment for derived symbols of dynamic library and storage medium
A technology for exporting symbols and dynamic libraries, applied in the field of dynamic libraries, can solve the problems of cumbersome steps and inconvenient implementation of the hidden method of exporting symbols, and achieve the effect of convenient implementation and simple steps.
- Summary
- Abstract
- Description
- Claims
- Application Information
AI Technical Summary
Problems solved by technology
Method used
Image
Examples
Embodiment 1
[0046] There are two exported C functions, as follows:
[0047] EXPORT int encryptText(const char*text,char*output);
[0048] EXPORT int decryptCipher(const char*cipher,char*output);
[0049] The usual practice is to mark each exported function with EXPORT, which corresponds to different descriptors in different compilers. After adding EXPORT, the function appears in the export symbol table, which is an interface exposed to the outside world. Microsoft's msvc compiler EXPORT corresponds to __declspec(dllexport)
[0050] After the dynamic library is generated, use dumpobj.exe / EXPORT in the msvc toolkit to view the exported symbols:
[0051] 000010C3? decryptCipher@@YAHPEBDPEAD@Z=@ILT+190(?decryptCipher@@YAHPEBDPEAD@Z)
[0052] 00001127? encryptText@@YAHPEBDPEAD@Z=@ILT+290(?encryptText@@YAHPEBDPEAD@Z)
[0053] ? decryptCipher@@YAHPEBDPEAD@Z, ? encryptText@@YAHPEBDPEAD@Z is the export symbol, use the UnDecorateSymbolName function of sdk to parse it once, and get the func...
Embodiment 2
[0074] Example 2: For higher modularity, an export class scheme is provided. The export class actually exports every function of the class. The usual practice is:
[0075]
[0076] This application plan:
[0077] 1. Only define one ExportEntry
[0078]
[0079] 2. Define a class ExportEntry that inherits IExportEntry and implement virtual methods
[0080] 3. Define a method to get this IExportEntry and mark it as an export function
[0081] IExportEntry*EXPORT getExportEntry();
Embodiment 3
[0083] Multiple exported interface classes:
[0084]
[0085] Solution of the present application: Under this embodiment, the advantage is that there is no manual mapping of strings to classes, and there is no mandatory type conversion to the created type when using;
[0086] 1. Define the class:
[0087]
[0088] 2. Define a unique export symbol
[0089]
[0090] see figure 2 , the second aspect of the present invention provides a hidden device for exporting symbols in a dynamic library, and the hiding device for exporting symbols in a dynamic library includes:
[0091] The first building module 10 is used to build a C++ class containing a virtual function;
[0092] The entry definition module 20 is used to use the virtual function table of the C++ class as the entry of the dynamic library export symbol;
[0093] The calling definition module 30 is used to place each function or function code to be exported into each function imaginary number of the C++ class fo...
PUM
Login to View More Abstract
Description
Claims
Application Information
Login to View More - R&D
- Intellectual Property
- Life Sciences
- Materials
- Tech Scout
- Unparalleled Data Quality
- Higher Quality Content
- 60% Fewer Hallucinations
Browse by: Latest US Patents, China's latest patents, Technical Efficacy Thesaurus, Application Domain, Technology Topic, Popular Technical Reports.
© 2025 PatSnap. All rights reserved.Legal|Privacy policy|Modern Slavery Act Transparency Statement|Sitemap|About US| Contact US: help@patsnap.com



