Суббота, 20.04.2024, 10:21 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Anton93  
delphicode » Delphi » Компоненты Delphi » Создание класса "Троян" (Создание класса "Троян")
Создание класса "Троян"
NeoДата: Пятница, 14.12.2012, 15:18 | Сообщение # 1
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Всем привет! smile
Вот недавно опять увидел вопрос по поводу глючности компонениа TServerSocket.Мне надоело возиться с этим и по сему я предлагаю написать свой класс,используя только WinSock и WinApi.Только небольшое условие,не использовать наследование)))
Один класс должен уметь создавать как сервер,так и клиент,а также поддерживать опцию бэкконекта,двустороннюю передачю данных(ну клиент шлёт команду,сервер выполняет и шлёт клиенту статус выполнения).А ещё желательно заюзать передаччу патока,чтобы скрины слать.
Ну что давайте сделаем его? Каждый распределит какой метод он будет писать.
А потом на его основе напишем свою программу удалённого администрирования от DelfCode))) (не троян,т.к мы не пишем вредоносное ПО)


Сообщение отредактировал Neo - Пятница, 14.12.2012, 15:19
 
Don_DiegoДата: Пятница, 14.12.2012, 22:04 | Сообщение # 2
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Neo, в сетевых протоколах не сильно силен, но готов помозговать над 1-2 функциями, желательно не напрямую связанных с сетью. Но все это будет как дождусь товарища xXxSh@dowxXx и допишем тоже одну штучку... Там уже финишная прямая smile
Да, и в таком случае лучше обменяться скайпом (в аське уже пол года не сижу).

Или давай с тобой закончим один небольшой проект, просто не хочется забрасывать почти готовую софтинку.


Сообщение отредактировал Don_Diego - Пятница, 14.12.2012, 22:10
 
okeДата: Суббота, 15.12.2012, 18:15 | Сообщение # 3
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
а что если использовать код в ring0 - это же будет вообще классно
 
xXxSh@dowxXxДата: Воскресенье, 16.12.2012, 09:43 | Сообщение # 4
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (oke)
а что если использовать код в ring0 - это же будет вообще классно

Да ring0 это всегда интересно, вот только зачем оно нам сейчас, на начальном этапе так сказать, да и вобще для администрирования такие кардинальные меры не обязательны я думаю...

Quote (Neo)
Один класс должен уметь создавать как сервер,так и клиент

вот выкладываю тогда на обозрение один из примеров, валялся у меня в исходниках, когда то давно откопал в нете, может вполне неплохо сойти за основу?
Доступно только для пользователей

add

Вобще если речь идет о программе удаленного администрирования, а не какого нибудь онлайн-чата, то мне кажется придется разделить клиент с сервером, что бы на удаленной машине была только серверная часть, а все остальное, потоки и прочее нужно оставить, разве нет, или мы хотим что то иное написать?


Сообщение отредактировал dolphin - Воскресенье, 16.12.2012, 14:44
 
XSPYДата: Воскресенье, 16.12.2012, 20:55 | Сообщение # 5
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
Готов поучаствовать,но хочу поинтересоватся- какой класс будет RAT? если поигратся и не слишком сложный (типа спайнета\экстрима),то можно,но если для промышленных масштабов и паблега,то нужно серьезно подойти к вопросу (и тут не только r0 надо будет,но и инжекты,и сплойты и прочие)
 
C@TДата: Понедельник, 17.12.2012, 04:04 | Сообщение # 6
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
ага, еще предлагаю сделать управление через промежуточный сервер, так что бы не нужна была выделенка smile

Quote (xXxSh@dowxXx)
Вобще если речь идет о программе удаленного администрирования, а не какого нибудь онлайн-чата, то мне кажется придется разделить клиент с сервером, что бы на удаленной машине была только серверная часть, а все остальное, потоки и прочее нужно оставить, разве нет, или мы хотим что то иное написать?


поддерживаю, удобней будет сделать 2 класса клиент и сервер которые просто создают соединение и могут передавать друг другу данные, а если уже хотим усложнить задачу, например сделать удаленное администрирование то наследуем класс удаленного рабочего стола от наших классов для соединения(клиент и сервер соответственно) smile
 
NeoДата: Понедельник, 17.12.2012, 06:13 | Сообщение # 7
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Quote (C@T)
удобней будет сделать 2 класса клиент и сервер которые просто создают соединение и могут передавать друг другу данные

Не,давайте сделаем лучше один класс,в конструкторе которого будем указывать,что это будет,сервер или клиент.
А насчёт наследования я согласен.
 
XSPYДата: Понедельник, 17.12.2012, 18:48 | Сообщение # 8
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
Neo, нету смысла-запалят его и всё-придется переписывать весь клиент...
А позволь вопрос-
Quote (Neo)
Не,давайте сделаем лучше один класс,в конструкторе которого будем указывать,что это будет,сервер или клиент.
А насчёт наследования я согласен.

я немного не понял как ты при конструировании будешь указывать свойства... как они будут извлекатся и настраиватся?вот это я не понял пока...
 
