попробывал порисовать ченеть средствами клиента, вчера поигралса..
начал с линии и квадрата... получилось как ни странно только долго искал че хукнуть чтоб CanvasUtil выловить. клиент видимо его не пользует или пользует нечасто)
в итоге хукнул ??0FCanvasUtil@@QAE@PAVFRenderTarget@@PAVFRenderIn terface@@W4EVertexShader@@W4EPixelShader@@@Z
это по всем понятиям должен быть конструктор..
функция рисующая квадрат получилась такой-
procedure uDrawRect(x,y,x1,y1:single; color : DWORD);
var
forig : pointer;
dll
WORD;
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;
рисовать строку не пробывал, нада шрифт создавать или тоже хукать гдето) времени уже не было