 |
Пакеты - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
02.05.2012, 18:08
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 30.09.2011
 Сообщений: 13
 Популярность: -94
 Сказал(а) спасибо: 19
Поблагодарили 1 раз в 1 сообщении
|
Пакеты
Вобщем хочу проявить эффективность на форуме и решил написать программу полезную для жука)
Уже придумал для чего она будет и решил написать ие на дельфи, только языка я этого не знаю)
Смотрел много уроков, даже хорошо получалось по ним делать програмки, но они не как небыли связаны с пв и тд, и вот решил спросить.
Как правильно написать чтоб когда нажимаешь на кнопку он отправлял всего лишь 1 пакет и все. кто поможет - обиженным не оставлю.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
02.05.2012, 18:50
|
#2
|
|
|
|
Капитан
|
 Регистрация: 11.08.2010
 Сообщений: 254
 Популярность: 9232
 Сказал(а) спасибо: 300
Поблагодарили 334 раз(а) в 223 сообщениях
|
Re: Пакеты
Пакеты бывают In Game и Out of Game.
Вам какой ?
|
|
|
02.05.2012, 19:03
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 30.09.2011
 Сообщений: 13
 Популярность: -94
 Сказал(а) спасибо: 19
Поблагодарили 1 раз в 1 сообщении
|
Re: Пакеты
In Game
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
02.05.2012, 20:01
|
#4
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 31.01.2011
 Сообщений: 413
 Популярность: 14489
 Золото Zhyk.Ru: 300
 Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: Пакеты
1 . Берем самоучитель, делаем программу, понимаем, что всё легко
2. Идем на жук/пвлаб.нет и ищем рабочий инжектор для нужного языка.
3. Пытаемся написать программу и при каждой ошибке лезем в гугл.
4. Через какое-то время получается простенькая программа.
5. Оформляем её (не как у меня было "ЙА ПЕРВАЯ КНОПКА")
6. Профит!1
Также можно поприставать к знающим людям, помогут
Я вот за пару недель научился
Добавлено через 2 минуты
dimonpw3, кстати какая идея-то?
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
Последний раз редактировалось Smertig; 02.05.2012 в 20:04.
Причина: Добавлено сообщение
|
|
|
Пользователь сказал cпасибо:
|
|
02.05.2012, 20:04
|
#5
|
|
|
|
Старший сержант
|
 Регистрация: 09.04.2010
 Сообщений: 204
 Популярность: 5518
 Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
|
Re: Пакеты
|
|
|
02.05.2012, 20:09
|
#6
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 31.01.2011
 Сообщений: 413
 Популярность: 14489
 Золото Zhyk.Ru: 300
 Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: Пакеты
Всё в кратце опишу:
В программе должна быть форма - то есть оболочка. Кнопка1 и комбобокс, в который при нажатии кнопки1 выводится список окон пв (происходит поиск процессов, отсеиваются процессы пв).
Дальше кнопка, которая подставляет в функцию отправки пакета сам пакет. И наконец сама функция отправки - так называемый инжектор.
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
Пользователь сказал cпасибо:
|
|
02.05.2012, 20:13
|
#7
|
|
|
|
Разведчик
|
 Регистрация: 30.09.2011
 Сообщений: 13
 Популярность: -94
 Сказал(а) спасибо: 19
Поблагодарили 1 раз в 1 сообщении
|
Re: Пакеты
Хотел начать с самого простого - сделать программу чтоб когда нажимаешь например букву "z" и у тебя он отправляет пакет 03 00 00
С помощью этого пакета можно набивать чи что в писе, и на том кто у тебя в пати.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
02.05.2012, 22:27
|
#8
|
|
|
|
Разведчик
|
 Регистрация: 14.12.2011
 Сообщений: 4
 Популярность: 14
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
|
Re: Пакеты
- 1) Ищем запущенный клиент (для примера хватит и одного), получаем идентификатор процесса
Код:
function GetProcID(Names: String): cardinal;//найдено в гугле
var
PHandle: THandle;
ProcEntry: TProcessEntry32;
lpName, Name: string;
begin
Result:=0;
Name:=UpperCase(Names);
PHandle:=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
ProcEntry.dwSize:=sizeof(TProcessEntry32);
if Process32First(PHandle, ProcEntry) then
repeat
lpName:=ProcEntry.szExeFile;
lpName:=UpperCase(lpName);
if lpName=Name then
begin
Result:=ProcEntry.th32ProcessID;
Break;
end;
until not Process32Next(PHandle, ProcEntry);
CloseHandle(PHandle);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
h := GetProcID('elementclient.exe');
end;
- 2) Подключаемся к процессу, записываем хэндл в переменную
Код:
hProcess := OpenProcess(PROCESS_ALL_ACCESS, False, h);
- 3) Берём инжектор функций, ф-ю отправки пакетов и необходимые оффсеты на Жуке в соседних разделах
Код:
////////////////////////////////////////////////////////////////////////////////
////////////////Инжектор и ф-я отправки пакетов////////////////////////
////////////////////////////////////////////////////////////////////////////////
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;
procedure PacketCall(aPParams:PacParams); stdcall; ///////////
var ///////////
CallAddress,pPacket:pointer; ///////////
Len:DWord; ///////////
begin ///////////
CallAddress:=Pointer(PacCallAddress); ///////////
Len:=aPParams^.Param1; ///////////
pPacket:=@aPParams^.Packet; ///////////
asm ///////////
pushad ///////////
mov ecx, dword ptr [BA] ///////////
mov ecx, dword ptr [ecx+$20] ///////////
push Len ///////////
push pPacket ///////////
call CallAddress ///////////
popad ///////////
end; ///////////
end; ///////////
///////////
procedure StrToByte(Packet:string; var aPrm:TpParams); ///////////
var ///////////
i:integer; ///////////
begin ///////////
i:=(length(Packet) div 2)-1; ///////////
aPrm.Param1:=i+1; ///////////
for i:=0 to i do aPrm.Packet[i]:=strtoint('$'+Packet[i*2+1]+Packet[i*2+2]);
end; ///////////
///////////
procedure Packet(Packet: string); ///////////
var ///////////
aPrm: TpParams; ///////////
begin ///////////
StrToByte(Packet,aPrm); ///////////
InjectFunc(hProcess,@PacketCall,@aPrm,sizeof(aPrm)); ///////////
end; ///////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
- 4) Отправляем пакет
Осталось сделать это по нажатию нужной тебе клавиши. Наверно ты справишься
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
02.05.2012, 23:34
|
#9
|
|
|
|
Разведчик
|
 Регистрация: 30.09.2011
 Сообщений: 13
 Популярность: -94
 Сказал(а) спасибо: 19
Поблагодарили 1 раз в 1 сообщении
|
Re: Пакеты
Спасибо что разжевал все подробно и рассказал, хоть теперь как-то приближено буду понимать как пишется это)
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Продам] РУ3 все пакеты.
|
Only-For-Fun |
Dark Orbit |
0 |
26.01.2012 17:43 |
[Помогите!] Пакеты
|
Yelllow |
Общение и обсуждение S4 League |
2 |
20.02.2011 23:37 |
[Помогите!] PVP WAR и пакеты
|
Azik1993 |
Вопросы и ответы: RF Online |
0 |
02.08.2010 11:30 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 14:02.
|
 |