|
Delphi отправка пакетов - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
04.02.2012, 11:26
|
#1
|
|
|
|
Старший сержант
|
Регистрация: 06.01.2010
Сообщений: 217
Популярность: 1089
Сказал(а) спасибо: 240
Поблагодарили 75 раз(а) в 48 сообщениях
|
Delphi отправка пакетов
Собстно я пробка в отправке пакетов, вот и склеил программу из найденных в инетах исходников, уверен что бывалые девелоперы усмехнутся над этим бредом, но тыкните пальцем что и где не правильно, программа запускается, но ничего не происходит.
Пытаюсь заставить открыть сундук своего перса
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Type
PParams = ^TParams;
TParams = packed record
Packet: array [0..100] of byte;
Param1,Param2,Param3: DWord;
Param4: array [1..100] of widechar;
end;
function dwValueToString(Value: DWORD): String;
var
St: string;
begin
St := IntToHex(Value, 8);
result := st[7]+st[8]+' '+
st[5]+st[6]+' '+
st[3]+st[4]+' '+
st[1]+st[2];
end;
function wValueToString(Value: WORD): String;
var
St: string;
begin
St := IntToHex(Value, 4);
result := st[3]+st[4]+' '+
st[1]+st[2];
end;
procedure PacketCall(aPParams: PParams); stdcall;
var
CallAddress,pPacket:pointer;
BaseAddresses: DWord;
Len:DWord;
begin
CallAddress:=Pointer(aPParams^.Param1);
BaseAddresses:=aPParams^.Param2;
Len:=aPParams^.Param3;
pPacket:=@aPParams^.Packet;
asm
pushad
mov ecx, BaseAddresses
mov ecx, dword ptr [ecx]
mov ecx, dword ptr [ecx+$20]
push Len
push pPacket
call CallAddress
popad
end;
end;
procedure StrToByte(Packet:string; var aParams:TParams);
var
i, n, len: integer;
vSt: string;
begin
len := length(Packet);
i := 1;
n := 0;
vSt := '';
while i <= len do
begin
if Packet[i] in ['0'..'9', 'A'..'F'] then
vSt := vSt + Packet[i];
if not (Packet[i] in ['0'..'9', 'A'..'F']) or (i = len) then
begin
aParams.Packet[n]:=strtoint('$'+vSt);
inc(n);
vSt := '';
end;
inc(i);
end;
aParams.Param3 := n;
end;
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 Packet(Packet: string);
var
aParams: TParams;
begin
aParams.Param1 := $00668490; \\вроде как BaseAdress
StrToByte(Packet, aParams);
aParams.Param2 := $00B27A04; \\ UseSkill
end;
procedure Use(UseID: DWORD);
begin
Packet('28 00 00 01 00 00 50 6B 00 00 '+dwValueToString(UseID)); // перехваченный мною пакет открытия
end;
end.
________________
Dota 2 Jolie/Onotroll/Anatrop
|
|
|
04.02.2012, 11:38
|
#2
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Delphi отправка пакетов
1.Аццкий бред
2.Оффсеты не верные.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
Пользователь сказал cпасибо:
|
|
04.02.2012, 12:05
|
#3
|
|
|
|
Рыцарь-капитан
|
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
|
Re: Delphi отправка пакетов
|
Цитата: |
|
|
|
|
|
|
|
|
|
вот и склеил программу из найденных в инетах исходников
|
|
|
|
|
|
А чем не устраивает функция:
Код:
procedure PacketCall(aPParams:PParams); stdcall;
var
CallAddress,pPacket:pointer;
Len:DWord;
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(bytecode) 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(aParams));
end;
Адрес теперь тут:
PackCall=006737B0 - на руофе.
Взял тут: http://zhyk.ru/forum/showpost.php?p=719249&postcount=1 - там же базовый набор пакетов есть. Остальные сможешь сам найти с помощью программы Packet Listener - лежит тут http://zhyk.ru/forum/showthread.php?t=276220
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
Последний раз редактировалось krukovis; 04.02.2012 в 12:11.
|
|
|
04.02.2012, 12:16
|
#4
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Delphi отправка пакетов
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
Последний раз редактировалось VeTaL_UA; 04.02.2012 в 12:19.
Причина: Добавлено сообщение
|
|
|
Пользователь сказал cпасибо:
|
|
04.02.2012, 12:30
|
#5
|
|
|
|
Фельдмаршал
|
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
|
Re: Delphi отправка пакетов
________________
Ни одно доброе дело не остается безнаказанным.
Программы:
PW: Флудобот, Девизхак, OutFocusBot, OutFocusBot ver 3 (freepvp), PWMultiHack ver 3, AutoRespawn.
JD: JDMultiHack, JDFlooder, JDBot.
Статьи: Отключаем UAC, Ищем базовый адрес Perfect World, "Патчер памяти" или "Пишем флайхак", "Патчер памяти 2" или "Пишем Джампхак", "Поиск инжектов" или "Наш код в чужом процессе"
|
|
|
04.02.2012, 12:37
|
#6
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Delphi отправка пакетов
Дин, эта часть кода не была здесь показана
И вообще, я не сразу вьехал, что код твой
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
Последний раз редактировалось VeTaL_UA; 04.02.2012 в 18:21.
|
|
|
04.02.2012, 14:54
|
#7
|
|
|
|
Пехотинец
|
Регистрация: 26.12.2011
Сообщений: 50
Популярность: -124
Сказал(а) спасибо: 32
Поблагодарили 72 раз(а) в 37 сообщениях
|
Re: Delphi отправка пакетов
кот немного с опечатками, поправь, и не используй PW_BASE_ADDRESS=$00B27A04 это опечтка тоже
|
|
|
Пользователь сказал cпасибо:
|
|
04.02.2012, 15:37
|
#8
|
|
|
|
Рыцарь-капитан
|
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
|
Re: Delphi отправка пакетов
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
|
|
|
04.02.2012, 15:55
|
#9
|
|
|
|
Главнокомандующий
|
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: Delphi отправка пакетов
|
|
|
04.02.2012, 16:12
|
#10
|
|
|
|
Старший сержант
|
Регистрация: 06.01.2010
Сообщений: 217
Популярность: 1089
Сказал(а) спасибо: 240
Поблагодарили 75 раз(а) в 48 сообщениях
|
Re: Delphi отправка пакетов
Исправил свой код по вашим постам
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
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 = $00B27A04;
PW_GAMERUN_ADDR = $009C1514; \\ что эт за адрес?, и актуален ли он для руофа (аксовского клиента с рыбами)?
function dwValueToString(Value: DWORD): String;
var
St: string;
begin
St := IntToHex(Value, 8);
result := st[7]+st[8]+' '+
st[5]+st[6]+' '+
st[3]+st[4]+' '+
st[1]+st[2];
end;
function wValueToString(Value: WORD): String;
var
St: string;
begin
St := IntToHex(Value, 4);
result := st[3]+st[4]+' '+
st[1]+st[2];
end;
procedure PacketCall(aPParams:PParams); stdcall;
var
CallAddress,pPacket:pointer;
Len:DWord;
begin
CallAddress:=Pointer($006737B0);
Len:=aPParams^.Param1;
pPacket:=@aPParams^.Packet;
asm
pushad
mov ecx, dword ptr [PW_BASE_ADDRESS]
mov ecx, dword ptr [ecx+$34]
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('$'+Packet[i*2+1]+Packet[i*2+2]);
end;
procedure Packet(Packet: string);
var
aParams: TParams;
begin
StrToByte(Packet,aParams);
InjectFunc(ProcessID,@PacketCall,@aParams,sizeof(aParams)); \\ на эту строку делфи ругается при запуске ([Error] Unit1.pas(88): Undeclared identifier: 'InjectFunc'), а если уберу то запуск идет нормально
end;
end
Кстати, не увидел где сама функция отправления пакетов в моем случае это активирование итема в инвентаре, 28 00 00 01 00 00 50 6B 00 00.
З.Ы. А может ли делфи выковыривать принятые пакеты, просто нужно зациклить отправку, только чтобы она происходила только после получения пакетов получения дропа с сундука (простите за тавтологию)
Как привязать зацикливание и остановку отправки пакетов к клавише?
________________
Dota 2 Jolie/Onotroll/Anatrop
Последний раз редактировалось ~ГайвеР~; 04.02.2012 в 16:25.
|
|
|
04.02.2012, 17:12
|
#11
|
|
|
|
Фельдмаршал
|
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
|
Re: Delphi отправка пакетов
________________
Ни одно доброе дело не остается безнаказанным.
Программы:
PW: Флудобот, Девизхак, OutFocusBot, OutFocusBot ver 3 (freepvp), PWMultiHack ver 3, AutoRespawn.
JD: JDMultiHack, JDFlooder, JDBot.
Статьи: Отключаем UAC, Ищем базовый адрес Perfect World, "Патчер памяти" или "Пишем флайхак", "Патчер памяти 2" или "Пишем Джампхак", "Поиск инжектов" или "Наш код в чужом процессе"
|
|
|
Пользователь сказал cпасибо:
|
|
04.02.2012, 17:30
|
#12
|
|
|
|
Старший сержант
|
Регистрация: 06.01.2010
Сообщений: 217
Популярность: 1089
Сказал(а) спасибо: 240
Поблагодарили 75 раз(а) в 48 сообщениях
|
Re: Delphi отправка пакетов
Так и не понял, куда именно вписать нужный мне пакет для отправки
________________
Dota 2 Jolie/Onotroll/Anatrop
|
|
|
04.02.2012, 17:33
|
#13
|
|
|
|
Пехотинец
|
Регистрация: 12.07.2010
Сообщений: 88
Популярность: 56
Сказал(а) спасибо: 19
Поблагодарили 24 раз(а) в 17 сообщениях
|
Re: Delphi отправка пакетов
________________
Лучшая благодарность нажать СПАСИБО.
Спасибо недоступно - нажмите на плюсик возле аватара
|
|
|
Пользователь сказал cпасибо:
|
|
04.02.2012, 18:22
|
#14
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Delphi отправка пакетов
|
Цитата: |
|
|
|
|
|
|
|
|
|
аццко режет глаза
|
|
|
|
|
|
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
29.10.2012, 17:51
|
#15
|
|
|
|
Разведчик
|
Регистрация: 11.06.2010
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Delphi отправка пакетов
пытаюсь отправить пакет но у меня ничего не происходит.
Подскажите...
....
всё справился...
Последний раз редактировалось Morkanus; 04.11.2012 в 17:10.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 23:38.
|
|