工具介绍
在 Clang 上为 Windows 简化内联系统调用
inline_syscall
仅包含头文件的库,可让您以优化、可内联和易于使用的方式生成直接的系统调用指令。
常见问题解答
- Q: 这个工具的主要用途是什么? A: 遮蔽和规避钩子。
- Q: 为什么我要使用这个工具而不是其他库? A: 它生成的代码可以内联,并且尽可能针对每个参数数量进行优化。
- Q: 为什么这个工具不能在 MSVC 上运行? A: MSVC 不支持 GCC 风格的内联汇编,而这种汇编可以由编译器正确优化和处理。
- Q: 为什么这个工具不能在 GCC 上运行? A: 与 MSVC 不同, GCC 在优化内联汇编方面太过出色,因此会破坏我试图做到一定通用性的代码。
创建自己的初始化函数 此库允许您创建自己的自定义初始化例程,这些例程更能够抵御缺失的系统调用或以其他方式获取系统调用 ID。JM_INLINE_SYSCALL_ENTRY_TYPE 可以定义您自己的系统调用入口类型,该类型需要从哈希中构造。默认情况下,使用 syscall_entry_small,但也提供了 syscall_entry_full。