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

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 01.02.2011, 01:14   #231
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

да я всё пытаюсь параметры из стека достать в переменные, потом обратно в стек засунуть, но делфи упорно срет в стек мне

пытаюсь решить проблему, через va_list, но че-то хз как с ним работать

Добавлено через 12 минут
я щас опять буду орать "помогите", ну че делать с этой хренью
__________________
Начало.

Последний раз редактировалось supernewbie, 01.02.2011 в 01:14. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием
Старый 01.02.2011, 01:52   #232
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

supernewbie, ты вроде там защиту пытался обойти леймгварда, он что тебе дал хукнуть сендпакет?
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Старый 01.02.2011, 02:10   #233
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Код:
память:

1
2         
3
4
5
6
7
8          < тут и ВЫШЕ твой компилятор делает push и остальную хрень
9          < тут хрень, этот адрес получаем так: asm mov stackaddr, ebp;
10         < тут адрес возврата, я тебе стопицот раз писал чтобы ты нагуглил пример как его достать.
11         < тут параметр1
13         < тут параметр2
14         < тут параметр3
15         < и так далее
16
Добавлено через 4 минуты
Цитата:
Сообщение от destructor Посмотреть сообщение
9 < тут хрень
зная этот адрес можем к нему прибавить Х и получить другой адрес:
Цитата:
Сообщение от destructor Посмотреть сообщение
11 < тут параметр1
__________________
Шожиделать.. ботить хочется..

Последний раз редактировалось destructor, 01.02.2011 в 02:11. Причина: Добавлено сообщение
destructor вне форума   Ответить с цитированием
Старый 01.02.2011, 05:15   #234
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

только все равно ничерта не работает...

delphi Код:
procedure HookSendPacket; stdcall begin asm mov eax, [ebp+8] mov this, eax mov eax, [ebp+12] mov format, eax end; k:=0; asm mov eax, [ebp+16]; mov tmp1, eax end; for i := 0 to length(format)-1 do begin if (format[i] = 'Q') or (format[i] = 'b') then begin params[k] := pointer(Integer(tmp1)+(k*4)); params[k+1] := pointer(integer(tmp1)+(k*4)+4); Inc(k, 2); end else begin params[k] := pointer(integer(tmp1)+(k*4)); Inc(k); end; end; MessageBoxA(0, format, 'FromClient', 0); asm jmp origSendPacket; end; end;

Добавлено через 27 минут
ДА ПОМОГИТЕ КТО-НИБУДЬ
__________________
Начало.

Последний раз редактировалось supernewbie, 01.02.2011 в 05:15. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием
Старый 01.02.2011, 08:57   #235
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
begin
asm
mov eax, [ebp+8]
mov this, eax
mov eax, [ebp+12]
mov format, eax
end;
эт чо?

Добавлено через 11 секунд
Цитата:
Сообщение от supernewbie Посмотреть сообщение
asm
mov eax, [ebp+16];
mov tmp1, eax
end;
а это?

Добавлено через 59 секунд
Цитата:
Сообщение от supernewbie Посмотреть сообщение
for i := 0 to length(format)-1 do
begin
if (format[i] = 'Q') or (format[i] = 'b') then
begin
params[k] := pointer(Integer(tmp1)+(k*4));
params[k+1] := pointer(integer(tmp1)+(k*4)+4);
Inc(k, 2);
end
else
begin
params[k] := pointer(integer(tmp1)+(k*4));
Inc(k);
end;
это ваще чо?
__________________
Шожиделать.. ботить хочется..

Последний раз редактировалось destructor, 01.02.2011 в 08:57. Причина: Добавлено сообщение
destructor вне форума   Ответить с цитированием
Старый 01.02.2011, 21:14   #236
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

))

1. Сохраняю указатель на this и pchar строку формата пакета

2. сохраняю адрес первого параметра в tmp1

3. раскладываю параметры по массиву

Добавлено через 2 часа 41 минуту
ПОМОГИТЕ КТО-НИБУДЬ

Добавлено через 1 час 16 минут
получилось
__________________
Начало.

Последний раз редактировалось supernewbie, 01.02.2011 в 21:14. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием
Старый 01.02.2011, 22:59   #237
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

supernewbie, дак и что не получается? удалось хоть 1байтную команду вызывать, напрмер показать инвертарь?
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Старый 02.02.2011, 00:31   #238
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

да мне не вызвать надо было, а хук поставить и парсить пакет без гавняканья стека, но щас не об этом, это сделал

---



проблема в том, что есть 2% шанс что что-то пойдет не так, не знаю что именно, но клиент крашится

delphi Код:
procedure ParsingFromServer; var   np:PNetworkPacket;   s:string;   p:pointer; begin try np:=tmp1;   s:=IntToHex(np.id,2)+' ';   if np.size>0 then   for i:=0 to np.size-1 do   begin   p:=Pointer(cardinal(np.data)+(i*1));   s:=s+IntToHex(byte(p^),2)+' ';   end;   except   s:=s+'ERROR PACKET';   end; end; procedure AddNetworkQueue_hook; stdcall; begin asm mov tmpPointer, ecx mov eax,  [esp+4] mov tmp1, eax end; ParsingFromServer; //если убрать вызов парсера то всё ок asm mov ecx, tmpPointer jmp AddNetworkQueue_origAddr end; end;

шо делать пасаны?

стек ведь должен очищатся после вызова парсера, что опять может быть?

Добавлено через 30 минут
короче если в парисинге делать даже цикл в котором
s:=s+' '; то уже креш может быть, втф?
__________________
Начало.

Последний раз редактировалось supernewbie, 02.02.2011 в 00:31. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием
Старый 02.02.2011, 00:42   #239
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
mov eax,* [esp+4]
mov tmp1, eax
вротмненоги, убери это

Добавлено через 45 секунд
Цитата:
Сообщение от supernewbie Посмотреть сообщение
procedure AddNetworkQueue_hook; stdcall;
это функция и у нее есть параметр, пропиши его и все извращения со стеком компилятор сделает сам

Добавлено через 1 минуту
важна только эта строчка
Цитата:
Сообщение от supernewbie Посмотреть сообщение
mov tmpPointer, ecx
__________________
Шожиделать.. ботить хочется..

Последний раз редактировалось destructor, 02.02.2011 в 00:42. Причина: Добавлено сообщение
destructor вне форума   Ответить с цитированием
Старый 02.02.2011, 00:44   #240
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

лучше скажи, что делать, т.к. по ходу, если я долго обрабатываю пакет то идет крит
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



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

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


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

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

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