NeoДата: Понедельник, 17.12.2012, 19:24 | Сообщение # 9
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Quote (XSPY)
как ты при конструировании будешь указывать свойства

Ну мы напишем конструктор инициализации.Меня вот волнует другой вопрос - связь сервера с клиентом.
Вот допустим,нам нужно чётко знать,выполнил ли сервер команду или произошла ошибка,чтобы не было ощющения,что мы посылаем сигналы в космос biggrin biggrin biggrin .Ну дак вот,создадим мы на сервере слушающий сокет,он принял от команду от клиента,выполнил её,а потом он должен от измениться с слушающего на посылающий,чтобы послать ответ,а у клиента посылающий сокет должет измениться на слушающий.Причём если кто-то изменится с запаздыванием,то связь нарушится.Нужна какая-то что ли чёткая синхрошизачия. Ведь не хочется же использовать дополнительные порты и сокеты.
Как можно решить эту проблему?


Сообщение отредактировал Neo - Понедельник, 17.12.2012, 19:26
 
xXxSh@dowxXxДата: Понедельник, 17.12.2012, 21:20 | Сообщение # 10
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (Neo)
Как можно решить эту проблему?

По моему только созданием на клиенте дополнительного слушающего порта ибо все эти манипуляции и шаманство с изменением сокета отправителя на слушающий могут к куче ошибок привезти...
а чем Вам мешает один дополнительный порт?
будет два на сервере и два на клиенте, и никаких проблем.
 
NeoДата: Понедельник, 27.05.2013, 10:50 | Сообщение # 11
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Ну что,все готовы? smile Предлагаю для начала собраться в скайпе и обсудить некоторые вопросы,касающиеся способу разработки.Ведь очень важно сначала продумать алгоритм действия программы.А также распределим кто какие методы будет реализовывать.
Пока обязательный функционал должен быть следующий:
1) поддержка работы с файлами
2) поддержка работы с реестром
3) удалённый рабочий стол.VNC или тупо скринить потом решим)
4) промежуточный сервер.
5) ну,и на закуску, превращение сервера в проксик.
Я понимаю,что,наверное,это уже для обитателей данного форума наскучило,т.к чего только мы не написали!Но лично я до ума редко когда довожу проги.Добьюсь чего хотел и заброшу cry Наверное,не я один такой,так что давайте сделаем крутую прогу.Потом может,будем её продавать её,как Radmin))))
Будет,типа разработка от Delfcode TM)


Сообщение отредактировал Neo - Понедельник, 27.05.2013, 10:52
 
Волк-1024Дата: Понедельник, 27.05.2013, 12:30 | Сообщение # 12
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
Цитата (Neo)
Delfcode TM

Форум фактически мертвый. 2-3 сообщения в неделю.
Цитата (Neo)
Добьюсь чего хотел и заброшу

Нда... есть немного такое...

Цитата (Neo)
так что давайте сделаем крутую прогу.

Это... эммм... как-то странно звучит... unsure


Pascal, C\C++, Assembler, Python

Сообщение отредактировал Волк-1024 - Понедельник, 27.05.2013, 12:30
 
NeoДата: Понедельник, 27.05.2013, 13:06 | Сообщение # 13
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Цитата (Волк-1024)
Это... эммм... как-то странно звучит

А что странного? biggrin
 
Волк-1024Дата: Понедельник, 27.05.2013, 13:11 | Сообщение # 14
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
Это из разряда: "Давайте напишем супер игру и разбогатеем на ней" biggrin

Pascal, C\C++, Assembler, Python
 
Don_DiegoДата: Понедельник, 27.05.2013, 13:47 | Сообщение # 15
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Все это очень нравится smile Но Волк-1024 прав - на форуме почти никого... Я хочу чтобы Вы Neo прочли ЛС.
 
Волк-1024Дата: Понедельник, 27.05.2013, 16:44 | Сообщение # 16
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
Neo, Мы готовы обсудить всё в скайпе...

Pascal, C\C++, Assembler, Python
 
HargenДата: Вторник, 28.05.2013, 18:50 | Сообщение # 17
Участник
Зарегистрирован: 08.05.2013
Группа: Пользователи
Сообщений: 66
Статус: Offline
Есть такой вариант - сделать функцию штампующую потоки и ей передавать параметры.
Всего понадобтся три типа потоков: слушающий поток, поток ацептеного клиента, поток клиента - их можно занаследовать от базавого
Относительно протокола- с кем- чем будет работать прога ? с хттп?
Тут проще прикрутить событие OnRead в своей реализации
В проекте я не прочь поучавствовать
-------------------------------------------------------------------------------------------------------------------------------------------- -----Почти дописал, скоро выложу


Главное - не изобретать велосипед



Сообщение отредактировал Hargen - Среда, 29.05.2013, 18:44
 
XSPYДата: Среда, 29.05.2013, 15:26 | Сообщение # 18
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
могу поделиться исходниками из троев-там готового море кода,кроме компонента от Нео =)

