Вернуться   CoderX :: Forums > Основные форумы > Полезности
Войти через OpenID

Полезности Исключительно для полезных тем из других разделов.
Темы тут не создаются!
Темы сюда перемещаются из других разделов, и на их старых местах остаются постоянные перенаправления.

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 06.10.2010, 21:39   #1
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 45
Сказал Спасибо: 10
Имеет 23 спасибок в 12 сообщенях
Guzh пока неопределено
По умолчанию

Цитата:
Сообщение от mira Посмотреть сообщение
уверен что var_254 этьо константа? и вообще что адреса не меняютса, ты же пользуеш прямую адресацию а не относительную
Программа перед тем,как сделать хук,скопировала то,что там было ( lea ecx, [ebp-1E0h]) и вычислила адрес для возврата и добавила его в пуш(CODE:0FD436BC push 202511CDh). Если адрес меняется только при загрузке, то все норм будет, а если в течении сеанса меняется(что наврядли), то будет ошибка
Guzh вне форума   Ответить с цитированием
За это сообщение Guzh нажился спасибкой от:
Старый 08.10.2010, 20:05   #2
Местный
 
Регистрация: 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 спасибками от:
Старый 09.10.2010, 01:27   #3
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

строчки тоже нарисовал простейшие средствами клиента..


procedure uDrawString(x,y :integer ; pText:PWideChar; pfntointer; color : DWORD);
var
forig : pointer;
dllWORD;
begin
dll:=GetModuleHandle('engine.dll');
forig:=GetProcAddress(dll,'?DrawString@FCanvasUtil @@QAEHHHPBGPAVUFont@@VFColor@@@Z');
asm
push color
push pfnt
push pText // шрифт взят из перехвата ??0UFont@@QAE@XZ (хз че за функция и че за шрифт) не заморачивалса)
push y
push x
mov ecx,uCanvas // в есх помещаем добытый ранее экземпляр класса
call forig
end
end;

врятли буду пользовать эти функции клиента, просто проверил для общего познания что работают =))))))))

Последний раз редактировалось mira, 01.12.2010 в 19:28.
mira вне форума   Ответить с цитированием
За это сообщение mira нажился 3 спасибками от:
Ответ

  CoderX :: Forums > Основные форумы > Полезности



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:49.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!