Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Сбор пати

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 29.09.2013, 16:40   #1
 Разведчик
Аватар для Gorrilaz
 
Gorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известен
Регистрация: 23.06.2009
Сообщений: 38
Популярность: 392
Сказал(а) спасибо: 7
Поблагодарили 8 раз(а) в 2 сообщениях
 
По умолчанию Сбор пати

Алгоритм сбора группы/отряда.
Где то было по этому поводу...
Может кто то помочь/подсказать?
________________
Три рубля много, спасибо хватит!

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 29.09.2013, 20:58   #2
 Пехотинец
Аватар для sedrik1992
 
sedrik1992 никому не известный тип
Регистрация: 03.02.2013
Сообщений: 60
Популярность: 10
Сказал(а) спасибо: 12
Поблагодарили 26 раз(а) в 12 сообщениях
 
По умолчанию Re: Сбор пати

В теме оффсетов где-то на последних страницах искали флаг пригласа в патьку.
Я думаю, когда приходит приглас, то флаг пригаса меняется.
затем выполняется какая-то ф-я, в которой 100% в качестве аргумента
будет присутствовать ID того, кто приглашает (т.к. выводится имя того, кто приглас кидает). Я не сильно силён в asm, поэтому сам с этим помочь не могу
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 30.09.2013, 01:03   #3
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: Сбор пати

не понял вопроса на счет алгаритма. а пакет состоит из 3 составляющих это{1C00} {ID отправляющего}+{ID пати} по 8 байт от каждого. ID всегда разный
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 30.09.2013, 04:43   #4
 Разведчик
Аватар для Gorrilaz
 
Gorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известен
Регистрация: 23.06.2009
Сообщений: 38
Популярность: 392
Сказал(а) спасибо: 7
Поблагодарили 8 раз(а) в 2 сообщениях
 
По умолчанию Re: Сбор пати

Цитата:
Сообщение от GinreyПосмотреть сообщение
не понял вопроса на счет алгаритма. а пакет состоит из 3 составляющих это{1C00} {ID отправляющего}+{ID пати} по 8 байт от каждого. ID всегда разный

Если просто то... Как собрать отряд по средствам программного кода?
________________
Три рубля много, спасибо хватит!

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 30.09.2013, 09:25   #5
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: Сбор пати

Gorrilaz, в том и суть что неизвестно как вы хотите их собрать , возможностей есть несколько, но для этого надо уметь находить нужные области памяти для дальнейшего инжектинга
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 30.09.2013, 16:35   #6
 Разведчик
Аватар для Gorrilaz
 
Gorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известен
Регистрация: 23.06.2009
Сообщений: 38
Популярность: 392
Сказал(а) спасибо: 7
Поблагодарили 8 раз(а) в 2 сообщениях
 
По умолчанию Re: Сбор пати

Как то так.
(Взято из этой темы)
type
PParams = ^TParams;
TParams = packed record
Packet: array [0..100] of byte;
Param1,Param2,Param3: DWord;
Param4: array [1..100] of widechar;
end;

const
PW_BASE_ADDRESS = $009C0E6C;
PW_GAMERUN_ADDR = $009C1514;
Injector (© asgborges)

