You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AutoHotkey IRC脚本如何校验加密ident合法性后解密IP并写入剪贴板

修改后完整AutoHotkey脚本
F4::
Clipboard =
Send ^a^x
ClipWait, 0
If ErrorLevel
{
    MsgBox, 48, Error, An error occurred while waiting for the clipboard. Aborting.
    Return
}
; 提取!和@之间的ident段
pos_excl := InStr(Clipboard, "!")
pos_at := InStr(Clipboard, "@")
if (!pos_excl || !pos_at || pos_at <= pos_excl + 1)
{
    Clipboard := ""
    Return
}
ident := SubStr(Clipboard, pos_excl + 1, pos_at - pos_excl - 1)
; 剔除开头的~
if (SubStr(ident, 1, 1) = "~")
    ident := SubStr(ident, 2)
; 校验长度为8
if (StrLen(ident) != 8)
{
    Clipboard := ""
    Return
}
; 调用解码函数,解码失败则清空剪贴板
decode_res := decode(ident)
Clipboard := decode_res ? decode_res : ""
Return

decode(str) {
    Static code := " " . "
    ( LTrim Join`s
    00 0x 02 03 04 0z 06 01 08 09 0B 0b 0c 0d 0e 0H x0 xx x2 x3 x4 xz x6 x1 x8 x9 xB xb xc xd xe xH 20 2x
    22 23 24 2z 26 21 28 29 2B 2b 2c 2d 2e 2H 30 3x 32 33 34 3z 36 31 38 39 3B 3b 3c 3d 3e 3H 40 4x 42 43
    44 4z 46 41 48 49 4B 4b 4c 4d 4e 4H z0 zx z2 z3 z4 zz z6 z1 z8 z9 zB zb zc zd ze zH 60 6x 62 63 64 6z
    66 61 68 69 6B 6b 6c 6d 6e 6H 10 1x 12 13 14 1z 16 11 18 19 1B 1b 1c 1d 1e 1H 80 8x 82 83 84 8z 86 81
    88 89 8B 8b 8c 8d 8e 8H 90 9x 92 93 94 9z 96 91 98 99 9B 9b 9c 9d 9e 9H B0 Bx B2 B3 B4 Bz B6 B1 B8 B9
    BB Bb Bc Bd Be BH b0 bx b2 b3 b4 bz b6 b1 b8 b9 bB bb bc bd be bH c0 cx c2 c3 c4 cz c6 c1 c8 c9 cB cb
    cc cd ce cH d0 dx d2 d3 d4 dz d6 d1 d8 d9 dB db dc dd de dH e0 ex e2 e3 e4 ez e6 e1 e8 e9 eB eb ec ed
    ee eH H0 Hx H2 H3 H4 Hz H6 H1 H8 H9 HB Hb Hc Hd He HH
    )"
    new := ""
    ; 校验所有双字符组都存在于密钥中
    Loop, % StrLen(str) / 2
    {
        chunk := SubStr(str, 2 * A_Index - 1, 2)
        if (!InStr(code, " " chunk " "))
            return ""
        new .= "." Round((Instr(code, " " chunk, True) - 1) / 3)
    }
    return SubStr(new, 2)
}
核心修改逻辑
  • 新增!和@位置检测,无法匹配nick!ident@host格式时直接清空剪贴板
  • 自动剔除ident段开头的~字符
  • 新增ident长度校验,仅长度为8时才进入解码流程
  • 解码函数新增双字符组合法性校验,任意一组不在密钥范围内则返回空值,最终清空剪贴板
  • 只有全部校验通过,才会将解密后的IP写入剪贴板

内容的提问来源于stack exchange,提问作者Charlie Sorrow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 05:21:03