Всем респект! Народ я начинающий кодер(delphi), ну и как все пытаюсь напмсать трояна! =) Так вот помогите! Исходники, статьи, Советы... Заранее спасибо... А и еще как в троях пишут удалённые редакторы реестра...? эт каждый ключ(который требует клиент =) ) сканируется и отправляется клиенту?
Мда... Чувствую сейчас тебе KEZ накатает по полной Ну а вообще была темка в таком ключе, поиском надо пользоваться, примерно вот так: http://forum.antichat.ru/thread7397-%ED%E0%EF%E8%F1%E0%F2%FC+%E2%E8%F0%F3%F1.html
Редакторы реестра - можно использовать RegEnumValueA/W/ExA/ExW, которую использует например regedit. И экспортирует ее advapi32.dll, а либ для нее в визуал C - advapi32.lib. Она позволяет получить все значения (переменные которые в регедити справа отображаются) у какого-то одного ключа. А ключи можно проенумировать ф-ией RegEnumKeyA/W/ExA/ExW Можно сделать по такой схеме - клиент шлет запрос, например GETKEY HKLM/Software/Microsoft/Windows NT/Winlogon а ему в ответ сервер шлет все значения в ключе Winlogon allocatecdroms REG_SZ 0 allocatedasd REG_SZ 0 allocatefloppies REG_SZ name type value ... и т д клиент строит из этого список А если есть подключи они тоже отправляются... На случаи если клиент хочет например изменить ключ (имя ключа) или значение параметра в ключе, можно придумать свои команды, например RNKEY, SETVAL, и т д Ф-ие для работы с реестром такие (msdn.microsoft.com, никуда не денешься) LONG RegEnumValue( HKEY hKey, DWORD dwIndex, LPTSTR lpValueName, LPDWORD lpcValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ); LONG RegEnumKey( HKEY hKey, DWORD dwIndex, LPTSTR lpName, DWORD cchName ); http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/regenumvalue.asp
Если клиент-серверное то вот примерной как надо делать Клиент (бэк конект) WSAStartup // Иницализируем Winsock Socket // Создаём сокет Connect // Подключаемся к нашему серверу if .. then .. // Если пришло например "R" то перезагрузить компьютер WSACleanup // Уничтожаем Winsock Сервер WSAStartup // Иницализируем Winsock Socket // Создаём сокет Bind // Вашаем сервер на определёный порт Send // Отправляем клиент что либо WSACleanup // Выгружаем WinSock Winsock. Общий принцип таков.
W!z@rD Про редактор реестра тебе уже написали. можешь посмотреть вот: http://www.security-teams.net/index.php?showtopic=3059 правда на Си - но там перевести как нечего делать. Еще есть недописанный RAT - функция download, чтение директорий, вывод списка дисков и кое-что еще. Рееста нет. Тоже на Си. Могу послать мылом, если хочешь. Вобще трои на Delphi имхо не рулят.