Показать сообщение отдельно

  #3  
Старый 14.10.2024, 13:04
nonelike
Познающий
Регистрация: 22.12.2018
Сообщений: 72
С нами: 3890632

Репутация: 63
По умолчанию

Цитата:
Сообщение от moreveal  

Открой список структур в IDA и посмотри из чего состоит CChat; обращение по указателю - это фактически разыменовывание адреса по смещению от начала структуры до нужного элемента, m_nPageSize является первым элементом структуры, поэтому тебе повезло - просто представь адрес this в виде 32-битного числа (тип dd в IDA) и поменяй его на нужное

C++:





Код:
*
reinterpret_cast

(
this_ptr
)
=
15
;


Но в твоем случае нужно, разумеется, патчить функцию, а не ставить хук, чтобы получить адрес на this, поскольку если ты сперва изменишь его, а потом вызовешь оригинал - оно ресетнется в 10
Код:





Код:
.text:10067C05 56                          push    esi

.text:10067C6F C7 06 0A 00                 mov     dword ptr [esi], 0Ah


esi я так понимаю будет как this? пробовал разные варианты, крашит

к примеру

Код:





Код:
int* esi = reinterpret_cast(0x67C05);
    *esi = 15;
 
Ответить с цитированием