Windows 右键菜单没有 “新建文本文档”

通常是注册表损坏导致的,执行下面的注册表脚本即可修复:

命名为 xxx.reg 双击运行。

1Windows Registry Editor Version 5.00
2
3[HKEY_CLASSES_ROOT\.txt]
查看全文

Clash Mixin 规则配置

很多代理商的原生配置对墙内墙外的识别都不太好,可以通过 Mixin 配置进行增强。

以 Clash For Windows 为例:

  1. 首先在 General 界面打开 Mixin 功能
  2. 然后点击 Mixin 后面的设置图标按钮,打开 Mixin 的配置文件
  3. 参考 clash-rules 仓库。写入如下配置:
查看全文

通过函数创建 Worker

参考:PDF 转图片

1function createWorker(fn) {
2    const blob = new Blob(
3        [`(${fn.toString()})()`],
4        { type: 'application/javascript' }
5    );
查看全文

Linux 的 exec 函数之间的区别

Linux 的 exec 函数族中函数的原型如下:

1int execl(const char *pathname, const char *arg, ...);
2int execlp(const char *file, const char *arg, ...);
3int execle(const char *pathname, const char *arg, ...);
4
5int execv(const char *pathname, char *const argv[]);
查看全文

NPM 将所有依赖包版本升级到最新

  1. 安装 npm-check-updates

    1$ npm install -g npm-check-updates
  2. 查看哪些包可以升级

查看全文

Windows API 模拟键鼠操作

移动鼠标位置

使用 SetCursorPos 可以移动鼠标位置:

1SetCursorPos(x, y);
查看全文

Windows API 读取屏幕图像(截图)

获取屏幕尺寸

1GetSystemMetrics(SM_CXSCREEN);  // 获取主显示器的逻辑宽度
2GetSystemMetrics(SM_CYSCREEN);  // 获取主显示器的逻辑高度

查看全文

Caller Saved Register & Callee Saved Register

在使用汇编编程时,调用间需要保存与恢复寄存器,这些寄存器可以由调用者保存恢复(Caller Saved Register)也可以由被调用者保存恢复(Callee Saved Register)。

由于调用者不知道哪些寄存器会被修改,因此只能将所有 Caller Saved Register 进行保存恢复,但这样做效率低下。

因此使用 Callee Saved Register 由被调用者根据需要保存和恢复会被改变的寄存器更常用。需要保存的寄存器如下:

架构被调用者保存的寄存器
查看全文

CloudFlare 反爬配置

开启 Bot fight mode

  1. 进入 安全性(Security) > 设置(Settings) 页面
  2. 开启 自动程序攻击模式(Bot fight mode)

配置安全规则

  1. 进入 安全性(Security) > 安全规则(Security rules) 页面
查看全文

Linux 的三种链接文件

  • 软链接(符号链接)
    • 可以通过 cp --symbolic-link 命令创建
    • 通过文件路径进行链接
    • 可以跨文件系统
    • 可以连接目录
  • 硬链接
    • 可以通过 cp --link 命令创建
    • 通过共有 inode 进行链接
查看全文