Код:
procedure InjectFunc(ProcessID: Cardinal; Func, aParams: Pointer;
aParamsSize: DWord);
var
hThread: THandle;
lpNumberOfBytes: DWord;
ThreadAddr, ParamAddr: Pointer;
begin
if ProcessID<>0 then
begin
// ---- Выделяем место в памяти процесса, и записываем туда нашу функцию
ThreadAddr := VirtualAllocEx(ProcessID, nil, 256, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(ProcessID, ThreadAddr, Func, 256, lpNumberOfBytes);

// ---- Также запишем параметры к ней
ParamAddr := VirtualAllocEx(ProcessID, nil, aParamsSize, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(ProcessID, ParamAddr, aParams, aParamsSize, lpNumberOfBytes);

// ---- Создаем поток, в котором все это будет выполняться.
hThread := CreateRemoteThread(ProcessID, nil, 0, ThreadAddr, ParamAddr, 0, lpNumberOfBytes);

// ---- Ожидаем завершения функции
WaitForSingleObject(hThread, INFINITE);

// ---- подчищаем за собой
CloseHandle(hThread);
VirtualFreeEx(ProcessID, ParamAddr, 0, MEM_RELEASE);
VirtualFreeEx(ProcessID, ThreadAddr, 0, MEM_RELEASE);
end
end;


Инжект пакетов.
Packet Injection (© Dinmaite) (Адрес обновлен)

Код:
procedure PacketCall(aPParams:PParams); stdcall;
var
CallAddress,pPacketointer;
LenWord;
begin
CallAddress:=Pointer($0060E310); // Старый адрес - $005D7C30
Len:=aPParams^.Param1;
pPacket:=@aPParams^.Packet;
asm
pushad
mov ecx, dword ptr [PW_BASE_ADDRESS]
mov ecx, dword ptr [ecx+$20]
push Len
push pPacket
call CallAddress
popad
end;
end;

procedure StrToByte(Packet:string; var aParams:TParams);
var
i:integer;
begin
i:=(length(Packet) div 2)-1;
aParams.Param1:=i+1;
for i:=0 to i do
aParams.Packet[i]:=strtoint('$'+bytecode[i*2+1]+bytecode[i*2+2]);
end;

procedure Packet(Packet: string);
var
aParams: TParams
begin
StrToByte(Packet,aParams);
InjectFunc(ProcessID,@PacketCall,@aParams,sizeof(a Params));
end;


1B 00 E1 0E 56 00 - Пригласить в пати. Песочный - id персонажа.


Как то хочется вот из этого соорудить сбор пати)
________________
Три рубля много, спасибо хватит!

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Последний раз редактировалось Gorrilaz; 30.09.2013 в 16:57.
  Ответить с цитированием
Старый 30.09.2013, 19:48   #7
 Разведчик
Аватар для Paseka
 
Paseka никому не известный тип
Регистрация: 16.07.2009
Сообщений: 17
Популярность: 14
Сказал(а) спасибо: 33
Поблагодарили 4 раз(а) в 4 сообщениях
 
По умолчанию Re: Сбор пати

тоже кстати интересует этот вопрос, не знаю для чего ТСу, но я себе представляю это как автоматический сбор пати и тп в ХХ.
  Ответить с цитированием
Старый 30.09.2013, 21:44   #8
 Пехотинец
Аватар для tianddu
 
tianddu на правильном путиtianddu на правильном пути
Регистрация: 20.08.2009
Сообщений: 90
Популярность: 173
Сказал(а) спасибо: 14
Поблагодарили 26 раз(а) в 8 сообщениях
 
По умолчанию Re: Сбор пати

меняй офсеты ВА и ГА, для примера брось кнопку и вставь в нее...
Packet('1C00'+XXXXXXXX+YYYYYYYY);
что значать Х и У уже описано выше, как их получать разжевано в последних страницах поисков офсетов
  Ответить с цитированием
Пользователь сказал cпасибо:
Paseka (01.10.2013)
Старый 01.10.2013, 00:39   #9
 Разведчик
Аватар для Gorrilaz
 
Gorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известен
Регистрация: 23.06.2009
Сообщений: 38
Популярность: 392
Сказал(а) спасибо: 7
Поблагодарили 8 раз(а) в 2 сообщениях
 
По умолчанию Re: Сбор пати

А CallAddress есть для РуОфф?

Уже нашел... 6F55E0

Сам спросил, сам ответил)
________________
Три рубля много, спасибо хватит!

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Последний раз редактировалось Gorrilaz; 05.10.2013 в 04:56.
  Ответить с цитированием
Старый 07.10.2013, 16:10   #10
 Разведчик
Аватар для Gorrilaz
 
Gorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известен
Регистрация: 23.06.2009
Сообщений: 38
Популярность: 392
Сказал(а) спасибо: 7
Поблагодарили 8 раз(а) в 2 сообщениях
 
По умолчанию Re: Сбор пати

Цитата:
Сообщение от tiandduПосмотреть сообщение
меняй офсеты ВА и ГА, для примера брось кнопку и вставь в нее...
Packet('1C00'+XXXXXXXX+YYYYYYYY);
что значать Х и У уже описано выше, как их получать разжевано в последних страницах поисков офсетов

Я сейчас задам гениальный вопрос наверное, но куда вставлять Packet('1C00'+XXXXXXXX+YYYYYYYY) в коде, что значат X и Y это я понял.
________________
Три рубля много, спасибо хватит!

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 07.10.2013, 16:21   #11
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: Сбор пати

Цитата:
Сообщение от GorrilazПосмотреть сообщение
Я сейчас задам гениальный вопрос наверное, но куда вставлять Packet('1C00'+XXXXXXXX+YYYYYYYY) в коде, что значат X и Y это я понял.

вопрос действительно гениальный, начнем с того, откуда все начиналась и какова была первоначальная цель - "принимать в пати" , так в чем собственно заминка? пакет принимает пати, следовательно отправлять его тогда , когда приглашение поступило, вроде бы логично
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 07.10.2013, 16:29   #12
 Разведчик
Аватар для Gorrilaz
 
Gorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известен
Регистрация: 23.06.2009
Сообщений: 38
Популярность: 392
Сказал(а) спасибо: 7
Поблагодарили 8 раз(а) в 2 сообщениях
 
По умолчанию Re: Сбор пати

