Показать сообщение отдельно
Старый 08.10.2010, 20:05   #181
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

попробывал порисовать ченеть средствами клиента, вчера поигралса..
начал с линии и квадрата... получилось как ни странно только долго искал че хукнуть чтоб CanvasUtil выловить. клиент видимо его не пользует или пользует нечасто)
в итоге хукнул ??0FCanvasUtil@@QAE@PAVFRenderTarget@@PAVFRenderIn terface@@W4EVertexShader@@W4EPixelShader@@@Z

это по всем понятиям должен быть конструктор..

функция рисующая квадрат получилась такой-

procedure uDrawRect(x,y,x1,y1:single; color : DWORD);
var
forig : pointer;
dllWORD;
begin
dll:=GetModuleHandle('engine.dll');
forig:=GetProcAddress(dll,'?DrawRect@FCanvasUtil@@ QAEXMMMMVFColor@@@Z');
asm
push color
push y1
push x1
push y
push x
mov ecx,uCanvas // объект возвращенный в EAX после хука конструктора
call forig
end
end;

рисовать строку не пробывал, нада шрифт создавать или тоже хукать гдето) времени уже не было
mira вне форума   Ответить с цитированием
За это сообщение mira нажился 3 спасибками от: