Вернуться   CoderX :: Forums > Lineage II > L2PacketHack
Войти через OpenID

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 20.11.2009, 17:07   #1
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 50
Сказал Спасибо: 10
Имеет 10 спасибок в 1 сообщении
murc пока неопределено
По умолчанию

alexteam, например вот так ?
Код:
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;
murc вне форума   Ответить с цитированием
Старый 18.11.2009, 17:51   #2
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 50
Сказал Спасибо: 10
Имеет 10 спасибок в 1 сообщении
murc пока неопределено
По умолчанию

Ага, что-то не могу понять ..
murc вне форума   Ответить с цитированием
Старый 18.11.2009, 17:54   #3
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

ты последний в очереди - тебя вызовут первым.
ты первый в очереди - тебя вызовут последним.
ты предпоследний в очереди - тебя вызовут вторым.
по идее так.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 18.11.2009, 21:28   #4
Новичок
 
Аватар для Макся
 
Регистрация: 28.10.2009
Адрес: Украина
Сообщений: 14
Сказал Спасибо: 3
Имеет 0 спасибок в 0 сообщенях
Макся пока неопределено
Восклицание

ааа хелп! случилось нечто мистическое :\ Пакетхак 3.5.28.151 перестал детектить л2.ехе ---> запускаю пх потом л2, захожу в игру, делаю alt+tab но прога вообще не показывает ничего (как в режыме оффлайна). настройки не крутил, ничего неменял с последнего (удачного) использования ... в чём проблема может быть?
Миниатюры
Нажмите на изображение для увеличения
Название: 1233.JPG
Просмотров: 107
Размер:	103.9 Кб
ID:	719  
Макся вне форума   Ответить с цитированием
Старый 18.11.2009, 21:52   #5
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Макся,
а куда исчезли настройки перехвата
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать
TAMBIK вне форума   Ответить с цитированием
Старый 19.11.2009, 21:13   #6
Новичок
 
Регистрация: 19.11.2009
Сообщений: 1
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
JIeIlIka пока неопределено
По умолчанию

люди помогите, на сервере работает пакеты , но мульти селл не находит чем его можно заменить или как найти?)))
JIeIlIka вне форума   Ответить с цитированием
Старый 20.11.2009, 17:42   #7
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Цитата:
WSAStartUp($202, WSAData);
(немой вопрос)
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 20.11.2009, 17:44   #8
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 50
Сказал Спасибо: 10
Имеет 10 спасибок в 1 сообщении
murc пока неопределено
По умолчанию

ну хз надо ли вызывать, но WSCEnumProtocols и WSCGetProviderPath работать вроде как не будут
murc вне форума   Ответить с цитированием
Старый 20.11.2009, 17:48   #9
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

ну, если тебя не будет смущать то что в таком случае всастартап будет вызываться дважды в приложении... то все впорядке..
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 22.11.2009, 14:26   #10
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 50
Сказал Спасибо: 10
Имеет 10 спасибок в 1 сообщении
murc пока неопределено
По умолчанию

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;
murc вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!