Цитата:
Сообщение от GinreyПосмотреть сообщение
вопрос действительно гениальный, начнем с того, откуда все начиналась и какова была первоначальная цель - "принимать в пати" , так в чем собственно заминка? пакет принимает пати, следовательно отправлять его тогда , когда приглашение поступило, вроде бы логично

Не не не, я может быть не так вопрос сформулировал...

Инжект пакетов.
Packet Injection (© Dinmaite) (Адрес обновлен)

Код:
procedure PacketCall(aPParams:PParams); stdcall;
var
CallAddress,pPacketointer;
LenWord;
begin
CallAddress:=Pointer($0060E310); // Старый адрес - $005D7C30
Len:=aPParams^.Param1;
pPacket:=@aPParams^.Packet;
asm
pushad
mov ecx, dword ptr [PW_BASE_ADDRESS]
mov ecx, dword ptr [ecx+$20]
push Len
push pPacket
call CallAddress
popad
end;
end;

Вот пакет 28 00 01 01 0C 00 (вызова флайта к примеру)
Куда в коде инжекта вставляется пакет?
________________
Три рубля много, спасибо хватит!

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Последний раз редактировалось Gorrilaz; 07.10.2013 в 16:31.
  Ответить с цитированием
Старый 07.10.2013, 16:39   #13
 Пехотинец
Аватар для tianddu
 
tianddu на правильном путиtianddu на правильном пути
Регистрация: 20.08.2009
Сообщений: 90
Популярность: 173
Сказал(а) спасибо: 14
Поблагодарили 26 раз(а) в 8 сообщениях
 
По умолчанию Re: Сбор пати

допустим берешь процедуру по нажатию кнопки...пишешь в ней Packet('280001010C00');
она вызовет соответственно:
Цитата:
procedure Packet(Packet: string);
var
aParams: TParams
begin
StrToByte(Packet,aParams);
InjectFunc(ProcessID,@PacketCall,@aParams,sizeof(a Params));
end;

затем внутри её выполнится:
Цитата:
procedure StrToByte(Packet:string; var aParams:TParams);
var
i:integer;
begin
i:=(length(Packet) div 2)-1;
aParams.Param1:=i+1;
for i:=0 to i do
aParams.Packet[i]:=strtoint('$'+bytecode[i*2+1]+bytecode[i*2+2]);
end;

которая в свою очередь выдаст готовый к употреблению пакет в aParams.Packet[i]...
затем пойдет дальше:
Цитата:
InjectFunc(ProcessID,@PacketCall,@aParams,sizeof(a Params));

вызовется функция инжекта с этими параметрами.. один из параметров равен процедуре PacketCall так сказать...
а конкретно в процедуре вроде сюда
длинна
Len:=aPParams^.Param1;
пакет
pPacket:=@aPParams^.Packet;

длинна
push Len
пакет
push pPacket
  Ответить с цитированием
Пользователь сказал cпасибо:
Gorrilaz (08.10.2013)
Старый 08.10.2013, 00:40   #14
 Разведчик
Аватар для Gorrilaz
 
Gorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известенGorrilaz скоро будет известен
Регистрация: 23.06.2009
Сообщений: 38
Популярность: 392
Сказал(а) спасибо: 7
Поблагодарили 8 раз(а) в 2 сообщениях
 
По умолчанию Re: Сбор пати

Цитата:
Сообщение от tiandduПосмотреть сообщение
procedure Packet(Packet: string);
var
aParams: TParams
begin
StrToByte(Packet,aParams);
InjectFunc(ProcessID,@PacketCall,@aParams,sizeof(a Params));
end;

В упор не видел эту процедуру в теме Dinmaite (она была ниже видимой области)

Очень стыдно. Очень, очень стыдно...

[Ссылки могут видеть только зарегистрированные пользователи. ]

Теперь то всё сходится.

Спасибо.
________________
Три рубля много, спасибо хватит!

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Последний раз редактировалось Gorrilaz; 08.10.2013 в 00:46.
  Ответить с цитированием
Ответ


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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Dota 2] Сбор пати на абуз опыта/карточек. Roch Общение и обсуждение Dota 2 25 29.07.2013 23:39
[Помогите!] Сбор пати на прокачку комби. qwertyzuiop Общение и обсуждение S4 League 2 27.07.2013 15:25
[Dota 2] Сбор пати на абуз опыта/карточек. Roch Общение и обсуждение Dota 2 8 06.07.2013 06:35
[Информация] РУ1 МАРС СБОР БОТО-ПАТИ НА КУБОВ! fsdffdsfdsdf Общение и обсуждение 13 18.11.2012 19:22
[Информация] Сбор пати и основы общения с иностранцами на PWI AEBus Статьи, квесты и описания по Perfect World 23 09.08.2011 20:37

Заявление об ответственности / Список мошенников

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

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net