Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct PACKET {
- DWORD Null;
- LPVOID lpData;
- DWORD nSize;
- DWORD Null2;
- };
- typedef DWORD (__stdcall *SENDPACKET)(PACKET *Buffer);
- SENDPACKET SendPacket;
- char* Buffer = NULL;
- DWORD SendAddy = 0x0048FD56;// ems v60 0x004783DB; // aob = B8 ? ? ? ? E8 ? ? ? ? 83 EC 14 53 56 8B F1 8D 9E 80 00 00 00 57 8B CB 89 5D F0 E8
- //DWORD ClassAddy = 0x0046850A;//0x00462778;//0x0045DF3E; // aob = 8B 0D ?? ?? ?? ?? 83 65 ?? ?? 8D 45 ?? 50 E8 ?? ?? ?? ?? 83 4D ?? ?? 8D ?? ??
- //v 58 send = 00477371
- //v 58 Class = 0045CC8C
- DWORD PESendJmp = SendAddy + 5;
- DWORD PEClass = 0x00B301D8;//*(DWORD*)&Buffer[ClassAddy+2]; // check 8B 0D ?? ?? ?? ?? 83 65 ?? ?? 8D 45 e4 50 E8 ?? ?? ?? ?? 83 4D ?? ?? 8D 4d e8 c7
- inline char* atohx(char* dst, const char * src)
- {
- char *ret = dst;
- for(int lsb, msb; *src; src += 2)
- {
- msb = tolower(*src);
- lsb = tolower(*(src + 1));
- msb -= isdigit(msb) ? 0x30 : 0x57;
- lsb -= isdigit(lsb) ? 0x30 : 0x57;
- if((msb < 0x0 || msb > 0xf) || (lsb < 0x0 || lsb > 0xf))
- {
- *ret = 0;
- return NULL;
- }
- *dst++ = (char)(lsb | (msb << 4));
- }
- *dst = 0;
- return ret;
- }
- void WINAPI msSendPacketA(__in LPCSTR lpPacketStr)
- {
- SIZE_T stLen = strlen( lpPacketStr );
- SendPacket = (SENDPACKET)PESendJmp;
- PACKET Packet;
- ZeroMemory(&Packet, sizeof(PACKET));
- Packet.nSize = stLen/2;
- byte bPacket[150];
- Packet.lpData = atohx((char*)bPacket, lpPacketStr);
- _asm
- {
- mov ecx, PEClass
- mov ecx, [ecx]
- }
- SendPacket( &Packet );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement