当前位置: 首页> 电脑> 正文

export_symbol(export_symbol怎么样)-微PE WEIPE.NET

  • 电脑管家电脑管家
  • 电脑
  • 2024-01-17 22:05:14
  • 24

export_symbol(export_symbol怎么样)-微PE WEIPE.NET

1. 什么是 export_symbol

export_symbol 是一种内核中的符号导出,它是指定一个函数、变量或者结构体在动态链接库(Dynamic-Link Libraries)中可以被使用,但在其他模块无法访问到。

2. export_symbol 的作用

export_symbol 的作用是在编写动态链接库时,可以灵活控制函数的使用范围,使其仅仅可在该动态链接库可以使用,为其他模块保护重要的内容以避免被破解。

3. export_symbol 必须锐写在so中

export_symbol代表着一个函数、变量或者结构体在动态链接库中可以被使用,这样其他模块就无法访问它了,因此,必须在so文件中精确声明export_symbol,以此表明其他的模块无法使用该函数。

(1)export_symbol

export_symbol,也就是导出符号,是指编译程序时,将指定格式的全局变量/函数/对象的符号名写入可执行文件夹中的一个特殊的块区中。用这些符号可以在其他程序中访问这些变量/函数/对象。export_symbol可以被视为将变量/函数/对象进行共享,以供其他程序使用。

export_symbol把符号导出出来,得到的信息将会被放到 elf 格式的可执行文件中,这样别的应用程序如果想使用则就可以使用了。通常在编译的时候将 -export_symbol指定的函数或变量等符号文件放到可执行文件中,当可执行文件被加载的时候,Export 部分内容就会被写到 nes namespace中,并以可导出的格式存在,这样其他 Dll 就可以找到它们。

典型的情况下,我们如果使用C/C++编程,可以定义全局变量、函数或类,就可以使用export_symbol,来把变量/函数/对象加载到exe文件中,做到全局变量/函数/对象的共享。

(2)import_symbol

import_symbol,也叫做导入符号,就是在一个EXE文件或dll文件中引用另一个dll文件中暴露出来的信息。使用该信息必须由import_symbol首先把信息载入当前的程序空间中。import_symbol也可以被视为访问共享变量/函数/对象的手段。

和 export_symbol相反,import_symbol是指在程序中使用/调用其他程序中的函数、变量或者类,在现在的操作系统中,程序与程序之前的跨越是通过 dll 实现的,这就涉及到动态链接了,而要实现动态链接,就必须使用import_symbol来实现。

典型的情况下,同样也是用C/C++编程,我们可以定义import_symbol来发出一个请求,申请从运行环境中加载其他应用程序(\"myapp.exe\")中export_symbol定义的变量/函数/对象,这样就可以较为容易的实现访问共享变量/函数/对象。

最新文章