Я не крекер,а программист!
Я не преступник-я свободный человек!
Лучше один раз накодить,чем сто раз качать билды!
 
HargenДата: Четверг, 06.06.2013, 20:51 | Сообщение # 19
Участник
Зарегистрирован: 08.05.2013
Группа: Пользователи
Сообщений: 66
Статус: Offline
Вот вариация исходника на винсок, осталось только доделать ацепт клиентов.
Не Все пока дописал
Вообще стоит улучшить и доделать сервер

Работать с ним так:
1- Создать интересующий сокет функцией create передав при этом свои параметры
2- указать свои onread+ executemethode/onaccept
3- Вызвать метод StartWork



п.с. Заранее спасибо тому кто поможет довести до ума или хотя бы попытается

Добавлено (03.06.2013, 18:23)
---------------------------------------------
Обновленная вариация исходника на винсок,не все пока дописал, привел все к одному типу сокета, теперь весь работающий с ним код суйте в executemethode, подготовка сокета реализуется функцией Prepare, для нее параметром передается ссылка на подготавливающий код( типа TZSockMethode)
работать с исходником так:

Доступно только для пользователей



Добавлено (06.06.2013, 13:13)
---------------------------------------------
Скоро обновлю код, выросла одна проблема - из сокета данные могут читаться не полностью, нужно перечитать Григорьева - о чем не пишут в книгах по делфи (оч полезная книга, рекомендую почитать wink ), там есть такие примеры, прочие методы дописал.

Добавлено (06.06.2013, 20:51)
---------------------------------------------
обещанное:
Доступно только для пользователей
скоро доделаю


Главное - не изобретать велосипед



Сообщение отредактировал Hargen - Четверг, 06.06.2013, 20:55
 
ms301Дата: Вторник, 17.02.2015, 14:04 | Сообщение # 20
Постоянный
Зарегистрирован: 28.11.2012
Группа: Пользователи
Сообщений: 101
Статус: Offline
Разработка прекратилась? (
 
xXxSh@dowxXxДата: Вторник, 17.02.2015, 17:05 | Сообщение # 21
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Цитата ms301 ()
Разработка прекратилась? (

Честно говоря не вкурсе, а собственно что именно тебя интересует, задавай свой вопрос, так то там почти полноценный рабочий клиент - сервер, чуть подправить, довести до ума функционал, отладить прием и передачу информации и команд управления и все! wink

Я например клиент - сервер из того что нашел у себя в исходниках соединял даже со смартфоном, правда пришлось при этом еще и приложение под смарт пилить, но это уже совсем другая история biggrin


Сообщение отредактировал xXxSh@dowxXx - Вторник, 17.02.2015, 17:07
 
ms301Дата: Вторник, 17.02.2015, 17:37 | Сообщение # 22
Постоянный
Зарегистрирован: 28.11.2012
Группа: Пользователи
Сообщений: 101
Статус: Offline
Ну я просто щас немного в заблуждении - вставил код в XE7 - полно ошибок(Синтаксических - типа вместо Destructor = Destructot).
---
Впринципе основное исправил - вот только с указателями пока справиться не могу


Сообщение отредактировал ms301 - Вторник, 17.02.2015, 17:46
 
Волк-1024Дата: Вторник, 17.02.2015, 20:26 | Сообщение # 23
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
Цитата ms301 ()
XE7

Уже XE7 есть? Фига себе они там штампуют их...Прямо как на конвейере.

Цитата ms301 ()
Разработка прекратилась?

Она вроде как и не начиналась.

И да, ребята, какой ещё нафиг класс-троян? Да ещё и на жалком Делфи - язык для подобного не предназначен. Самим-то не смешно?)


Pascal, C\C++, Assembler, Python

Сообщение отредактировал Волк-1024 - Вторник, 17.02.2015, 20:32
 
ms301Дата: Вторник, 17.02.2015, 21:12 | Сообщение # 24
Постоянный
Зарегистрирован: 28.11.2012
Группа: Пользователи
Сообщений: 101
Статус: Offline
Цитата Волк-1024 ()
Уже XE7 есть? Фига себе они там штампуют их...Прямо как на конвейере.

Уже XE8 beta есть
Цитата Волк-1024 ()
Она вроде как и не начиналась.

И да, ребята, какой ещё нафиг класс-троян? Да ещё и на жалком Делфи - язык для подобного не предназначен. Самим-то не смешно?)

Ну почему же? Можно же потом этот класс и в Си экспортировать))
 
XSPYДата: Среда, 18.02.2015, 19:12 | Сообщение # 25
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
Волк-1024, не смешно. можно хоть на брейнфаке сделать, тут вопрос иного поля)
И да, Делфи далеко не жалок) Я вот например ощущаю, что ен будт делфи - не было бы годных БД и программ бухучета, не говоря уже о классных играх и тулзах! tongue cool


Я не крекер,а программист!
Я не преступник-я свободный человек!
Лучше один раз накодить,чем сто раз качать билды!
 
delphicode » Delphi » Компоненты Delphi » Создание класса "Троян" (Создание класса "Троян")
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz