盘点某些不常用但是很好玩(?)的 DLL API

盘点某些不常用但是很好玩(?)的 DLL API

0x00 什么是 DLL API

DLL(Dynamic link library)是一种微软的 PE 文件格式,用于在多个程序共享公开的函数。DLL 使程序开发更加简单,开发者不必再一次开发功能或复制代码,而是直接引用 DLL 中的 API,使程序开发更加便捷。

0x01 正片开始

以下是某些好玩的 DLL API,可以使您的程序进化出各种有趣的功能。

SetWindowDisplayAffinity,位于 user32.dll 内

函数格式:

BOOL SetWindowDisplayAffinity(
    HWND hWnd,        // 填写您的应用程序的窗口句柄(必须为本程序)
    DWORD dwAffinity  // 方式
);

通过使用此函数,可以使您的软件在 录屏、屏幕截图 等屏幕采集中不可见,保护了用户的隐私或者版权内容。

调用方法:

HWND hWnd

需要反截图的窗口句柄(窗口只能是当前进程的,对其他窗口操作无效)。若想要反截图其他程序的窗口,请使用远程执行代码或代码注入。

在任务栏的预览中,也会反截屏。

DWORD dwAffinity

反截图的类型。

0:取消窗口的反截屏

1:在系统截屏时将窗口内容全部隐藏(变成黑色)

0x00000011(十六进制)/ 17 (十进制):在系统截屏是完全隐藏窗口

NtRaiseHardError,位于 ntdll.dll 内(愚人节必备,哈哈哈)

函数格式:

NTSTATUS HpNtRaiseHardError(
    NTSTATUS ErrorStatus,             // 错误代码(例如,0xEF)
    ULONG NumberOfParameters,         // 参数常量(填 0 就行)
    ULONG UnicodeStringParameterMask, // Unicode 字符串掩码(填 0 就行)
    PULONG_PTR Parameters,            // 参数数组
    ULONG ValidResponseOptions,       // 操作
    PULONG Response                   // 响应(可忽略)
);

调用此函数,如果“操作”参数填写了 6 或者 0x00000003,将会马上触发蓝屏。请保存好您的工作。

调用方法:

NTSTATUS ErrorStatus

错误代码,可以填写 0xEF(关键进程终止),或者其他参数(自行查找)。

比土方法(杀死 wininit 好多了,这个不用管理员也能实现蓝屏。)

BlockInput,位于 user32.dll 内(愚人节必备 × 2)

函数格式:

BOOL BlockInput(
    BOOL fBlockIt
);

通过调用此函数,可以锁定或解除锁定鼠标和键盘。

调用方法

BOOL fBlockIt

是否阻止输入。TRUE 则阻止鼠标和键盘输入,FALSE 则解除。

DrawIcon,位于 user32.dll 内(这个应该也属于愚人节必备把)

函数格式:

BOOL DrawIcon(
    HDC hDC,
    int X,
    int Y,
    HICON hIcon
);

通过调用此函数,可以绘制图标。

调用方法

HDC hDC

设备句柄。可以使用 HDC hdc = GetWindowDC(GetDesktopWindow()) 来获取。

int X, int Y

要绘制的位置坐标。

HICON hIcon

图标句柄。可使用 LoadIcon(NULL, lpIconName) 获取。

lpIconName 可以是 IDI_WARNING(警告图标),IDI_ERROR(错误图标)等。

示例代码:跟着鼠标移动位置画图标

POINT cursor;
while (TRUE)
{
    GetCursorPos(&cursor); // 获取鼠标坐标
    DrawIcon(GetWindowDC(GetDesktopWindow()), cursor.x * 1.75, cursor.y * 1.75, LoadIcon(NULL, IDI_WARNING)); // 加载并绘制图标
    Sleep(10); // 防止 CPU 过高
}

该代码将会跟随鼠标画警告图标。

效果如图:

感谢您的阅读

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