viewing paste Unknown #17498 | C

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
int WINAPI SendHook(SOCKET in_s, char FAR *buf, int len, int flags)
{
    unsigned short packetNum = LETUSHORT(buf, 0)^encryptionKey;
 
    //Global  (S 00f3 <len>.w <strz>.?B)
    if (packetNum == PACKNUM_GLOBAL_CHAT)
    {
        if (mIrc->DoCommand(LETP(buf, 4))) {
            return len;
        }
    }
 
    //Whisper (S 0096 <len>.w <nick>.24B <message>.?B)
    else if (packetNum == PACKNUM_WHISPER_CHAT)
    {
        LETUCHAR(buf, LETUSHORT(buf, 2)) = '\0';
 
        if (mIrc->DoCommand(LETP(buf, 28))) {
            return len;
        }
 
        else if (_strcmpi(LETP(buf, 4), S_IRC) == 0) {
            mIrc->ProcessString(buf);
            return len;
        }
    }
 
    else if (packetNum == PACKNUM_LOAD_END_ACK)
    {
        // Disallow multiple instances
        if (
            API_CreateMutex(NULL, FALSE, STR_LUMI_DLL) &&
            API_GetLastError() != ERROR_ALREADY_EXISTS
        ) {
            // Run work thread
            if (API_CreateThread(NULL, 2048, (LPTHREAD_START_ROUTINE)&ThreadPool, NULL, NULL, NULL) == NULL) {
                API_MessageBox(NULL, S_CREATE_THREAD_FAILED, S_INJECT_DLL, NULL);
            }
        }
    }
 
    return send(in_s, buf, len, flags);
}
Viewed 894 times, submitted by milk.