巨集EXPORT SYMBOL在核心中的作用

2021-08-04 04:05:33 字數 296 閱讀 5652

module執行在kernel space,不能直接呼叫應用程式庫,只能呼叫核心函式。

export_symbol的作用是把核心函式的符號匯出,也就是將函式的入口位址匯出。

module在執行的時候會根據kernel中的符號表(exportsymbol的名字表)去找symbol(根據核心函式loadmodule()中的_findsymbol),如果該module無法找到symbol,函式無法執行,該module也就無法載入。

如果非要執行module入口函式,可以用寫上絕對位址的函式指標來呼叫未被export_symbol的函式。

在巨集中的作用

用於將兩個字串連線起來。例如 define declare dynamic class name public static cruntimeclass class class name virtual cruntimeclass getruntimeclass const 巨集 declare d...

在C 中定義VMprotect巨集

定義虛擬機器保護的巨集 define vmprotectbegin asm emit 0xeb asm emit 0x10 asm emit 0x56 asm emit 0x4d asm emit 0x50 asm emit 0x72 asm emit 0x6f asm emit 0x74 asm ...

在enum中的巨集定義

今天在 裡看到有一點很奇怪的 定義了乙個列舉型別,但是這個列舉型別沒有變數名,而且在其中包含了巨集定義,巨集定義也是自己定義自己 enum 然後搜到了以下的解釋 enum 以前的版本中 pthread cancel enable 和 pthread cancel disable 都是定義為以下巨集的...