L2PacketHackФорум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела!
Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
//QaK:отдельная тема по подкючению пакетхака к серверу >>>>>>>>тут
любые вопросы по данной тематике в этом топе будут удаляться без предупреждения.
Код:
const
mp='8A 1B 15 01 10';
hp='8A 1A 15 01 10';
begin
if fromclient and (pck[1]=#$38#$F5#$00#$EF#$00#$00#$00#$03#$00#$00#$00) then
begin
buf:=hstr(hp);
SendToServer;
end;
if fromclient and (pck[2]=#$33#$F5#$00#$EF#$00#$40#$00#$03#$00#$00#$00) then
begin
buf:=hstr(mp);
SendToServer;
end;
end.
где я ошибся?
Последний раз редактировалось QaK, 30.08.2010 в 18:56.
ааа хелп! случилось нечто мистическое :\ Пакетхак 3.5.28.151 перестал детектить л2.ехе ---> запускаю пх потом л2, захожу в игру, делаю alt+tab но прога вообще не показывает ничего (как в режыме оффлайна). настройки не крутил, ничего неменял с последнего (удачного) использования ... в чём проблема может быть?
function WSPStartup(wVersionRequested: WORD; lpWSPData: LPWSPDATA;
lpProtocolInfo: LPWSAPROTOCOL_INFOW; UpcallTable: WSPUPCALLTABLE;
lpProcTable: LPWSPPROC_TABLE): Integer; stdcall;
var
WSPStartupFunc : LPWSPSTARTUP;
WSAData: TWSADATA;
Buf: PWSAPROTOCOL_INFOW;
hDLL : Cardinal;
wDLLpath: PWideChar;
sDllpath: String;
Len, Layerid, NextLayerid: dword;
iLen, i, Count, Error: Integer;
begin
WSAStartUp($202, WSAData);
Count := WSCEnumProtocols(nil, buf, len, error);
if Count = -1 then begin
GetMem(Buf, Len+1);
Count := WSCEnumProtocols(nil, buf, len, error);
end;
for i:=1 to Count do begin
if @buf.ProviderId = @LSPGUID then begin
Layerid := buf.dwCatalogEntryId;
break;
end;
buf := Pointer(Dword(buf) +$274);
end;
for i:=0 to lpProtocolInfo.ProtocolChain.ChainLen do begin
if lpProtocolInfo.ProtocolChain.ChainEntries[i] = Layerid then begin
NextLayerid := lpProtocolInfo.ProtocolChain.ChainEntries[i+1];
break;
end;
end;
for i:=1 to Count do begin
if NextLayerid = buf.dwCatalogEntryId then begin
iLen := 255;
WSCGetProviderPath(buf.ProviderId, wDLLpath, iLen, Error);
sDLLpath := WideCharLenToString(wDLLpath, Length(wDLLpath));
Break;
end;
buf := Pointer(Dword(buf) +$274);
end;
hDLL := Loadlibrary(Pchar(sDLLpath));
if hDLL = 0 then Exit;
WSPStartupFunc := LPWSPSTARTUP(GetProcAddress(hDLL,pchar('WSPStartup')));
if assigned(WSPStartupFunc) then
begin
result := WSPStartupFunc(wVersionRequested,lpWSPData,lpProtocolInfo,UpcallTable,lpProcTable);
if result = 0 then
begin
NextProcTable:=lpProcTable^;
lpProcTable.lpWSPRecv := WSPRecv;
end;
end;
end;
Здравствуйте нужна помощь по поводу La2phx.дело в том что когда отправляш какой либо пакет,сразу же дисконектит с сервера.Очень интересно узнать в чём причина?сервер Interlude ява сборки
AdamBeyer,
главное пакеты отправлять
правильно
если серверу то от клиента какой пакет ты поймал надо отправлять
а не какой от сервера принял и отправить серверу
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать
alexteam, Dll пашет до тех пор пока не выставляю хук на какую либо функцию (здесь WSPRecv). Перехват вроде как происходит, но инет отпадает как будто я дропаю wsprecv. В чем может быть проблема ?
Код:
function WSPRecv(s: TSocket; lpBuffers: LPWSABUF; dwBufferCount: DWORD;
var lpNumberOfBytesRecvd, lpFlags: DWORD; lpOverlapped: LPWSAOVERLAPPED;
lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE; lpThreadId: LPWSATHREADID;
var lpErrno: Integer): Integer; stdcall;
begin
result := NextProcTable.lpWSPRecv(s,lpBuffers,dwBufferCount,lpNumberOfBytesRecvd,
lpFlags,lpOverlapped,lpCompletionRoutine,lpThreadId,
lpErrno);
end;
function WSPStartup(wVersionRequested: WORD; lpWSPData: LPWSPDATA;
lpProtocolInfo: LPWSAPROTOCOL_INFOW; UpcallTable: WSPUPCALLTABLE;
lpProcTable: LPWSPPROC_TABLE): Integer; stdcall;
var
Count, Error, i, iLen: integer;
EnumBuf: LPWSAPROTOCOL_INFOW;
Len, LayerID, NextLayerID, hDLL: dword;
wDllPath, DllPath: PWideChar;
WSPStartupFunc: LPWSPSTARTUP;
begin
Len := $ffff;
GetMem(EnumBuf, Len);
Count := WSCEnumProtocols(nil, EnumBuf, Len, Error);
// Ищем свой номерок в каталоге
for i:=0 to count-1 do begin
if string(EnumBuf.szProtocol) = Layer then begin
LayerID := EnumBuf.dwCatalogEntryId;
break;
end;
EnumBuf := Pointer(Dword(EnumBuf)+SizeOf(TWSAPROTOCOL_INFOW));
end;
// Ищем следующего провайдера относительно нас
for i:=0 to lpProtocolInfo.ProtocolChain.ChainLen-1 do begin
if lpProtocolInfo.ProtocolChain.ChainEntries[i] = LayerID then begin
NextLayerID := lpProtocolInfo.ProtocolChain.ChainEntries[i+1];
break;
end;
end;
GetMem(EnumBuf, Len);
Count := WSCEnumProtocols(nil, EnumBuf, Len, Error);
for i:=0 to count-1 do begin
if EnumBuf.dwCatalogEntryId = NextLayerID then begin
iLen := 256;
GetMem(DllPath, iLen);
WSCGetProviderPath(EnumBuf.ProviderId, DllPath, iLen, Error);
GetMem(wDllPath, iLen);
ExpandEnvironmentStringsW(DllPath, wDllPath, iLen);
Break;
end;
EnumBuf := Pointer(Dword(EnumBuf)+SizeOf(TWSAPROTOCOL_INFOW));
end;
hDLL := LoadLibraryW(wDllPath);
WSPStartupFunc := LPWSPSTARTUP(GetProcAddress(hDLL,Pchar('WSPStartup')));
result := WSPStartupFunc(wVersionRequested, lpWSPData, lpProtocolInfo, UpcallTable, lpProcTable);
NextProcTable := lpProcTable;
lpProcTable.lpWSPRecv := WSPRecv;
end;