|
ID входящего Пати - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
20.09.2011, 11:39
|
#1
|
|
|
|
Разведчик
|
Регистрация: 01.07.2009
Сообщений: 21
Популярность: 83
Сказал(а) спасибо: 30
Поблагодарили 14 раз(а) в 11 сообщениях
|
ID входящего Пати
Бросаю пати.
Передаю ПЛ
Кикаю из пати, или сам выхожу.
Но как принять пати? Каждый раз пати ID разное.
Кликал мышкой (программно) на мигающем значке, потом отсылал 'Y'.
Проблема в том, что разрешение в игре изменил и уже мажу.
Пересматривал по адресам структуру окон. Диалоги и т.д. видит (размеры, положение), а вот мигающих пиктограмм нет =(
Вопрос:
Как мне до него добраться до этого значка, или где смотреть ID входящего пати (2-е получше будет)?
По какому адресу висид ID группы в которую приглашают? =(
Последний раз редактировалось krysun; 20.09.2011 в 14:03.
|
|
|
20.09.2011, 20:46
|
#2
|
|
|
|
Разведчик
|
Регистрация: 23.05.2010
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: ID входящего Пати
Да да вот мне тоже интересен этот вопрос правда я его уже недавно задал)) но еще не ответили ну ежели не одного меня это волнует может разгребем) вот что я узнал на китаезах серверах и выловом пакетов:
сам пакет приема имеет вид
1С 00 + (XX XX XX -id игрока)+ 00 + (XX XX XX XX - плавающее число при каждой посылке вам приглашения в пати увеличивается на +1, сначала было подумал что игра помнит сколько раз мне присылали приглашение но потом сообразил что цифра космическая на китайских форумах (слава гуглу) пишется про id некоего рисунка думаю это Есть id кнопочки одним словом нужно найти оффсет на выходных попробую, зная текущее значение этих цифр и имея возможность их изменить как я понял можно отследить оффсет с подмогой CE (осталось только научится его находить))))
Может ув. krysun меня опередит и добродушно поделится информацией
|
|
|
20.09.2011, 23:31
|
#3
|
|
|
|
Разведчик
|
Регистрация: 01.07.2009
Сообщений: 21
Популярность: 83
Сказал(а) спасибо: 30
Поблагодарили 14 раз(а) в 11 сообщениях
|
Re: ID входящего Пати
|
Цитата: |
|
|
|
|
|
|
|
|
|
думаю это Есть id кнопочки
|
|
|
|
|
|
Да нет, я думаю это ID пати как-раз. Но адрес реально искать надо...
Будем искать...
|
Цитата: |
|
|
|
|
|
|
|
|
|
опередит и добродушно поделится
|
|
|
|
|
|
Чего бы и нет)
ЗЫ: А ведь кто-то таки знает ))))
Добавлено через 17 минут
|
Цитата: |
|
|
|
|
|
|
|
|
|
я думаю это ID пати как-раз. Но адрес реально искать надо...
|
|
|
|
|
|
Проверил.
Это ID пати.
1C 00 83 79 05 00 27 EC 78 4E
Принял пати одним персом.
1C 00 83 79 05 00 27 EC 78 4E
Принял приглашение от "существующей" пати 2-м персом.
Итог - ID существующей пати не меняется.
Выход: - 2-х персов оставлять в группе, что-бы ID не менялся и кидать приглашение 3-му. Давать ПЛ, ждать вылета. Передавать ПЛ обратно бывшему и выходить.
-Неудобно =( +3-е окно лишнее =(
Ищем дальше.
-------------------------
Проверил этот вариант. Работает. Данж обновляется. ID пати считать не проблема. Её адрес исвестен.
Опять же, - 3 окна =(
Добавлено через 41 минуту
ID пати читаю так
Код:
procedure TForm1.Button24Click(Sender: TObject);
var
d:dword;
id:string;
begin
d:= getdword(hProcess,game_add); //ReadProcessMemory
d:= getdword(hprocess,d+$20);
d:= getdword(hprocess,d+$6B8);
d:= getdword(hprocess,d+$14);
d:= getdword(hprocess,d+$0);
d:= getdword(hprocess,d+$0C);
id:=inttohex(d,6);
id:=id[5]+id[6]+id[3]+id[4]+id[1]+id[2]; //Переворачиваю (в обратном порядке)
edit1.Text:=id;
end;
Последний раз редактировалось krysun; 21.09.2011 в 00:12.
Причина: Добавлено сообщение
|
|
|
21.09.2011, 00:39
|
#4
|
|
|
|
Разведчик
|
Регистрация: 05.05.2010
Сообщений: 20
Популярность: 368
Сказал(а) спасибо: 9
Поблагодарили 12 раз(а) в 10 сообщениях
|
Re: ID входящего Пати
Бросьте вы эти пакеты.
Инжектом все гораздо проще делается.
|
|
|
21.09.2011, 13:28
|
#5
|
|
|
|
Разведчик
|
Регистрация: 01.07.2009
Сообщений: 21
Популярность: 83
Сказал(а) спасибо: 30
Поблагодарили 14 раз(а) в 11 сообщениях
|
Re: ID входящего Пати
|
|
|
22.09.2011, 00:50
|
#6
|
|
|
|
Разведчик
|
Регистрация: 05.05.2010
Сообщений: 20
Популярность: 368
Сказал(а) спасибо: 9
Поблагодарили 12 раз(а) в 10 сообщениях
|
Re: ID входящего Пати
Конечно есть!
Вот адреса отправки пати 00630C60
и приема пати 00630CA0
А алгоритм описывал тут.
|
|
|
22.09.2011, 11:45
|
#7
|
|
|
|
Разведчик
|
Регистрация: 01.07.2009
Сообщений: 21
Популярность: 83
Сказал(а) спасибо: 30
Поблагодарили 14 раз(а) в 11 сообщениях
|
Re: ID входящего Пати
|
Цитата: |
|
|
|
|
|
|
|
|
|
А алгоритм описывал тут.
|
|
|
|
|
|
Я Олькой пользоватся не умею =(
Если алгоритм, примерно, такой же как описан в поиске инжекта для взятия таргета, то попытаюсь, конечно, сваять инжектик...
Спасибо большое. Будем пробовать
Добавлено через 4 часа 26 минут
Функцию споймал, вот она:
Код:
CPU Disasm
Address Hex dump Command Comments
00630CA0 /$ 56 PUSH ESI
00630CA1 |. 6A 0A PUSH 0A ; /Arg1 = 0A
00630CA3 |. E8 48841B00 CALL 007E90F0 ; \elementclient.007E9040
00630CA8 |. 8BF0 MOV ESI,EAX
00630CAA |. 83C4 04 ADD ESP,4
00630CAD |. 85F6 TEST ESI,ESI
00630CAF |. 74 2D JE SHORT 00630CDE
00630CB1 |. 8B4424 08 MOV EAX,DWORD PTR SS:[ARG.1]
00630CB5 |. 8B4C24 0C MOV ECX,DWORD PTR SS:[ARG.2]
00630CB9 |. 66:C706 1C00 MOV WORD PTR DS:[ESI],1C
00630CBE |. 8946 02 MOV DWORD PTR DS:[ESI+2],EAX
00630CC1 |. 894E 06 MOV DWORD PTR DS:[ESI+6],ECX
00630CC4 |. 8B15 0CB9A500 MOV EDX,DWORD PTR DS:[0A5B90C]
00630CCA |. 6A 0A PUSH 0A ; /Arg2 = 0A
00630CCC |. 56 PUSH ESI ; |Arg1
00630CCD |. 8B4A 20 MOV ECX,DWORD PTR DS:[EDX+20] ; |
00630CD0 |. E8 3BD6FDFF CALL 0060E310 ; \elementclient.0060E310
00630CD5 |. 56 PUSH ESI ; /Arg1
00630CD6 |. E8 25841B00 CALL 007E9100 ; \elementclient.007E9050
00630CDB |. 83C4 04 ADD ESP,4
00630CDE |> 5E POP ESI
00630CDF \. C3 RETN
Объясните, кто может, как ее привести в чувства для вставки в Delphi
И какие параметры надо ей передать?
Последний раз редактировалось krysun; 22.09.2011 в 16:11.
Причина: Добавлено сообщение
|
|
|
23.09.2011, 18:45
|
#8
|
|
|
|
Разведчик
|
Регистрация: 23.05.2010
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: ID входящего Пати
Ну вот появилось свободное время нашел оффсет последних чисел пакета подделал кой чего пользуясь предыдущими постами и Оп выкладываю любезно вам код отправки пакета на прием пати)))) авации громкие крики в зале
var
ipbuf2 word;
pa:integer;
id,patiid:string;
begin
//Находим оффсет пати
ReadProcessMemory(hProcess, ptr($a62c48), @ipbuf2, sizeof(ipbuf2), BytesCount);
ReadProcessMemory(hProcess, ptr(ipbuf2+$14), @pa, sizeof(pa), BytesCount);
//переводим в хЭкС и переворачиваем) тру способ))
id:=inttohex(pa,8);
id:=id[7]+id[8]+id[5]+id[6]+id[3]+id[4]+id[1]+id[2];
//для удобства готовим пакет в отдельный СтринГ.
//Где: 1C00' - это есть фиксированный число приема пати.
// 'ХХХХХХ' - это есть ID игрока бросающего вам пати узнать
// можно легко по оффсету $A5B90C+$1C+$20+$B0C и проделав действия
// с переводом в Hex и переворотом вставить.
// '00'- это нулики))) не забываем про них.
// id - проблемный ID пати)
patiid:='1C00'+'ХХХХХХ'+'00'+id;
// Отправляем пакетик!
Packet(patiid);
|
|
|
21.10.2011, 06:10
|
#9
|
|
|
|
Разведчик
|
Регистрация: 07.02.2011
Сообщений: 38
Популярность: 143
Сказал(а) спасибо: 5
Поблагодарили 20 раз(а) в 11 сообщениях
|
Re: ID входящего Пати
Если кому надо то с генезисом a62c48 изменилось на B30258
|
|
|
07.01.2013, 15:01
|
#10
|
|
|
|
Разведчик
|
Регистрация: 03.08.2012
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: ID входящего Пати
а для текущей версии руоффа не подскажите? И самое интересное: как вы его находите? о_О Я часа 3 искал, а найти не смог(
|
|
|
07.01.2013, 15:55
|
#11
|
|
|
|
Пехотинец
|
Регистрация: 31.08.2010
Сообщений: 64
Популярность: 129
Сказал(а) спасибо: 30
Поблагодарили 12 раз(а) в 7 сообщениях
|
Re: ID входящего Пати
________________
Спасибо.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 06:04.
|
|