主题
其他模块总览 - Overview
本分类做什么
插件生命周期与杂项:创建/销毁 OLA 对象、检查授权状态、插件信息、字符串/内存释放、命令行执行、结果数量解析、模块隐藏等。接口 语义分散,按 对象 → 内存 → 执行 → 隐藏 阅读更清晰。注册插件功能见 授权管理 - Reg。
一、对象与授权检查
| 接口 | 差异 |
|---|---|
| CheckReg | 检查当前实例是否 已授权(1/0)。注册本身见 Reg / Login。 |
| 创建OLA对象、创建OLA-COM对象 | DLL 与 COM 两种创建方式;COM 无 instance 参数(见 COM 文档)。 |
| DestroyCOLAPlugInterFace(若侧栏名称不同以侧栏为准) | 释放 对象。 |
选型:C++ DLL → CreateCOLAPlugInterFace;脚本 COM → COM 创建页。
二、信息与版本
| 接口 | 用途 |
|---|---|
| GetPlugInfo | 插件 元信息(版本、路径等,见返回值)。 |
| IsElevated | 检测当前进程是否 UAC 管理员提升(Hook/绑定等能力前置检查)。 |
三、字符串与内存辅助
| 接口 | 差异 |
|---|---|
| FreeStringPtr | 释放插件返回的 字符串指针(与大量 long 返回 JSON 的接口配对)。 |
| FreeMemoryPtr | 释放 二进制缓冲 指针。 |
| GetStringSize | 取 长度 再拷贝。 |
| GetStringFromPtr | 从 任意地址 读字符串(需合法可读)。 |
差异:FreeStringPtr vs FreeMemoryPtr = 文本 vs 字节流;误用可 双重释放。
四、执行与解析
| 接口 | 说明 |
|---|---|
| ExecuteCmd | 执行 cmd 命令行。 |
| GetResultCount | 解析 多结果 API 的条数(与找色/找图返回配合)。 |
五、模块可见性(高风险)
| 接口 | 差异 |
|---|---|
| HideModule | 隐藏 本进程加载的某模块。 |
| HideModuleEx | 隐藏 目标窗口进程模块; |
| UnhideModule | 恢复 本进程模块可见。 |
| UnhideModuleEx | 恢复 HideModuleEx 隐藏的远程模块 |
差异:HideModule / UnhideModule = 本进程;HideModuleEx / UnhideModuleEx = 其他进程
注意:文档已提示 未知风险;仅 合法逆向/调试 场景评估使用。
六、与其它分类边界
| 模块 | 关系 |
|---|---|
| 系统 | CreateRemoteThread 等 更重 的进程操作在「系统」。 |
| 设置 | 全局配置 不在「其他」。 |
| 授权管理 | 插件注册 Reg、登录 Login 在「授权管理」。 |
七、快速选型
| 需求 | 建议 |
|---|---|
| 任意 API 返回 char* | GetStringFromPtr → FreeStringPtr |
| 批量结果条数 | GetResultCount |
| Hook/绑定前检查管理员 | IsElevated |
| 业务前检查是否已授权 | CheckReg;注册见 Reg |
