elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Gathor 0.5
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Gathor 0.5  (Leído 1,639 veces)
WarZ0n3

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Gathor 0.5
« en: 24 Agosto 2013, 02:09 am »

Después de tanto tiempo ocupado hoy vengo a traerles una herramienta que hace
tiempo tenia pensado....

Se trata de un gathering fusionado con un viewbot que había hecho hace algún tiempo (también hice un tutorial de como programar uno, buscarlo en la sección delphi).

Obviamente este versión esta mejorada y se le han agregado mas características, por ejemplo los métodos http tales como options, head, get, post, etc... por si desean hacer algún

deface una información extra no viene mal...
también aumenta las vistas de un vídeo(todavía no le agregado los proxys, espero para la próxima entrega),
lectura de un archivo, y descarga de .txt

Lo programe en delphi 7 por si desean compilarlo por su cuenta(también dejare algunas
imagenes con ejemplos de los parámetros usados y demás).

Descarga : http://www.mediafire.com/download/zt5xha2hu7ac49d/Gathor.rar
El .rar no tiene contraseña.

Código
  1. program Gathor;
  2.  
  3. (*********************************************)
  4. (* Software : Gathor 0.5                     *)
  5. (* Autor    : WarZone                        *)
  6. (* Fecha    : 23/8/13                        *)
  7. (*********************************************)
  8. (* Explicacion:                              *)
  9. (* Un gathering de informacion web el cual   *)
  10. (* tiene caracteristicas                     *)
  11. (* como leer el source de la pagina(index),  *)
  12. (* ver el servidor en que se esta corriendo, *)
  13. (* fecha, version del protocolo, contenido,  *)
  14. (* opciones de metodos usados <posiblemente  *)
  15. (* permitiendo un Defacement>, leectura de un*)
  16. (* fichero y descarga, viewbot para aumentar *)
  17. (* visitas(por ejemplo a un video en youtube),*)
  18. (* etc...                                    *)
  19. (*********************************************)
  20. (*********************************************)
  21. (*    -Opciones de uso / Caracteristicas-    *)
  22. (*                                           *)
  23. (* Los siguientes comandos permiten hacer    *)
  24. (* peticiones HTTP por distintas opciones,   *)
  25. (* GET, POST, HEAD, ETC... y version del     *)
  26. (* protocolo respectivamente 1.0 o 1.1       *)
  27. (*                                           *)
  28. (* get_proto_0 -> metodo GET por HTTP/1.0    *)
  29. (* get_proto_1 -> GET por HTTP/1.1           *)
  30. (* post_proto_0 -> POST por HTTP/1.0         *)
  31. (* post_proto_1 -> POST por HTTP/1.1         *)
  32. (* options_proto_0 -> OPTIONS por HTTP/1.0   *)
  33. (* options_proto_1 -> OPTIONS por HTTP/1.1   *)
  34. (* head_proto_0 -> HEAD por HTTP/1.0         *)
  35. (* head_proto_1 -> HEAD por HTTP/1.1         *)
  36. (* Parametros + Ejemplo :                    *)
  37. (*********************************************)
  38. (* con parametro -g                          *)
  39. (* <sitio_web> <puerto> <opcion>             *)
  40. (* -g www.google.com 80 get_proto_0          *)
  41. (*********************************************)
  42. (* con parametro -b                          *)
  43. (* <sitio/video_a_aumentar><intervalo_segs>  *)
  44. (* -b www.youtube.com/video_a_aumentar 1     *)
  45. (*********************************************)
  46. (* con parametro -r                          *)
  47. (* <sitio><nombre_archivo_a_leer>            *)
  48. (* -r www.sitio.com/robots.txt               *)
  49. (*********************************************)
  50. (* con parametro -d                          *)
  51. (* <sitio><ruta+nombre_archivo_a_guardar>    *)
  52. (* -d www.sitio.com/robots.txt C:/OUTPUT.TXT *)
  53. (*********************************************)
  54. (* con parametro -h y -m                     *)
  55. (* Desplega la ayuda                         *)
  56. (*********************************************)
  57.  
  58. (*
  59.       Puedes encontrarme en foro.elhacker.net e
  60.       indetectables.net por cualquier duda.
  61.      
  62.       Todos los desensamblados como las funciones
  63.       escritas en ASM fueron echas por WarZ0n3,
  64.       si las incluyes en tu proyecto te pido que
  65.       me des los creditos correspondientes...
  66.       NO ME HAGO RESPONSABLE DEL MAL USO QUE LE
  67.       PUEDAN DAR.
  68.                     Atte : Warz0n3
  69. *)
  70.  
  71. {$APPTYPE CONSOLE}
  72.  
  73. uses
  74.  SysUtils,
  75.  Windows,
  76.  WinInet,
  77.  WinSock;
  78.  
  79. type
  80.  PTcpData    = ^TcpData;
  81.  
  82.  TcpData     = record
  83.    SendDataBuffer      : array[$00000000..GETEXTENDEDTEXTMETRICS] of Char;
  84.    RecvDataBuffer      : array[$00000000..(GETEXTENDEDTEXTMETRICS*2)] of AnsiChar;
  85.  end;
  86.  
  87.      // configuracion del viewbot
  88. const
  89.  INTERNET_OPEN_TYPE_PRECONFIG        = $00000000; (* Usa la configuracion del registro(por defecto) *)
  90.  INTERNET_OPEN_TYPE_DIRECT           = $00000001;  (* Acceso directo a la red *)
  91.  INTERNET_OPEN_TYPE_PROXY            = $00000003; (* Acceso via proxy *)
  92.  INTERNET_SERVICE_HTTP               = $00000003;
  93.  
  94.  {$DEFINE INTERNET_FLAG_RELOAD}
  95.  {$DEFINE INTERNET_FLAG_NO_COOKIES}
  96.  {$DEFINE INTERNET_FLAGS_MASK}
  97.  INTERNET_FLAGS_MASK                 = INTERNET_FLAG_RELOAD  or
  98.                                        INTERNET_FLAG_NO_COOKIES;
  99.  
  100.  HASHKEY                             = 55; //$00000028; // 40d
  101.  HTTP                                = 'http://';
  102.  // ******************************************
  103.  
  104.  { Config }
  105.  BL         = #13#10;
  106.  
  107.  { HTTP Methods }
  108.  POST        = 'POST';
  109.  GET         = 'GET';
  110.  OPTIONS     = 'OPTIONS';
  111.  HEAD        = 'HEAD';
  112.  
  113.  { Version }
  114.  HTTP0       = ' HTTP/1.0';
  115.  HTTP1       = ' HTTP/1.1';
  116.  STP         = ' /';
  117.  
  118.  { Octetos }
  119.  ZERO        = $00000000;
  120.  BSIZE       = $00001024;
  121.  BUFFSIZE    = $00000041; // 65d //$000000FF;
  122.  BUFFDATA    = $00001000;
  123.  INADDRSIZE  = $0000000A;
  124.  
  125. var
  126. {$DEFINE Host}
  127.  Host        : string;
  128. {$DEFINE Port}
  129.  Port        : Uint;
  130.  
  131.  WSData      : WsaData;
  132.  TcpSocket   : tSocket;
  133.  sAddr       : sockaddr_in;
  134.  pIp         : string;
  135.  I           : Integer;
  136.  
  137.  (*
  138.   00408450  /$ 55             PUSH EBP      
  139.   00408451  |. 8BEC           MOV EBP,ESP
  140.   00408453  |. 6A 00          PUSH 0
  141.   00408455  |. 53             PUSH EBX
  142.   00408456  |. 33C0           XOR EAX,EAX
  143.   00408458  |. 55             PUSH EBP
  144.   00408459  |. 68 BA844000    PUSH Project2.004084BA
  145.   0040845E  |. 64:FF30        PUSH DWORD PTR FS:[EAX]
  146.   00408461  |. 64:8920        MOV DWORD PTR FS:[EAX],ESP
  147.   00408464  |. 68 9C374100    PUSH Project2.0041379C                   ; /pWSAData = Project2.0041379C
  148.   00408469  |. 6A 01          PUSH 1                                   ; |RequestedVersion = 1 (1.0.)
  149.   0040846B  |. E8 98FFFFFF    CALL <JMP.&wsock32.WSAStartup>           ; \WSAStartup
  150.   00408470  |. 90             NOP
  151.   00408471  |. 90             NOP
  152.   00408472  |. 90             NOP
  153.   00408473  |. 8D55 FC        LEA EDX,DWORD PTR SS:[EBP-4]
  154.   00408476  |. B8 01000000    MOV EAX,1
  155.   0040847B  |. E8 88A3FFFF    CALL Project2.00402808
  156.   00408480  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
  157.   00408483  |. E8 A4BBFFFF    CALL Project2.0040402C
  158.   00408488  |. 50             PUSH EAX                                 ; /Name
  159.   00408489  |. E8 72FFFFFF    CALL <JMP.&wsock32.gethostbyname>        ; \gethostbyname
  160.   0040848E  |. 8B40 0C        MOV EAX,DWORD PTR DS:[EAX+C]
  161.   00408491  |. 33D2           XOR EDX,EDX
  162.   00408493  |. 8B0490         MOV EAX,DWORD PTR DS:[EAX+EDX*4]
  163.   00408496  |. FF30           PUSH DWORD PTR DS:[EAX]
  164.   00408498  |. E8 3BFFFFFF    CALL <JMP.&wsock32.inet_ntoa>
  165.   0040849D  |. 8BD8           MOV EBX,EAX
  166.   0040849F  |. E8 6CFFFFFF    CALL <JMP.&wsock32.WSACleanup>           ; [WSACleanup
  167.   004084A4  |. 33C0           XOR EAX,EAX
  168.   004084A6  |. 5A             POP EDX
  169.   004084A7  |. 59             POP ECX
  170.   004084A8  |. 59             POP ECX
  171.   004084A9  |. 64:8910        MOV DWORD PTR FS:[EAX],EDX
  172.   004084AC  |. 68 C1844000    PUSH Project2.004084C1
  173.   004084B1  |> 8D45 FC        LEA EAX,DWORD PTR SS:[EBP-4]
  174.   004084B4  |. E8 83B7FFFF    CALL Project2.00403C3C
  175.   004084B9  \. C3             RETN
  176.   *)
  177.  
  178. function                    // Host contiene la IP
  179.  __call_ix86_getIP(): PChar; assembler;
  180. asm
  181.    PUSH EBX
  182.    ADD ESP, 0FFFFFE70h
  183.    PUSH ESP
  184.    PUSH $1
  185.    CALL WSASTARTUP
  186.    NOP
  187.    PUSH Host // 04081B4h
  188.    CALL GetHostByName
  189.    MOV EAX, [EAX+0Ch]
  190.    XOR EDX, EDX
  191.    NOP
  192.    MOV EAX, [EAX+EDX*4]
  193.    PUSH DWORD PTR [EAX]
  194.    CALL INET_NTOA
  195.    MOV EBX, EAX
  196.    CALL WSACleanup
  197.    MOV EAX, EBX
  198.    ADD ESP, 0190h
  199.    POP EBX
  200.    RETN
  201. end;
  202.  
  203. procedure
  204.  __call_ix86_configureHost; assembler;
  205. asm
  206.  MOV EDX, OFFSET Host
  207.  MOV EAX, $2  // nparam
  208.  CALL PARAMSTR
  209. end;
  210. procedure
  211.  __call_ix86_configurePort; assembler;
  212. asm
  213.  LEA EDX, [EBP-04h]
  214.  MOV EAX, $3
  215.  CALL PARAMSTR
  216.  MOV EAX, [EBP-04h]
  217.  CALL STRTOINT
  218.  MOV DWORD PTR DS:[PORT], EAX  (* configuracion del host y el puerto*)
  219. end;
  220.  
  221. function
  222. (*00408818  /$ 53             PUSH EBX
  223. 00408819  |. 33DB           XOR EBX,EBX
  224. 0040881B  |. 6A 74          PUSH 74                                  ; /Key = VK_F5
  225. 0040881D  |. E8 3AC7FFFF    CALL <JMP.&user32.GetAsyncKeyState>      ; \GetAsyncKeyState
  226. 00408822  |. 66:85C0        TEST AX,AX
  227. 00408825  |. 74 03          JE SHORT Project2.0040882A
  228. 00408827  |. 83CB FF        OR EBX,FFFFFFFF
  229. 0040882A  |> 8BC3           MOV EAX,EBX
  230. 0040882C  |. 5B             POP EBX
  231. 0040882D  \. C3             RETN
  232. *)
  233.  __call_ix86_interceptF5() :  BOOL; assembler;
  234. asm
  235.  PUSH EBX
  236.  XOR EBX, EBX
  237.  PUSH $74     // F5
  238.  CALL GETASYNCKEYSTATE
  239.  TEST AX, AX
  240.  JE @A0040882D   // label relativo
  241.  OR EBX, $FFFFFFFF
  242.  @A0040882D:
  243.  MOV EAX, EBX
  244.  POP EBX
  245.  RETN
  246. end;
  247.  
  248.  
  249. (*                                                  // Configuracion del host y puerto
  250.  004084B7  |. BA 9C374100    MOV EDX, .0041379C
  251.  004084BC  |. B8 01000000    MOV EAX,1
  252.  004084C1  |. E8 42A3FFFF    CALL  .00402808
  253.  
  254.  004084C3  |. 8D55 FC        LEA EDX,DWORD PTR SS:[EBP-4]
  255.  004084C6  |. B8 02000000    MOV EAX,2
  256.  004084CB  |. E8 38A3FFFF    CALL .00402808
  257.                                                    // configuracion de los sockets
  258.  004084C6  |. 68 A0374100    PUSH  .004137A0                          ; /pWSAData = Project2.004137A0
  259.  004084CB  |. 6A 01          PUSH 1                                   ; |RequestedVersion = 1 (1.0.)
  260.  004084CD  |. E8 36FFFFFF    CALL <JMP.&wsock32.WSAStartup>           ; \WSAStartup
  261.  
  262.  004084D4  |. 6A 00          PUSH 0                                   ; /Protocol = IPPROTO_IP
  263.  004084D6  |. 6A 01          PUSH 1                                   ; |Type
  264.  004084D8  |. 6A 02          PUSH 2                                   ; |Family = AF_INET
  265.  004084DA  |. E8 19FFFFFF    CALL <JMP.&wsock32.socket>               ; \socket
  266.  004084DF  |. A3 A0374100    MOV DWORD PTR DS:[4137A0],EAX
  267.  *)
  268. procedure InitGathering();
  269. var
  270.  TcpData           : PTcpData; // puntero a tcpdata
  271.  nOpc              : integer;
  272. begin
  273. {$IFDEF Host}
  274.    __call_ix86_configureHost;  // inicio la configuracion de parametros
  275. {$ENDIF}
  276. {$IFDEF Port}
  277.    __call_ix86_configurePort;
  278. {$ENDIF}
  279.  ASM
  280.  PUSH EBX
  281.  ADD ESP, 0FFFFFE70h
  282.  PUSH ESP
  283.  PUSH $1                 // version
  284.  CALL WSAStartup         //WSAStartUp($1, WSData);
  285.  PUSH $0
  286.  PUSH $1
  287.  PUSH $2
  288.  CALL SOCKET
  289.  MOV DWORD PTR DS:[TcpSocket], EAX  // Puntero a tcpsocket  //TcpSocket:= Socket (AF_INET, SOCK_STREAM, ZERO);
  290.  END;
  291.  New(TcpData); // reservamos memoria para la estructura
  292.  
  293.  sAddr.sin_family:= af_inet;
  294.  sAddr.sin_addr.s_addr:= inet_addr(__call_ix86_getip()); //INET_ADDR('173.194.42.209');
  295.  sAddr.sin_port:= htons(Port); //htons( StrToInt(ParamStr(2)) );
  296.  
  297.  nOpc:= 4;
  298.  // Opcion por default
  299.  if (ParamStr(nOpc)<' ') then
  300.    TcpData^.SendDataBuffer:= 'OPTIONS /index.html HTTP/1.0'+BL+BL;
  301.  // Gathering automatico
  302.  if (ParamStr(nOpc)>' ') then
  303.  begin
  304.    if (ParamStr(nOpc)='get_proto_0') then
  305.      TcpData^.SendDataBuffer:= GET+STP+HTTP0+BL+BL;
  306.    if (ParamStr(nOpc)='get_proto_1') then
  307.      TcpData^.SendDataBuffer:= GET+STP+HTTP1+BL+BL;
  308.    if (ParamStr(nOpc)='post_proto_0') then
  309.      TcpData^.SendDataBuffer:= POST+STP+HTTP0+BL+BL;
  310.    if (ParamStr(nOpc)='post_proto_1') then
  311.      TcpData^.SendDataBuffer:= POST+STP+HTTP1+BL+BL;
  312.    if (ParamStr(nOpc)='options_proto_0') then
  313.      TcpData^.SendDataBuffer:= OPTIONS+STP+HTTP0+BL+BL;
  314.    if (ParamStr(nOpc)='options_proto_1') then
  315.      TcpData^.SendDataBuffer:= OPTIONS+STP+HTTP1+BL+BL;
  316.    if (ParamStr(nOpc)='head_proto_0') then
  317.      TcpData^.SendDataBuffer:= HEAD+STP+HTTP0+BL+BL;
  318.    if (ParamStr(nOpc)='head_proto_1') then
  319.      TcpData^.SendDataBuffer:= HEAD+STP+HTTP1+BL+BL;
  320.  end;
  321.  
  322.  try
  323.    WriteLn('[Conectando al servidor]: ', __call_ix86_getip());
  324.  
  325.    Winsock.Connect(TcpSocket, sAddr, sizeof(sAddr));
  326.    WriteLn('[Parametro]: ', TcpData^.SendDataBuffer );
  327.    Winsock.Send(TcpSocket, TcpData^.SendDataBuffer, StrLen(TcpData^.SendDataBuffer), MSG_DONTROUTE);
  328.    Winsock.Recv(TcpSocket, TcpData^.RecvDataBuffer, BSIZE, SD_RECEIVE);
  329.    WriteLn(TcpData^.RecvDataBuffer);
  330.  finally
  331.    Dispose(TcpData);
  332.    Shutdown(TcpSocket, SD_BOTH);
  333.    CloseSocket(TcpSocket);
  334.    WSACleanUp();
  335.  end;
  336.  
  337. end;
  338.  
  339. function
  340.  RandomHashes(LenDict:integer):string;
  341. const
  342.  BuffHash    : Array[0..BUFFSIZE] of Char= (
  343.    'a', 'b', 'c', 'd', 'e', 'f', 'g',
  344.    'h', 'i', 'j', 'k', 'l', 'm', 'n',
  345.    'o', 'p', 'q', 'r', 's', 't', 'u',
  346.    'u', 'v', 'w', 'x', 'y', 'z', 'A',
  347.    'B', 'C', 'D', 'E', 'F', 'G', 'H',
  348.    'I', 'J', 'K', 'L', 'M', 'N', 'O',
  349.    'P', 'Q', 'R', 'S', 'T', 'U', 'V',
  350.    'W', 'X', 'Y', 'Z', '0', '1', '2',
  351.    '3', '4', '5', '6', '7', '8', '9',
  352.    '=', '?', '-'
  353.  );
  354. var
  355.  iHash         : Integer;
  356.  PBuffHash     : Char;
  357. begin
  358.  iHash:= Length(BuffHash)-LenDict;
  359.  repeat
  360.    Randomize;
  361.    PBuffHash:= BuffHash[Random(Length(BuffHash))];
  362.    asm
  363.      @@StartUp:
  364.        DEC(iHash);
  365.    end;
  366.    Result:= Result+PBuffHash;
  367.  until (iHash<ZERO);
  368.  Result:= Result;
  369.  
  370.  ZeroMemory(Addr(iHash), SizeOf(iHash));
  371.  ZeroMemory(Addr(PBuffHash), SizeOf(PBuffHash));
  372. end;
  373.  
  374. function
  375.  DownloadInetFile(urlhandle:HInternet; const nfile:string): string;
  376. var
  377.  Buffer          : array [0..1024] of char;
  378.  bytesRead       : DWORD;
  379.  txtFile         : TextFile;
  380. begin
  381. Result:= '';
  382. {$I-}
  383.  if nfile>'' then begin
  384.    {$DEFINE CONFIGURE_INTERNET_FILE}
  385.    assignfile(txtFile, nfile);
  386.    rewrite(txtfile);
  387.  end;
  388.  {$I+}
  389.    {$IFDEF CONFIGURE_INTERNET_FILE}
  390.      fillchar(buffer, sizeof(buffer), ZERO); // inicializamos el buffer
  391.  
  392.      repeat
  393.        result:= result+buffer;
  394.  
  395.        internetreadFile(urlhandle, @buffer, sizeof(buffer), bytesread);
  396.        {$I-}if nfile>'' then write(txtfile, buffer);{$I+}
  397.  
  398.        writeln(buffer);
  399.      until bytesread=0;
  400.    {$ENDIF}
  401.    {$UNDEF CONFIGURE_INTERNET_FILE}
  402.  {$I-}closefile(txtfile);{$I+}
  403. end;
  404.  
  405. function
  406.  OpenINet(url, nFile :string; HashLen, Secs, Opc: integer ) : BOOL;
  407. var
  408.  hInet,
  409.  hUrl        : hInternet;
  410.  NHash       : PChar;
  411.  Init        : BOOL;
  412. begin
  413.  NHash:= PChar( RandomHashes(HashLen) );
  414.  hInet:= InternetOpen(NHash, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, ZERO);
  415.  if assigned(hInet) then
  416.  begin
  417.    hUrl:= InternetOpenUrl(hInet, PChar(HTTP+url), nil, INTERNET_FLAG_NO_COOKIES,
  418.                            INTERNET_FLAG_RELOAD, INTERNET_SERVICE_HTTP);
  419.    if assigned(hUrl) then begin
  420.      if Opc=$02 then begin
  421.        DownloadInetFile(hUrl, nFile); end
  422.      else if Opc=$03 then begin
  423.        DownloadInetFile(hUrl, ''); end
  424.      else begin
  425.        Result:= true;
  426.        WriteLn('[Hash generado]: '+ NHash);
  427.      end;
  428.    end
  429.    else begin
  430.      WriteLn('Se ha producido un error en la conexion... ');
  431.      Result:= false;
  432.    end;
  433.  end; // assigned
  434.  Sleep(Secs*1000);
  435.  
  436.  InternetCloseHandle(hInet);
  437.  InternetCloseHandle(hUrl);
  438.  FreeMemory(NHash);
  439. end;
  440.  
  441. procedure
  442.  CALLBACK_DownloadInetFile(nFile:string; HashLen, Secs:integer);
  443. begin
  444.  {$IFDEF Host}
  445.    __call_ix86_configureHost; // configura el primer parametro como Host
  446.  {$ENDIF}
  447.  OpenInet(Host, nFile , HashLen, Secs, $02 );
  448. end;
  449.  
  450. procedure
  451.  InitIrb;
  452. var
  453.  Init        : BOOL;
  454.  cIrb        : integer;
  455. begin
  456.  Init:= true;
  457.  {$IFDEF Host}
  458.    __call_ix86_configureHost;
  459.  {$ENDIF}
  460.  WriteLn('Apreta (F5) para salir del bot.');
  461.  while Init do begin
  462.    if OpenInet( Host, '' , HASHKEY, StrToInt( ParamStr(3) ), ZERO ) then
  463.    begin
  464.      inc(cirb);
  465.      writeLn(
  466.        '[Servidor visitado]: ', ParamStr(2),
  467.        #13#10 +'[Ip]: ', __call_ix86_getip(), #13#10+'[Numero de veces]: ', cirb,
  468.        #13#10 +'============================'
  469.      );
  470.    end
  471.    else begin
  472.      writeLn(#13#10+'Ha surgido un problema en la conexion...'); end;
  473.  
  474.    if __call_ix86_interceptF5() then begin
  475.      Init:= false;
  476.      WriteLn(#13#10+'Opcion salida por el usuario.');
  477.    end;
  478.  end;
  479.  ZeroMemory(Addr(cirb), sizeof(cirb));
  480. end;
  481.  
  482. var
  483.  Input       : integer;
  484.  Output      : string;
  485.  Opc         : array[1..2] of Byte = ($01, $02);
  486. begin
  487.  {$O+}
  488.  
  489.  writeln   (
  490.  ' _____       _   _' ,  #13#10,
  491.  '|  __ \     | | | |' , #13#10,
  492.  '| |  \/ __ _| |_| |__   ___  _ __ '  , #13#10 ,
  493.  '| | __ / _` | __|  _ \ / _ \|  __|' , #13#10 ,
  494.  '| |_\ \ (_| | |_| | | | (_) | |   '  ,  #13#10 ,
  495.  ' \____/\__,_|\__|_| |_|\___/|_|   ' , #13#10 ,
  496.  #9#9,'-==0.5 by - WarZ0n3==-' , #13#10#9, 'Happy Hacking...', #13#10
  497.  );
  498.  
  499.  try
  500.  
  501.      if pos('-h', ParamStr(1))<>0 then
  502.        writeln(#13#10, #9,
  503.            '-m     = metodos http usados para gathering(-g)', #13#10#9,
  504.            '-h     = me estas viendo bebe.', #13#10#9,
  505.            '-d     = descarga archivo : <www.sitio><nombre_archivo_a_guardar>', #13#10#9,
  506.            '-b     = modo bot(spam-sitio) : <www.sitio><intervalo_en_segundos>', #13#10#9,
  507.            '-g     = modo gathering : <www.sitio><puerto><metodo_http>', #13#10#9,
  508.            '-r     = lee un archivo de un sitio web : <www.sitio/archivo.ext>'
  509.            );
  510.  
  511.      if pos('-m', ParamStr(1))<>0 then
  512.        writeln( #13#10#9,
  513.          'Los siguientes comandos permiten hacer', #13#10#9,
  514.          'peticiones HTTP por distintas opciones,', #13#10#9,
  515.          'GET, POST, HEAD, ETC... y version del', #13#10#9,
  516.          'protocolo respectivamente 1.0 o 1.1', #13#10 , #13#10#9,
  517.          'get_proto_0 -> metodo GET por HTTP/1.0' , #13#10#9,
  518.          'get_proto_1 -> GET por HTTP/1.1', #13#10#9,
  519.          'post_proto_0 -> POST por HTTP/1.0', #13#10#9,
  520.          'post_proto_1 -> POST por HTTP/1.1', #13#10#9,
  521.          'options_proto_0 -> OPTIONS por HTTP/1.0' , #13#10#9,
  522.          'options_proto_1 -> OPTIONS por HTTP/1.1', #13#10#9,
  523.          'head_proto_0 -> HEAD por HTTP/1.0' , #13#10#9,
  524.          'head_proto_1 -> HEAD por HTTP/1.1', #13#10#9#13#10#9,
  525.          'Ejemplo del gathor : -g www.facebook.com 80 get_proto_1', #13#10
  526.            );
  527.  
  528.      if pos('-d', ParamStr(1))<>0 then begin
  529.        if ParamCount=3 then
  530.          CALLBACK_DownloadInetFile(ParamStr(3), 55, 1)
  531.        else
  532.          Write(#13#10, 'Parametros: <opcion><www.sitio><ruta+nombre_archivo_a_guardar>');
  533.      end;
  534.      if pos('-b', ParamStr(1))<>0 then begin
  535.        if ParamCount=3 then
  536.          InitIrb()
  537.        else
  538.          Write(#13#10, 'Parametros: <opcion><www.sitio/video_a_aumentar><intervalo_en_segundos>');
  539.      end;
  540.      if pos('-g', ParamStr(1))<>0 then begin
  541.        if ParamCount=4 then
  542.          InitGathering()
  543.        else
  544.          Write(#13#10, 'Parametros: <www.sitio><puerto><metodo_http>');
  545.      end;
  546.      if pos('-r', ParamStr(1))<>0 then begin
  547.        if ParamCount=2 then begin
  548.        {$IFDEF Host} __call_ix86_configureHost; {$ENDIF}
  549.        OpenINet(Host, '', 55, 1, 3 ); end
  550.        else begin Write(#13#10, 'Parametros: <www.sitio/archivo.ext>'); end;
  551.      end;
  552.  
  553.  except end;
  554.  {$O-}
  555.  
  556. end.
  557.  

gathor con parametro -r


gathor con parametro -d


gathor con parametro -h y -m


gathor con parametro -g por medio del metodo get


gathor con parametro -g por medio del metodo post


gathor con parametro -g por medio del metodo head


gathor con parametro -g por medio del metodo options



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Pascal] Gathor 0.1 (Recolector de informacion)
Programación General
WarZ0n3 0 1,738 Último mensaje 1 Agosto 2013, 08:51 am
por WarZ0n3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines