易语言隐藏自身支持库

易语言 2020-08-29 11:18:48

易语言隐藏自身支持库

.子程序 特殊_隐藏支持库, , 公开
.局部变量 stInfo, 整数型, , "6", PROCESS_BASIC_INFORMATION
.局部变量 dwRetnLen, 整数型
.局部变量 pPeb, 整数型
.局部变量 Unicode, 整数型
.局部变量 Len, 短整数型
.局部变量 Ansi, 文本型

NtQueryInformationProcess (GetCurrentProcess (), 0, stInfo, 24, dwRetnLen)
pPeb = 字节集_到整数 (指针到字节集 (stInfo [2] + 12, 4))
pPeb = 字节集_到整数 (指针到字节集 (pPeb + 12, 4))
.循环判断首 ()
Len = 字节集_到短整数 (指针到字节集 (pPeb + 36, 2))
Unicode = 字节集_到整数 (指针到字节集 (pPeb + 40, 4))
Ansi = 文本型_取空白 (260)
WideCharToMultiByte (0, 0, Unicode, Len + 1, Ansi, 260, 0, 0)
.如果真 (Len > 260)
跳出循环 ()
.如果真结束
Ansi = 系统_取文件名 (Ansi)
.如果真 (文本型_寻找 (Ansi, “.fne”, , 真) ≠ -1 或 文本型_寻找 (Ansi, “.fnr”, , 真) ≠ -1 或 文本型_寻找 (Ansi, “.dll”, , 真) ≠ -1)
置入代码 ({ 96, 139, 93, 244, 139, 67, 4, 139, 11, 137, 8, 139, 19, 139, 67, 4, 137, 66, 4, 139, 75, 20, 139, 83, 16, 137, 17, 139, 67, 16, 139, 75, 20, 137, 72, 4, 139, 83, 12, 139, 67, 8, 137, 2, 139, 75, 8, 139, 83, 12, 137, 81, 4, 97 })
.如果真结束
pPeb = 字节集_到整数 (指针到字节集 (pPeb, 4))
.循环判断尾 (Len ≠ 0)