Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запустить чужую программу через socks 
:(
    Опции темы
BeeMaster
Дата 17.1.2012, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 3.4.2008

Репутация: нет
Всего: нет



Есть желание заставить работать чужую программу через сокс. Но проблема в том, что программа сама не умеет этого делать. Видел софт, который буквально "надевает" сокс на программу. Прошу объяснить как возможно сделать такое, по возможность рассказать алгоритм реализации. Нужно чтобы моё приложение заставило работать через сокс другое, которое не умеет этого. 
PM MAIL   Вверх
BeeMaster
Дата 19.1.2012, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 3.4.2008

Репутация: нет
Всего: нет



может быть нужно внедряться в процесс? если так то что дальше... или не нужно вовсе... объчсните алгоритм пожалуйста
PM MAIL   Вверх
BeeMaster
Дата 20.1.2012, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 3.4.2008

Репутация: нет
Всего: нет



Люди, помогите, неужели не существует алгоритма решения вопроса? Но ведь другие программы делаю это, по какому алгоритму?
PM MAIL   Вверх
BeeMaster
Дата 22.1.2012, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 3.4.2008

Репутация: нет
Всего: нет



Up
PM MAIL   Вверх
northener
Дата 23.1.2012, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: нет
Всего: 20



Цитата(BeeMaster @  17.1.2012,  22:23 Найти цитируемый пост)
Видел софт, который буквально "надевает" сокс на программу.

Приведите пример.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
BeeMaster
Дата 23.1.2012, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 3.4.2008

Репутация: нет
Всего: нет



http://freecap.ru/?p=whatis

Цитата с сайта
Цитата

Известно, что некоторые программы не умеют работать через SOCKS-прокси напрямую (например Internet Explorer), в этом случае FreeCap окажет неоценимую помощь, прозрачно перенапрявляя все запросы на соединение на SOCKS сервер

Вот мне нужно узнать алгоритм, по которому я бы мог сам реализовать возможность работы других приложений через сокс
PM MAIL   Вверх
BeeMaster
Дата 25.1.2012, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 3.4.2008

Репутация: нет
Всего: нет



хелп ми

PM MAIL   Вверх
Чучмек
Дата 26.1.2012, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Организуй перехват функций WS2_32.dll


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
aivocco
  Дата 26.1.2012, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 26.1.2012

Репутация: нет
Всего: нет



sockcap это делает отлично, просто перетащи мышкой exe файл или настрой запуск любой программы через sockcap, проксей в инете немерено
PM MAIL   Вверх
BeeMaster
Дата 26.1.2012, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 3.4.2008

Репутация: нет
Всего: нет



aivocco, я же написал что мне нужен сам алгоритм так как я хочу реализовать это своими руками.

Код

Организуй перехват функций WS2_32.dll 

а чуть чуть поподробнее можно? 
PM MAIL   Вверх
Чучмек
Дата 26.1.2012, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Ну если рассматривать стек протоколов http/tcp/ip - тот же баузер.
Запрос страницы сводится к вызову
gethostbyname
socket
connect
Send(WSASend)/Recv(WSARecv)

Вот и надо перехватить gethostbyname чтобы узнать какой сервер запрашивает программа
и connect, чтобы подменить IP/Port сервера.
Создать локальный сервер, адрес и порт которого будет использоваться при вызове connect   вместо оригинальных.
А дальше тонкости протокола.

Добавлено через 4 минуты и 15 секунд
Или просто - локальный proxy(если программа поддерживает работу через proxy)


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
BeeMaster
Дата 27.1.2012, 05:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 3.4.2008

Репутация: нет
Всего: нет



Спасибо, на днях попробую реализовать, если будут вопросы, обращусь сюда

Сразу вопрос

Код

Вот и надо перехватить gethostbyname чтобы узнать какой сервер запрашивает программа
и connect, чтобы подменить IP/Port сервера.

То есть я узнаю какой адрес запрашивает программа, получается дальше нужно подменить IP коннекта?
Но ведь ещё нужно перед началом работы с соксом отправить ему приветствие с авторизацией(речь о сокс5), это получается нужно внедриться в процесс и отправить это или просто подменить пакет? 
Этот момент не доходит... поясните плз

Это сообщение отредактировал(а) BeeMaster - 27.1.2012, 05:48
PM MAIL   Вверх
Чучмек
Дата 27.1.2012, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Создаешь сервер IP:127.0.0.1 Port:8080(или любой другой свободный)
При перехвате connect подменяешь IP/Port для всех соединений на 127.0.0.0.1:8080
Всю работу с SOCKS берет на себя локальный сервер.




--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
BeeMaster
Дата 27.1.2012, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 3.4.2008

Репутация: нет
Всего: нет



Точно, спасибо. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0840 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.