Тема: Сниффер
Показать сообщение отдельно
Старый 22.05.2011, 13:57   #196
Grinder
Гость
 
Сообщений: n/a
По умолчанию

Разщбираюсь со снифером! Как образец взял tiawps.
Добился получения процесса!
Но блин упорно не хочет читать SessionKey

В tiawps делают вот так:

PHP код:
DWORD number_of_read_bytes=0;

    
char pointer***91;4***93; = {'\0'};
    
ReadProcessMemory(wow_process_handle, (LPCVOID)CONNECTION_PTR_OFFSETpointer4, &number_of_read_bytes);

    if(
number_of_read_bytes != 4)
    {
        
printf("couldn't read pointer, just read %u bytes instead of 4\n"number_of_read_bytes);
        
CloseHandle(wow_process_handle);
        return 
FALSE;
    }
    
// convert bytes to pointer
    
unsigned int sessionKeyPosition 0;
    
memcpy(&sessionKeyPositionpointer4);
    
printf("Got pointer: %#X\n"sessionKeyPosition);

    
number_of_read_bytes 0;
    
ReadProcessMemory(wow_process_handle, (LPCVOID)(SESSIONKEY_OFFSET+sessionKeyPosition), sessionKeySESSIONKEY_LENGTH, &number_of_read_bytes);
    
CloseHandle(wow_process_handle);
    if(
number_of_read_bytes != SESSIONKEY_LENGTH)
    {
        
printf("couldn't read sessionkey, read %u bytes instaed of %u\n"number_of_read_bytesSESSIONKEY_LENGTH);
        return 
FALSE;
    } 
Это забил в enum'е чтобы не передавать параметры

PHP код:
SESSIONKEY_LENGTH 40
SESSIONKEY_OFFSET 
0x508
CONNECTION_PTR_OFFSET 
0x00D03F14 
Для проверки делал вывод в консоль на равенство
PHP код:
if(number_of_read_bytes != SESSIONKEY_LENGTH
В итоге плучил что number_of_read_bytes = 0!!!!! Где косяк?
  Ответить с цитированием