привет всем для развлечения накатал на масме удаленное управление компом, в смысле пересылку десктопа и командной строки. получилась пародия на радмин) исходник написан в ультраедит так что remotedesk.prj - это файл ультраедита. кому не лень будет посмотреть можете высказать все что об этом думаете) версия далеко не окончательная
есть идея приделать авторизацию - принимается конструктивная критика ) ; **** принцип авторизации на основе RSA 256-бит **** ; у клиенте есть приватный ключ ; у сервера есть публичный ключ клиента и ID клиента связанный с этим ключом ; **** протокол авторизации **** ; - клиент отправляет серверу свой ID ; - на это сервер отправляет рандомные 32 байта зашифрованные публичным ; ключом клиента - ассоциированного с этим ID ; - клиент расшифровывает данные и возвращает серверу ; - сервер сравнивает полученные данные с отправленными ; **** процесс конфигурации **** ; - клиент выбирает себе ID и генерирует пару ключей Публичный и Приватный ; - Публичный ключ устанавливается на серверной стороне ; - Приватный ключ устанавливается на стороне клиента ; - хранить их можно в реестре или в файле ; - в код сервера и клиента встраиваем ID-Setup с соответствующими ключами ; - ID-Setup перестает работать(сервер его игнорирует) как только появляется любой клиентский ID
Почему бы не создавать на сервере локальную (или использовать виндовую) учетную запись с хешированным паролем, как тот же радмин например делает?
мне не очень нравиться использование виндовых учетных данных тем, что нужно вводить user/dom/pass аж три параметра.
Сделай 1 параметр, хешируй и отдавай серверу. У того же радмина есть галка запомнить имя пользователя и каждый раз вводится только пароль.
в принципе учетные данные можно хранить в записной книжке вместе с ИП адресом, тогда их можно вводить только один раз. Интересная мысль надо подумать.
Классная программа! Спасибо Но вместо того что-бы шифровать траф, может сделать то чего нет ни у кого? Например - передача изображения стола по DNS протоколу? Вот это была -бы разработка. А так - супер! Спасибо еще раз
На счет DNS - мысль интересная, но я не вижу смысла в этом, У меня есть в запасе пару идей на которые я бы потратил время. В архиве следующий шаг по пути к совершенству) теперь можно пинговать серверы в записной книжке, использовать НТ авторизацию, сохранять пароли, устанавливать сервер по SBM2 протоколу(на 32-битных системах еще не проверял). Осталось сделать файлманагер и расширить функции телнета.
back-connect - это интересная идея, вот только какую модель взаимодействия между клиентом и сервером реализовать, т.е. как сервер узнает о намерении клиента и точку подключения? вариантов-то много.
Это был намек на то, чтобы сделать троян. Я бы на твоем месте придумывал как еще можно минимизировать трафик. Тимвивер например инжектится в процессы, то ли чтоб ловить изменения в окнах, то ли для перехвата вообще обращений к gdi.
насчет трафика у меня есть три варианта для размера пикселя экрана 4,8,16 бит сейчас установлено 8. можно поставить 4. не понял что именно ты хочешь уменьшить трафик или нагрузку на проц? хуками трафик не уменьшишь
равсокетом слушай магический пакет с координатами например пс, только права, мда. ну или гдето периодически чекать, по другому хз.
для любителей бакконекта - теперь сервер дополнительно умеет инициировать связь. работает это так; клиент все время слушает порт 7788, все остальное тоже работает. Сервер каждые 30 сек тянет из инета по урлу файл в котором записан ИП. По этому ИП он конектится к порту 7788. Клиент получает запрос и предлагает юзеру выбрать режим работы и ввести учетные данные. В тестовом режиме сервер читает фай secret.dat из своей директории с такой - @192.168.1.219@ - записью. Если файл есть - сервер пробует соединиться, если нет - не пробует. Независимо от этого сервер работает как обычно. Нужно ReadFileInMem закоментировать, а URLDownloadToFile раскоментировать и будет общение с инетом.
Класс! А если ( пусть в локальной сетке) по соседству таких 2 сервера! Как они могли-бы найти друг друга и синхронизировать свои "файл в котором записан ИП" Просто как варианты решения. Без реализации в коде. ... допустим у одного, пусть он - "сервер 1" на борту есть доступ в инет , а у "сервер 2" только локалка а в инет он не ходит. Чисто теоретически. Надеюсь я не пересек черту уравновешенности своими вопросами?