跳到正文
本頁目錄

Signature API

作用

Signature API 在已加載模塊中解析符號或字節特徵。

頭文件

C++
#include <pl/memory/Signature.hpp>

函數

C++
uintptr_t resolveSignature(std::string_view signature,
                           std::string_view moduleName);

std::unordered_map<std::string, uintptr_t>
resolveSignatures(std::span<const std::string> signatures,
                  std::string_view moduleName);

無法解析時返回 0。

Pattern 格式

Text Only
48 8B ?? ?? 89
488B????89

通配符:

Pattern含義
?整字節通配
??整字節通配
A?低半字節通配
?F高半字節通配

示例

C++
#include <pl/memory/Signature.hpp>

uintptr_t update = pl::memory::resolveSignature(
    "Game_update", "libminecraftpe.so");

if (update == 0) {
  update = pl::memory::resolveSignature(
      "48 8B ?? ?? 89", "libminecraftpe.so");
}

同一模塊解析多個特徵時優先使用 resolveSignatures()。