Micro Socks4 Server

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by slesh, 21 Aug 2010.

  1. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    ABOUT
    Приехал с отдыха и чтобы размяться перед серьезным проектом решил навоять чтото простенькое и чуть полезное. Первое что в голову пришло - Socks4 прокси сервер. Именно Socks4 т.к. он является наиболее быстро работающим по сравнению с Socks5. Конечно поддержка тока TCP Connect, но этого достаточно.
    Код сильно не пинать, написал по быстрому за вечер.
    По возможности попытался прокомментить каждую строчку, чтобы было сразу понятно что и как пашет.

    INFO
    1) Прокси сервер: поддержка только Socks4
    2) Многопоточность: есть
    3) Порт 3128
    4) Авторизация: не поддерживается
    SYS INFO
    1) Чистый вес: 1536 байт
    2) ЯП: FASM
    3) OC: Win32
    4) Сеть: на основе Winsock2
    TEST
    1) FireFox отлично работает
    2) QIP Infium тоже отлично.

    В аттаче найдете 2 файла:
    1) ms4s.asm - исходник.
    2) ms4s.exe - скомпиленный вариант
     

    Attached Files:

    7 people like this.
  2. ArT-I-ShocK

    ArT-I-ShocK Banned

    Joined:
    10 Aug 2010
    Messages:
    17
    Likes Received:
    8
    Reputations:
    -5
    По коду есть пара замечаний, завтра опишу и допишу авторизацию) А вообще молодец)
    Теперь сделай отсылку на IP на мыло, скрытую работу и автозагрузку)
     
  3. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Если кому надо, переписал на masm. Весит exe побольше - 1.95кб.
    http://slil.ru/29584526
     
  4. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 ArT-I-ShocK ну там можно многое было упростить, вынести в отдельные функции повторяющиеся фрагменты кода. Да и было бы хорошо сделать проверку на полностью считанный заголовок запроса, а также версию. А вообще я делал просто для разминки и как-то не требовалась авторизация и авторан. Просто так как пример для людей кому интересно программирование на ассемблере

    2 GRRRL Power потому что в фасме более компактнее секции строятся и там меньше промежуток между PE заголовком и первой секцией


    Кстати, я ставил укороченный стаб, то еще меньше можно сделать, тока всё равно из-за выравнения ничего не меняется в размере.
     
    #4 slesh, 21 Aug 2010
    Last edited: 21 Aug 2010
  5. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    651
    Likes Received:
    44
    Reputations:
    7
    slesh а зачем именно asm, а не с/с++?
     
  6. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Просто захотелось чуть подумать. На си/с++ это было бы очень просто писать и не интересно. Хотя на выходе получили бы файлик такого же размера)
     
  7. Marra_Kesh

    Marra_Kesh New Member

    Joined:
    8 Aug 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Вы уж меня товарищи простите, но что такое Micro Socks4 Server, как его установить? Спасибо. (
     
  8. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Это прокси сервер. читать надо. Установливать не надо, просто тупо запустить и прога буфет весеть в процессах.
     
  9. rikko

    rikko Member

    Joined:
    23 Nov 2009
    Messages:
    16
    Likes Received:
    7
    Reputations:
    0
    спасибо, slesh! по твоим статьям/примерам на ачате "постиг" соксы. золотой ты человек! :)
     
  10. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    в принципе если добавить поддержку проверки версии. ТО можно расширить и на Socks5 и чтобы даж на одном порту висели. И размер максимум на 512 байт увеличится
     
  11. X-Venom

    X-Venom Banned

    Joined:
    29 Apr 2008
    Messages:
    569
    Likes Received:
    365
    Reputations:
    21
    slesh, не хочет прокси из деда работать. наверно, нужен прямой IP?
     
  12. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Главное чтобы на деде был внешний IP. И чтобы порт был этот не занят другим какимнить процессом.
    А что за ОС там?
     
    #12 slesh, 22 Aug 2010
    Last edited: 22 Aug 2010
  13. greki_hoy

    greki_hoy Member

    Joined:
    4 Mar 2010
    Messages:
    326
    Likes Received:
    57
    Reputations:
    41
    слеш ты не только на размере екзе экономиш но еще и на размере исходника )))
    скачал сорс почитать не вышло там меньше страницы текста
    :)
     
  14. ICEPack

    ICEPack New Member

    Joined:
    19 Aug 2010
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0

    Да вот именно это я и хотел спросить , но меня опередили , действительно сокс очень хороший и главное порадовал размер файла , но для него опять же нужен дедик с белым ip адресом :confused: , коих сейчас не так уже легко на брутить (

    я думаю порт нужно изменить на любой другой , 3128 уже как то банально , тем более для socks :)
     
  15. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Ну перекомпилить не составит труда людям.
    Тока надо изменить строку:
    saddrs sockaddr_in AF_INET, 380Ch, 0;
    А именно значение 380Ch. т.е. порт перегоняем в HEX и меняем старший байт с младшим )

    Что ты имеешь под белым IP? Подойдет любой дедик для него главное внешний IP чтобы был. А у дедиков у всех есть внешний IP (потому как ты можешь на него подрубиться)
     
  16. X-Venom

    X-Venom Banned

    Joined:
    29 Apr 2008
    Messages:
    569
    Likes Received:
    365
    Reputations:
    21
    3 деда проверил, не хочет работать. запустилось только с прямым айпи
    ipconfig /all
    в графе IP address должен быть айпи деда. если что то типа 10*.*.* 192.*.* - работать не будет
     
  17. stopxaker

    stopxaker Elder - Старейшина

    Joined:
    6 Sep 2008
    Messages:
    269
    Likes Received:
    284
    Reputations:
    18
    Если не ошибаюсь , то белый , внешний , выделенный , статический ip , это одно и тоже .

    не у всех дедиков есть внешний ip , большая часть дедиков находиться за NAT
    -----------------

    2 ICEPack , для данного сокса нужен дед с внешним ip , на дедике , который за NAT , он работать не будет !
     
    #17 stopxaker, 22 Aug 2010
    Last edited: 22 Aug 2010
  18. X-Venom

    X-Venom Banned

    Joined:
    29 Apr 2008
    Messages:
    569
    Likes Received:
    365
    Reputations:
    21
    вот вам прокси поднял
    не перегружайте :p

    еще бы порт свой присвоить :confused:
     
  19. stopxaker

    stopxaker Elder - Старейшина

    Joined:
    6 Sep 2008
    Messages:
    269
    Likes Received:
    284
    Reputations:
    18

    Перекомпиль исходник .

     
  20. X-Venom

    X-Venom Banned

    Joined:
    29 Apr 2008
    Messages:
    569
    Likes Received:
    365
    Reputations:
    21
    где он про динамический упомянул :eek: