Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 30.11.2007, 05:36   #1
Новичок
 
Регистрация: 30.11.2007
Сообщений: 3
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
Mavr
По умолчанию L2PacketHack через проксификатор

Подскажите пожалуйста как сделать, чтоб L2PacketHack работал через проксификатор, а не через инжект? Да собственно проблемка только в одном: как получить адрес и порт к которому коннектится клиент?

Заранее благодарен.
Mavr вне форума   Ответить с цитированием
Старый 30.11.2007, 06:18   #2
Рыцарь
 
Аватар для dmitry501
 
Регистрация: 01.10.2007
Сообщений: 293
Сказал Спасибо: 42
Имеет 50 спасибок в 37 сообщенях
dmitry501 пока неопределено
По умолчанию

Можно.
Нужно вместо части, внедряющейся в клиент, написать модуль, реализующий Socks5 сервер.
И тогда любым проксификатором заводить траффик на l2phx
__________________
Цитата:
Сообщение от Stas
...Ну на хрена ты меня посылаешь гууглить или искать 140 страниц описанных где-то комманд, если я уже в сотый раз объясняю, что хочу облегчить труд многим, я же эти доводы подробно описал...
dmitry501 вне форума   Ответить с цитированием
Старый 01.12.2007, 07:01   #3
Новичок
 
Регистрация: 30.11.2007
Сообщений: 3
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
Mavr
По умолчанию

Может у кого нибуть есть такой модуль или похожий? А то сам чет засыпался :)

Добавлено спустя 11 часов 7 минут 37 секунд:
Re: L2PacketHack через проксификатор
Собственно вот, что у меня получилось:
Код:
procedure ServerListen(PSock: Pointer);
var
  NewSocket: TSocket;
  i: byte;
  Socks5Data: array[0..255] of char;
  ClientQuery: record
     VER: char;
     CMD: char;
     RSV: char;
     ATYP: char;
     DST_ADDR: array[0..3]of char;
     DST_PORT: array[0..1]of char;
  end;
  TransferCount: Word;
  CurentPort: Word; //Текущий порт
  CurentIP: Integer; //Текущий IP
begin
try
  while NoServer do Sleep(1);
  if not InitSocket(SLSock,ntohs(LPortConst),'0.0.0.0') then begin
    L2PacketHackMain.ListBox3.Lines.Add('Неудалось зарегистрировать локальный сервер на порте '+IntToStr(ntohs(LPortConst))+sLineBreak+'Возможно этот порт занят другим приложением');
    EndThread(0);
  end;
  while WaitClient(SLSock,NewSocket) do for i:=0 to MaxThr-1 do if Thread[i].NoUsed then begin
    //Начало обработки SOСKS 5 протокола
    //Получаем |VER | NMETHODS | METHODS | от клиента
    TransferCount := recv(NewSocket, Socks5Data, 255, 0);
    //Отправляем |VER | METHOD | клиенту
    Socks5Data[1]:=#$00;
    TransferCount:=send(NewSocket,Socks5Data,2,0);
    //Получем |VER | CMD | RSV | ATYP | DST.ADDR | DST.PORT | -> CMD = CONNECT
    TransferCount := recv(NewSocket, Socks5Data, 255, 0);
    Move(Socks5Data[0], ClientQuery, TransferCount);
    //Забираем ИП и Порт
    Move(ClientQuery.DST_ADDR[0], CurentIP, 4);
    Move(ClientQuery.DST_PORT[0], CurentPort, 2);
    //Отправляем |VER | REP | RSV | ATYP | BND.ADDR | BND.PORT | -> REP = #$00 успешный
    Socks5Data[1]:=#$00;
    Socks5Data[2]:=#$00;
    TransferCount:=send(NewSocket,Socks5Data,TransferCount,0);
    //Обработка SOСKS 5 протокола завершена
   if Lib=0 then begin
       Thread[i].xorS:=L2Xor.Create;
       Thread[i].xorC:=L2Xor.Create;
    end else begin
       CreateXor(@Thread[i].xorS);
       CreateXor(@Thread[i].xorC);
    end;
    Thread[i].Connect:=False;
    Thread[i].IP:=CurentIP;
    Thread[i].Port:=CurentPort;
    Thread[i].InitXOR:=False;
    Thread[i].SSock:=NewSocket;
    Thread[i].Dump.Clear;
    Thread[i].SH:=BeginThread(nil, 0, @Server, Pointer(i), 0, Thread[i].STH);
    L2PacketHackMain.ListBox3.Lines.Add('Создано новое соединение - '+IntToStr(i));
    Break;
  end;
 finally
  DeInitSocket(SLSock);
 end;
end;
Это только одна процедурка ServerListen в ней ИП и Порт сервера берется не с инжекта, а с протокола SOCKS 5, в остальном нужно убрать из прогаммы инжект. Не судите строго, написано на скорую руку и разумеется это все можно сделать посимпатичнее хотя сам принцип остается. Да и если вопрос не актуален для народа, то темку можно в треш :)
Mavr вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



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

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


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

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

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