Хуки функций C++
В попытках подробно изучить механизм "хуков", наткнулся на статью Intercepting API function calls, я задался вопросом касательно некоторых моментов.
Есть функция, определяющая относительный адрес между функциями:
size_t CalcDisplacement(void* lpStartAddress, void* lpEndAddress) {
return reinterpret_cast<char*>(lpEndAddress) - (reinterpret_cast<char*>(lpStartAddress) + 5);
}
И так вопрос, почему при вычислении адреса кастятся в char*
для его определения? При моих попытках кастить в что-то еще, они приводили к Access Violation.
Источник: Stack Overflow на русском