反键盘记录器无HOOK、无API

易语言 2020-07-16 14:54:02

反键盘记录器无HOOK、无API

.子程序 编辑框_内容保护, 逻辑型, , 反密码查看器、反键盘记录器。返回是否成功 失败是因为上一个还没有处理好
.参数 欲保护编辑框, 编辑框
.参数 屏蔽符号, 文本型, 可空, 默认为"*"
.参数 存放原文本的变量, 文本型
.参数 垃圾编辑框, 编辑框, 可空, 反键盘记录器功能输入的垃圾内容,不填则为取消
.局部变量 Text, 文本型
.局部变量 Num, 整数型
.局部变量 Size_1, 整数型
.局部变量 Size_2, 整数型
.局部变量 Size_3, 整数型
.局部变量 NewInput, 文本型
.局部变量 posi, 整数型
.局部变量 Open_, 逻辑型
.局部变量 Seed, 整数型
.局部变量 i, 整数型

.如果真 (限制 = 真)
返回 (假)
.如果真结束
限制 = 真
.如果真 (是否为空 (屏蔽符号) = 真)
屏蔽符号 = “*”
.如果真结束
.如果真 (是否为空 (垃圾编辑框) = 假)
Open_ = 真
.如果真结束
Size_1 = 取文本长度 (存放原文本的变量)
Size_2 = 取文本长度 (欲保护编辑框.内容)
Size_3 = Size_2 - Size_1
Num = 欲保护编辑框.起始选择位置
Text = 欲保护编辑框.内容
.如果真 (Open_ = 真)
垃圾编辑框.获取焦点 ()
.计次循环首 (汇编_取随机数 (4, 6), i) ' 随机字符数,想调多大就调多大
.判断开始 (汇编_取随机数 (0, 3) ≤ 2)
模拟按键 (汇编_取随机数 (#A键, #Z键), , )
.默认
模拟按键 (汇编_取随机数 (#键1, #键9), , )
.判断结束
.如果真 (汇编_取随机数 (0, 2) = 2)
模拟按键 (32, , )
.如果真结束
延迟 (5)
.计次循环尾 ()
.如果真结束
欲保护编辑框.获取焦点 ()
.判断开始 (Size_1 < Size_2) ' 输入
NewInput = 取文本中间 (Text, Num - Size_3 + 1, Size_3)
存放原文本的变量 = 文本替换 (存放原文本的变量, Num - Size_3 + 1, 0, NewInput)
posi = Num
.判断 (Size_1 > Size_2) ' 退格
存放原文本的变量 = 文本替换 (存放原文本的变量, Num + 1, Size_1 - Size_2, “”)
posi = Num
.默认

.判断结束
欲保护编辑框.内容 = 取重复文本 (取文本长度 (存放原文本的变量), 屏蔽符号)
欲保护编辑框.起始选择位置 = posi