dnfzl.dll
动态链接库源码:
-----------------------程序集-----------------------------
.版本 2
.支持库 spec
.程序集 程序集
.子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码
返回 (0) ' 返回值被忽略。
.子程序 RunDllHostCallBack, 整数型, 公开
.参数 一, 整数型
.参数 二, 整数型
.参数 三, 整数型
载入 (主窗体, , 假)
返回 (0)
.子程序 加密
.参数 地址, 整数型
.参数 数值, 整数型
' 置入代码 ({ 199, 195, 8, 0, 0, 0, 199, 193, 40, 163, 49, 1, 139, 9, 54, 139, 60, 43, 139, 7, 139, 137, 68, 0, 0, 0, 199, 199, 44, 163, 49, 1, 139, 63, 193, 224, 2, 141, 52, 8, 51, 247, 54, 51, 180, 43, 4, 0, 0, 0, 137, 52, 8 })
置入代码 ({ 199, 195, 8, 0, 0, 0, 199, 193, 168, 69, 50, 1, 139, 9, 54, 139, 60, 43, 139, 7, 139, 137, 68, 0, 0, 0, 199, 199, 172, 69, 50, 1, 139, 63, 193, 224, 2, 141, 52, 8, 51, 247, 54, 51, 180, 43, 4, 0, 0, 0, 137, 52, 8 })
.子程序 解密, 整数型, 公开
.参数 解密值, 整数型
置入代码 ({ 139, 13, 136, 185, 49, 1, 139, 189, 8, 0, 0, 0, 139, 29, 140, 185, 49, 1, 139, 7, 139, 145, 68, 0, 0, 0, 193, 224, 2, 139, 52, 16, 3, 208, 51, 242, 51, 243, 139, 198, 201, 195 })
返回 (0)
.子程序 _取地址_文本型, 整数型
.参数 变量, 文本型, 参考
' mov eax,[ebp+8]
' mov eax,[eax]
' leave
' retn 4
置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
返回 (0)
.子程序 _取地址_整数型, 整数型
.参数 变量, 整数型, 参考
' mov eax, [ebp+8]
' pop ebp
' retn 4
置入代码 ({ 139, 69, 8, 139, 229, 93, 194, 4, 0 })
返回 (0)
.子程序 _取地址_字节集, 整数型
.参数 变量, 字节集, 参考
' mov eax, [ebp+8]
' mov eax, [eax]
' add eax, 8
' mov esp ,ebp
' pop ebp
' retn 4
置入代码 ({ 139, 69, 8, 139, 0, 131, 192, 8, 139, 229, 93, 194, 4, 0 })
返回 (0)
.子程序 公告, , , 公告
.参数 msg, 文本型, , 公告内容
.参数 color, 整数型, , 颜色值
.局部变量 宽字符, 字节集
.局部变量 消息地址, 整数型
.局部变量 CALL地址, 整数型
.局部变量 CALL, 整数型
.局部变量 CALL机械码, 字节集
.局部变量 商店地址, 整数型
商店地址 = 17883512
CALL = 11275008
CALL地址 = _取地址_整数型 (CALL)
宽字符 = 转换Ansi转Unicode (msg)
消息地址 = _取地址_字节集 (宽字符)
CALL机械码 = { 96, 185 } + 到字节集 (商店地址) + { 139, 9, 139, 73, 80, 106, 0, 106, 0, 106, 31, 104 } + 到字节集 (color) + { 104 } + 到字节集 (消息地址) + { 255, 21 } + 到字节集 (CALL地址) + { 97, 195 }
调用子程序 (_取地址_字节集 (CALL机械码), , , )
.子程序 公告1, , , 透明公告
.参数 msg, 文本型
.局部变量 宽字符, 字节集
.局部变量 消息地址, 整数型
.局部变量 CALL地址, 整数型
.局部变量 CALL, 整数型
.局部变量 商店, 整数型
.局部变量 CALL机械码, 字节集
CALL = 十六到十 (“009A5F20”) ' 公告CALL
商店 = 十六到十 (“0110E178”) ' 商店地址
宽字符 = 转换Ansi转Unicode (msg)
消息地址 = _取地址_字节集 (宽字符)
CALL地址 = _取地址_整数型 (CALL)
CALL机械码 = { 96, 185 } + 到字节集 (商店) + { 139, 9, 106, 0, 104 } + 到字节集 (消息地址) + { 106, 43 } + { 255, 21 } + 到字节集 (CALL地址) + { 97, 195 }
调用子程序 (_取地址_字节集 (CALL机械码), , , )
.子程序 公告2
.参数 msg, 文本型
.参数 color, 整数型, 可空
.局部变量 宽字符, 字节集
.局部变量 消息地址, 整数型
.局部变量 CALL地址, 整数型
.局部变量 CALL, 整数型
.局部变量 CALL机械码, 字节集
CALL = 11275008
宽字符 = 转换Ansi转Unicode (msg)
消息地址 = _取地址_字节集 (宽字符)
CALL地址 = _取地址_整数型 (CALL)
CALL机械码 = { 96, 185, 120, 225, 16, 1, 139, 9, 139, 73, 80, 106, 0, 106, 0, 106, 31, 104 } + 到字节集 (color) + { 104 } + 到字节集 (消息地址) + { 255, 21 } + 到字节集 (CALL地址) + { 97, 195 }
嵌入机器码 (CALL机械码)
.子程序 嵌入机器码
.参数 机器码, 字节集
.局部变量 首地址, 整数型
.局部变量 指令长度, 整数型
指令长度 = 取字节集长度 (机器码)
首地址 = 申请内存 (指令长度, )
写到内存 (机器码, 首地址, )
调用子程序 (首地址, , , )
释放内存 (首地址)