deniskamu » 21-03-2009 01:44:21

Где можно найти интерфейс интегрирования в игру vtuneapi.dll .
Исходник basic.asm на ассемблере, ничего не понятно.

Sfeli » 22-03-2009 06:16:41

deniskamu, нет интерфейса. Делаешь DLL с двумя экспортами void VtPauseSampling(void) и void VtResumeSampling(void). В DllMain по DLL_PROCESS_ATTACH патчишь код и данные в движке (не забывая про VirtualProtect). Без ассемблера, имхо, у тебя вряд ли что получится. Что делать-то собираешься? Пни меня в аську (в профиле), если хочешь.

deniskamu » 22-03-2009 12:48:09

Да так, хотел на Delphi или Си поиграться.
Обе процедуры void, без параметров,
как они с екзешником общаются ?
Но если без ассемблера никак, то туда не подъехать.

Sfeli » 22-03-2009 15:16:51

Функции нужны, чтобы EXE загрузил DLL-ку, ничего полезно в них писать не нужно, хотя exe-шник дёргает их по нажатию того, что забиндено на profile_toggle (см. у меня VtXSampling). А даодан при загрузке заменяет куски кода своими + умеет регистрировать скриптовые функции (особенно Си-вариант, который так и не дожил до паблика). Без ассемблера можно. Дельфи не катит ? нужен Си-компилятор, понимающий соглашение MS-fastcall (GCC, Pelles C, MSVC). Идея та же: при загрузке хукать всё, что нужно, но чтобы похукать, минимум асма знать надо (хотя можно просто выдрать DDrPatch* из последнего асм-даодана).