|
发表于 2020-7-17 16:32:07
|
显示全部楼层
浙江省杭州市
- .版本 2
- .支持库 dp1
- .程序集 程序集2
- .子程序 RC4密码, 字节集
- 返回 (子字节集替换 ({ 194, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, 0, 203, 0, 184, 0, 246, 0, 177, 0, 198, 0, 0, 0, 0, 181, 0, 196, 0, 126, 0, 0, 0, 0, 177, 0, 0, 0, 0, 187, 0, 196, 0, 0, 0, 0, 227, 0, 0, 0, 0, 198, 0, 0, 0, 0, 198, 0, 189, 0, 226, 0, 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, 203, 0, 126, 0, 0, 0, 0 }, { 0 }, { }, , ))
- .子程序 RC4, 字节集
- .参数 字节集数据, 字节集
- .参数 密码文本, 字节集, 可空
- .参数 加密算法, 整数型, 可空, 可以被省略。指定具体使用的加密算法,可以为以下常量值之一:1:#DES算法;2:#RC4算法。
- .局部变量 匿名子程序变量_1, 字节型, , "256"
- .局部变量 匿名子程序变量_2, 字节型, , "256"
- .局部变量 匿名子程序变量_3, 整数型
- .局部变量 匿名子程序变量_4, 整数型
- .局部变量 匿名子程序变量_5, 字节型
- .局部变量 匿名子程序变量_6, 整数型
- .局部变量 匿名子程序变量_7, 字节集
- .局部变量 匿名子程序变量_8, 整数型
- .局部变量 匿名子程序变量_9, 整数型
- .局部变量 匿名子程序变量_10, 整数型
- .局部变量 匿名子程序变量_11, 逻辑型
- .如果真 (取字节集长度 (字节集数据) = 0)
- 返回 ({ })
- .如果真结束
- .如果真 (取字节集长度 (密码文本) = 0)
- 匿名子程序变量_11 = 真
- 密码文本 = RC4密码 ()
- .如果真结束
- .如果真 (加密算法 = 1)
- 匿名子程序变量_7 = 加密数据 (字节集数据, 到文本 (密码文本), #RC4算法)
- .如果真 (匿名子程序变量_11)
- 密码文本 = 取空白字节集 (取字节集长度 (密码文本))
- .如果真结束
- 返回 (匿名子程序变量_7)
- .如果真结束
- .如果真 (加密算法 = 2)
- 匿名子程序变量_7 = 解密数据 (字节集数据, 到文本 (密码文本), #RC4算法)
- .如果真 (匿名子程序变量_11)
- 密码文本 = 取空白字节集 (取字节集长度 (密码文本))
- .如果真结束
- 返回 (匿名子程序变量_7)
- .如果真结束
- .计次循环首 (256, 匿名子程序变量_3)
- 匿名子程序变量_1 [匿名子程序变量_3] = 匿名子程序变量_3 - 1
- .计次循环尾 ()
- 匿名子程序变量_4 = 1
- 匿名子程序变量_10 = 取字节集长度 (密码文本)
- .计次循环首 (256, 匿名子程序变量_3)
- .如果真 (匿名子程序变量_4 > 匿名子程序变量_10)
- 匿名子程序变量_4 = 1 '
- .如果真结束
- 匿名子程序变量_2 [匿名子程序变量_3] = 到字节 (取代码 (到文本 (取字节集中间 (密码文本, 匿名子程序变量_4, 1)), 1))
- 匿名子程序变量_4 = 匿名子程序变量_4 + 1
- .计次循环尾 ()
- 匿名子程序变量_4 = 0
- .计次循环首 (256, 匿名子程序变量_3)
- 匿名子程序变量_4 = (匿名子程序变量_4 + 匿名子程序变量_1 [匿名子程序变量_3] + 匿名子程序变量_2 [匿名子程序变量_3]) % 256
- 匿名子程序变量_5 = 匿名子程序变量_1 [匿名子程序变量_3] '
- 匿名子程序变量_1 [匿名子程序变量_3] = 匿名子程序变量_1 [匿名子程序变量_4 + 1]
- 匿名子程序变量_1 [匿名子程序变量_4 + 1] = 匿名子程序变量_5
- .计次循环尾 ()
- 匿名子程序变量_3 = 0
- 匿名子程序变量_4 = 0
- .计次循环首 (取字节集长度 (字节集数据), 匿名子程序变量_8)
- 匿名子程序变量_3 = (匿名子程序变量_3 + 1) % 256
- 匿名子程序变量_4 = (匿名子程序变量_4 + 匿名子程序变量_1 [匿名子程序变量_3 + 1]) % 256
- 匿名子程序变量_5 = 匿名子程序变量_1 [匿名子程序变量_3 + 1] '
- 匿名子程序变量_1 [匿名子程序变量_3 + 1] = 匿名子程序变量_1 [匿名子程序变量_4 + 1]
- 匿名子程序变量_1 [匿名子程序变量_4 + 1] = 匿名子程序变量_5
- 匿名子程序变量_9 = (匿名子程序变量_1 [匿名子程序变量_3 + 1] + 匿名子程序变量_1 [匿名子程序变量_4 + 1] % 256) % 256
- 匿名子程序变量_6 = 匿名子程序变量_1 [匿名子程序变量_9 + 1] '
- 匿名子程序变量_7 = 匿名子程序变量_7 + 到字节集 (到字节 (位异或 (字节集数据 [匿名子程序变量_8], 匿名子程序变量_6)))
- .计次循环尾 ()
- .如果真 (匿名子程序变量_11)
- 密码文本 = 取空白字节集 (取字节集长度 (密码文本))
- .如果真结束
- 返回 (匿名子程序变量_7)
- .子程序 启动信息反调试, 逻辑型
- .局部变量 启动信息, StartupInfo
- GetStartupInfo (启动信息)
- 返回 (启动信息.dwX ≠ 0 或 启动信息.dwY ≠ 0 或 启动信息.dwXCountChars ≠ 0 或 启动信息.dwYCountChars ≠ 0 或 启动信息.dwFillAttribute ≠ 0 或 启动信息.dwXSize ≠ 0 或 启动信息.dwYSize ≠ 0)
- .子程序 操作_取路径目录, 文本型, , c:\1\1\1\1.exe取出 c:\1\1\1\
- .参数 文件全名, 文本型, , c:\1\1\1\1.exe
- .参数 文件名, 文本型, 参考 可空, 1.exe
- .局部变量 位置, 整数型
- .局部变量 x, 整数型
- .局部变量 m, 整数型
- .局部变量 临时数组, 文本型, , "0"
- .局部变量 路径, 文本型
- 临时数组 = 分割文本 (文件全名, “\”, )
- 位置 = 倒找文本 (文件全名, “\”, , 假)
- 路径 = 取文本左边 (文件全名, 位置)
- 文件名 = 取文本右边 (文件全名, 取文本长度 (文件全名) - 取文本长度 (路径))
- 返回 (路径)
- .子程序 文件是否运行中, 逻辑型
- .参数 文件路径, 文本型
- .局部变量 文件时间, 文本型, , "3"
- .局部变量 文件句柄, 整数型
- 文件句柄 = 打开文件 (文件路径, #改写, #无限制)
- .如果真 (文件句柄 ≠ 0)
- 关闭文件 (文件句柄)
- .如果真结束
- 返回 (文件句柄 = 0)
- ' 文件_取时间 (文件路径, 文件时间 [1], 文件时间 [2], 文件时间 [3])
- ' 返回 (文件_置时间 (文件路径, 文件时间 [1], 文件时间 [2], 文件时间 [3]) = 假)
- .子程序 文件是否可执行, 逻辑型
- .参数 文件路径, 文本型
- 返回 (GetBinaryTypeA (文件路径, 0))
- .子程序 枚举驱动, 整数型
- .参数 保存驱动路径数组, 文本型, 参考 可空 数组
- .局部变量 Ret, 整数型
- .局部变量 Buffer, 整数型
- .局部变量 ModulesInfo, MODULES
- .局部变量 i, 整数型
- .局部变量 索引, 整数型
- .局部变量 找到位置, 整数型
- .局部变量 分割, 文本型, , "0"
- .局部变量 x, 整数型
- .局部变量 位置1, 整数型
- .局部变量 程序路径, 文本型
- .局部变量 路径备份, 文本型
- .局部变量 驱动路径, 文本型
- .局部变量 启动时间, 整数型
- .局部变量 次, 整数型
- .局部变量 程序路径1, 文本型
- .局部变量 OD路径, 文本型
- 清除数组 (保存驱动路径数组)
- NtQuerySystemInformation_整数 (11, Buffer, 0, Ret)
- Buffer = LocalAlloc (64, Ret × 2)
- NtQuerySystemInformation_整数 (11, Buffer, Ret × 2, 0)
- CopyMemory_MODULES (ModulesInfo, Buffer, 284)
- i = ModulesInfo.dwNumberOfModules
- 找到位置 = -1
- .计次循环首 (i - 1, )
- Buffer = Buffer + 71 × 4
- CopyMemory_MODULES (ModulesInfo, Buffer, 284)
- 驱动路径 = 到文本 (ModulesInfo.ModuleInformation.ImageName)
- 加入成员 (保存驱动路径数组, 驱动路径)
- .计次循环尾 ()
- LocalFree (Buffer)
- 返回 (取数组成员数 (保存驱动路径数组))
- .子程序 检测fengyue区段, 逻辑型, , 返回真 找到
- .参数 Plugin目录, 文本型
- .参数 是否判断运行状态, 逻辑型
- .局部变量 fengyue, 字节集
- .局部变量 句柄, 整数型
- .局部变量 数据缓冲区, 字节集
- .局部变量 找到的位置, 整数型
- .局部变量 文件数组, 文本型, , "0"
- .局部变量 x, 整数型
- fengyue = 到字节集 (“.fengyue”)
- .计次循环首 (文件_枚举 (Plugin目录, “*.*”, 文件数组, 真), x)
- 句柄 = 打开文件 (文件数组 [x], #读入, )
- .如果真 (句柄 ≠ 0)
- 移动读写位置 (句柄, #文件首, 500)
- 数据缓冲区 = 读入字节集 (句柄, 500)
- 找到的位置 = 寻找字节集 (数据缓冲区, fengyue, )
- 关闭文件 (句柄)
- .如果真 (找到的位置 ≠ -1)
- .如果 (是否判断运行状态 = 真)
- .如果真 (文件是否运行中 (文件数组 [x]))
- 返回 (真)
- .如果真结束
- .否则
- 返回 (真)
- .如果结束
- .如果真结束
- .如果真结束
- .计次循环尾 ()
- 返回 (假)
- .子程序 文件_枚举, 整数型
- .参数 欲寻找的目录, 文本型
- .参数 欲寻找的文件名, 文本型
- .参数 文件数组, 文本型, 参考 可空 数组
- .参数 是否带路径, 逻辑型, 可空
- .局部变量 局_文件名, 文本型
- .局部变量 局_目录, 文本型
- 清除数组 (文件数组)
- 局_目录 = 欲寻找的目录
- .如果真 (取文本右边 (局_目录, 1) ≠ “\”)
- 局_目录 = 局_目录 + “\”
- .如果真结束
- 局_文件名 = 寻找文件 (局_目录 + 欲寻找的文件名, )
- .判断循环首 (局_文件名 ≠ “”)
- .如果 (是否带路径)
- 加入成员 (文件数组, 局_目录 + 局_文件名)
- .否则
- 加入成员 (文件数组, 局_文件名)
- .如果结束
- 局_文件名 = 寻找文件 (, )
- .判断循环尾 ()
- 返回 (取数组成员数 (文件数组))
- .子程序 枚举窗口_强力, 整数型, , 返回句柄数目 可枚举隐藏窗口
- .参数 保存数组, 窗口句柄类, 参考 可空 数组
- .参数 只找可见窗口, 逻辑型, 可空
- .参数 句柄保存数组, 整数型, 参考 可空 数组
- .局部变量 句柄数组, 整数型, , "0"
- .局部变量 句柄, 整数型
- .局部变量 临时, 窗口句柄类
- .局部变量 x, 整数型
- 清除数组 (保存数组)
- 清除数组 (句柄保存数组)
- 句柄 = GetWindow (API_取屏幕句柄 (), 5)
- .判断循环首 (句柄 ≠ 0)
- .如果 (只找可见窗口)
- .如果真 (窗口是否可见 (句柄))
- 加入成员 (句柄数组, 句柄)
- .如果真结束
- .否则
- 加入成员 (句柄数组, 句柄)
- .如果结束
- 句柄 = GetWindow (句柄, 2)
- .判断循环尾 ()
- .计次循环首 (取数组成员数 (句柄数组), x)
- 临时.句柄 = 句柄数组 [x]
- 临时.标题 = 窗口取标题 (句柄数组 [x])
- 临时.类名 = 窗口取类名 (句柄数组 [x])
- .如果真 (是否为空 (句柄保存数组) = 假)
- 加入成员 (句柄保存数组, 临时.句柄)
- .如果真结束
- 加入成员 (保存数组, 临时)
- .计次循环尾 ()
- 返回 (取数组成员数 (保存数组))
- .子程序 窗口取类名, 文本型
- .参数 窗口句柄, 整数型
- .局部变量 buffer, 文本型
- buffer = 取空白文本 (255)
- GetClassName (窗口句柄, buffer, 255)
- 返回 (buffer)
- .子程序 窗口取标题, 文本型
- .参数 hWnd, 整数型
- .局部变量 String, 文本型, , , 返回的文本内容
- .局部变量 nLength, 整数型
- nLength = GetWindowTextLength (hWnd)
- String = 取空白文本 (nLength)
- GetWindowText (hWnd, String, nLength + 1)
- 返回 (String)
- .子程序 窗口是否可见, 逻辑型, , 返回真为可见,否则为不可见
- .参数 窗口句柄, 整数型, , 窗口句柄
- .局部变量 a, 逻辑型
- 返回 (IsWindowVisible (窗口句柄))
- .子程序 枚举所有子窗口_强力, 整数型
- .参数 父窗口句柄, 整数型
- .参数 保存数组, 窗口句柄类, 参考 可空 数组
- .参数 只找可见窗口, 逻辑型, 可空
- .参数 句柄保存数组, 整数型, 参考 可空 数组
- .局部变量 句柄, 整数型
- .局部变量 句柄数组, 整数型, , "0"
- .局部变量 x, 整数型
- .局部变量 临时, 窗口句柄类
- .局部变量 需要整理, 逻辑型
- 句柄 = GetWindow (父窗口句柄, 5)
- .判断循环首 (句柄 ≠ 0)
- .如果 (只找可见窗口)
- .如果真 (窗口是否可见 (句柄))
- 加入成员 (句柄数组, 句柄)
- .如果真结束
- .否则
- 加入成员 (句柄数组, 句柄)
- .如果结束
- 递归 (句柄, 句柄数组, 只找可见窗口)
- 句柄 = GetWindow (句柄, 2)
- .判断循环尾 ()
- .如果真 (是否为空 (保存数组) = 假)
- 清除数组 (保存数组)
- .计次循环首 (取数组成员数 (句柄数组), x)
- 临时.句柄 = 句柄数组 [x]
- 临时.标题 = 窗口取标题 (句柄数组 [x])
- 临时.类名 = 窗口取类名 (句柄数组 [x])
- 加入成员 (保存数组, 临时)
- .计次循环尾 ()
- .如果真结束
- .如果真 (是否为空 (句柄保存数组) = 假)
- 清除数组 (句柄保存数组)
- .计次循环首 (取数组成员数 (句柄数组), x)
- 加入成员 (句柄保存数组, 句柄数组 [x])
- .计次循环尾 ()
- .如果真结束
- 返回 (取数组成员数 (句柄数组))
- .子程序 递归
- .参数 父窗口, 整数型
- .参数 句柄数组, 整数型, 参考 数组
- .参数 只找可见窗口, 逻辑型, 可空
- .局部变量 句柄, 整数型
- 句柄 = GetWindow (父窗口, 5)
- .判断循环首 (句柄 ≠ 0)
- .如果 (只找可见窗口)
- .如果真 (窗口是否可见 (句柄))
- 加入成员 (句柄数组, 句柄)
- .如果真结束
- .否则
- 加入成员 (句柄数组, 句柄)
- .如果结束
- 递归 (句柄, 句柄数组)
- 句柄 = GetWindow (句柄, 2)
- .判断循环尾 ()
- .子程序 文本还原, 文本型
- .参数 匿名参数_1, 字节集
- .局部变量 匿名子程序变量_1, 字节集
- 返回 (到文本 (子字节集替换 (匿名参数_1, { 43, 22, 64, 56, 60, 67, 191, 197 }, { }, , )))
复制代码 |
|