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

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

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

переменные параметры говорите... а вот это посложней...

вот у меня щас так робит всё

delphi Код:
TSendPacket = packed record   unknown:pointer;   size:pchar;   id:byte;   end;

delphi Код:
procedure SendPacketHook(np:TSendPacket); stdcall;
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 30.01.2011, 19:59   #202
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

не правильно
__________________
Шожиделать.. ботить хочется..
destructor вне форума   Ответить с цитированием
Старый 30.01.2011, 20:01   #203
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

однако работает
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 30.01.2011, 20:03   #204
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

где тут указатель на строчку?

Добавлено через 37 секунд
хотя вижу...
__________________
Шожиделать.. ботить хочется..

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

вот только как сделать переменное кол-во параметров, массив нельзя...
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 30.01.2011, 20:37   #206
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
np:TSendPacket
получить адрес этой хрени , это будет указатель на первый параметр в стеке.
следующиее находятся дальше...
__________________
Шожиделать.. ботить хочется..
destructor вне форума   Ответить с цитированием
Старый 30.01.2011, 20:54   #207
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

няяяяя, там еще в параметрах массив может быть

Добавлено через 7 минут
Цитата:
Сообщение от destructor Посмотреть сообщение
получить адрес этой хрени , это будет указатель на первый параметр в стеке.
следующиее находятся дальше...
всмысле? @np так чтоли?
__________________
Начало.

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

угу
__________________
Шожиделать.. ботить хочется..
destructor вне форума   Ответить с цитированием
Старый 30.01.2011, 22:09   #209
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

ммм, сделал вот так пока что...

delphi Код:
procedure SendPacketHook(np:TSendPacket); stdcall; var   p:pointer;   data:array of pointer;   i,j:integer;   s:string; begin try SetLength(data,length(np.size)); s:=''; for i:=0 to length(np.size)-1 do begin asm pop eax mov p, eax end; data[(length(np.size)-1)-i]:=p; j:=-1; if np.size[(length(np.size)-1)-i]='c' then j:=0; if np.size[(length(np.size)-1)-i]='h' then j:=1; if np.size[(length(np.size)-1)-i]='d' then j:=2; if np.size[(length(np.size)-1)-i]='f' then j:=3; if np.size[(length(np.size)-1)-i]='s' then j:=4; if np.size[(length(np.size)-1)-i]='b' then j:=5; if np.size[(length(np.size)-1)-i]='q' then j:=6; case j of 0: s:=inttostr(byte(p^))+'; '+s; 1: s:=inttostr(word(p^))+'; '+s; 2: s:=inttostr(dword(p^))+'; '+s; 3: s:=floattostr(double(p^))+'; '+s; 4: s:=pchar(p)+'; '+s; 5: s:=inttostr(int64(p^))+'; '+s; 6: s:=inttostr(Int64(p^))+'; '+s;    end;

надо разобратся что такое b

блин не, эт не работает... нука попробую через дестроевский способ..

Добавлено через 20 минут
о, а дестроевский робит)

Добавлено через 8 минут
delphi Код:
procedure SendPacketHook(np:TSendPacket); stdcall; var   p:pointer;   data:array of pointer;   i:integer; begin try SetLength(data,length(np.size)); p:=@np; p:=Pointer(Cardinal(p)+$0C); data[0]:=@np.id; for i:=1 to length(np.size) do begin data[i]:=p; p:=pointer(Cardinal(p)+4); end; messagebox(0,PChar(inttohex(np.id,2)+'; '+np.size),'FromClient',0); except messagebox(0,PChar('error'),'FromClient',0); end; end;

вот короче как-то так

Добавлено через 26 минут
delphi Код:
if length(data)>1 then for i:=length(data)-1 downto 1 do asm push data[i] end; asm push data[0] push np.size push np.unknown jmp SendPacketOrig end;

блин, опять херня какая-то(
__________________
Начало.

Последний раз редактировалось supernewbie, 30.01.2011 в 22:09. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием
Старый 30.01.2011, 22:12   #210
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Оффтоп
b - это блок бинарных данных.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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