Вернуться   CoderX :: Forums > Основные форумы > Курилка
Войти через OpenID

Курилка Флудим и шутим тут!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 06.04.2015, 01:24   #1
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

return (UNHandlerTable + 0x48) + 0x68;


I do like this:

PHP код:
DWORD sendPacketAddr 0;

int __fastcall new_AddNetworkQueue(unsigned int Thisunsigned int EDXTNetworkPacket *NetworkPacket)
{
    if (
sendPacketAddr == 0)
    {
        
UNetworkHandlerUNH;
        
UNH = (UNetworkHandler*)This;
        
__asm
        

            
mov ecx,UNH;
            
mov eax,[ecx 48h];
            
mov ecx,[eax]
            
mov edx,[ecx 68h]//IL
            
mov sendPacketAddr,edx;
        }

        
true_SendPacket = (_SendPacketsplice((unsigned char*) sendPacketAddrnew_SendPacket);
    }
..... 

And need another recursed version function Splice for Interlude:
PHP код:
unsigned int splice(unsigned char *addrvoid *hook_fn)
{
    if (*
addr == 0xE9)
    {
        
//splice> jmp operand found, calc jump addr and retry splice on this addr
        
unsigned int jmpAddr = (unsigned int)addr + (*(int*)((unsigned int)addr 1)) + 5;
        return 
splice((unsigned char*)jmpAddrhook_fn);
    }

    
unsigned char *saved alloc_rwx_mem();
    
int cb splicing_length(addr);
    
unsigned long oldprotect;

    for (
int i 0cbi++)
    {
        
saved[i] = addr[i];
    }

    
write_jmp(saved cbaddr cb);
    
VirtualProtect(addr5PAGE_EXECUTE_READWRITE, &oldprotect);
    
write_jmp(addrhook_fn);
    
VirtualProtect(addr5oldprotect, &oldprotect);

    return (
unsigned intsaved;
}

void write_jmp(unsigned char *addrvoid *dest)
{
    *
addr 0xE9;

    *(
int*) (addr 1) = (unsigned char*) dest - (addr 5);
}

int splicing_length(void *codePtr)
{
    
int cb 0;

    do
    {
        
cb += instruction_length((char*) codePtr cb);
    }
    while (
cb 5);

    return 
cb;

__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)

Последний раз редактировалось Yegor, 06.04.2015 в 01:34.
Yegor вне форума   Ответить с цитированием
За это сообщение Yegor нажился спасибкой от:
Ответ

  CoderX :: Forums > Основные форумы > Курилка



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 03:58.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!