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


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 53
1  Programación / .NET / [C#] ZIP Cracker 0.2 en: 28 Mayo 2016, 03:43
Un simple programa en C# para buscar el password de un comprimido ZIP usando un diccionario.

El codigo :

Código
  1. // ZIP Cracker 0.2
  2. // (C) Doddy Hackman 2015
  3.  
  4. using System;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Data;
  8. using System.Drawing;
  9. using System.Text;
  10. using System.Windows.Forms;
  11. using Ionic.Zip;
  12. using System.IO;
  13.  
  14. namespace ZIP_Cracker
  15. {
  16.    public partial class Form1 : Form
  17.    {
  18.        public Form1()
  19.        {
  20.            InitializeComponent();
  21.        }
  22.  
  23.        public bool check_password(string filename, string password)
  24.        {
  25.            try
  26.            {
  27.                using (ZipFile zip = ZipFile.Read(filename))
  28.                {
  29.                    zip.Password = password;
  30.                    var stream = new MemoryStream();
  31.  
  32.                    foreach (ZipEntry z in zip)
  33.                    {
  34.                        z.Extract(stream);
  35.                    }
  36.                    return true;
  37.                }
  38.            }
  39.            catch
  40.            {
  41.                return false;
  42.            }
  43.        }
  44.  
  45.        private void exit_Click(object sender, EventArgs e)
  46.        {
  47.            Application.Exit();
  48.        }
  49.  
  50.        private void load_Click(object sender, EventArgs e)
  51.        {
  52.            open.InitialDirectory = Directory.GetCurrentDirectory();
  53.            open.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
  54.            open.Title = "Select File";
  55.            if (open.ShowDialog() == DialogResult.OK)
  56.            {
  57.                wordlist.Text = open.FileName;
  58.            }
  59.        }
  60.  
  61.        private void crack_Click(object sender, EventArgs e)
  62.        {
  63.            string zip_file = archivo_zip.Text;
  64.            string wordlist_file = wordlist.Text;
  65.            string password;
  66.  
  67.            console.Clear();
  68.  
  69.            if (File.Exists(zip_file) && File.Exists(wordlist_file))
  70.            {
  71.                console.AppendText("[+] Cracking ...\n\n");
  72.                System.IO.StreamReader leyendo = new System.IO.StreamReader(wordlist_file);
  73.                while ((password = leyendo.ReadLine()) != null)
  74.                {
  75.                    if (check_password(zip_file,password))
  76.                    {
  77.                        console.AppendText("[+] Password Found : " + password+"\n");
  78.                        break;
  79.                    }
  80.                    else
  81.                    {
  82.                        console.AppendText("[-] Password : "+password+" FAIL"+"\n");
  83.                    }
  84.                }
  85.  
  86.                leyendo.Close();
  87.  
  88.                console.AppendText("\n[+] Finished");
  89.            }
  90.            else
  91.            {
  92.                console.AppendText("[-] File not found");
  93.            }
  94.        }
  95.  
  96.        private void load_zip_Click(object sender, EventArgs e)
  97.        {
  98.            open.InitialDirectory = Directory.GetCurrentDirectory();
  99.            open.Filter = "zip files (*.zip)|*.zip|All files (*.*)|*.*";
  100.            open.Title = "Select ZIP";
  101.            if (open.ShowDialog() == DialogResult.OK)
  102.            {
  103.                archivo_zip.Text = open.FileName;
  104.            }
  105.        }
  106.  
  107.    }
  108. }
  109.  
  110. // The End ?
  111.  

Una imagen :



Si quieren bajar el proyecto con el codigo fuente lo pueden hacer de aca :

SourceForge.

Eso seria todo.
2  Programación / Programación General / [Delphi] Unit DH Tools 0.2 en: 14 Mayo 2016, 18:45
Hola les traigo una Unit en Delphi , se llama DH_Tools y tiene las siguientes funciones :

  • Realizar una peticion GET a una pagina y capturar la respuesta
  • Realizar una peticion POST a una pagina y capturar la respuesta
  • Crear o escribir en un archivo
  • Leer un archivo
  • Ejecutar comandos y recibir la respuesta
  • HTTP FingerPrinting
  • Recibir el codigo de respuesta HTTP de una pagina
  • Limpiar repetidos en un array
  • Limpiar URL en un array a partir de la "query"
  • Split casero xD
  • Descargar archivos de internet
  • Capturar el nombre del archivo de una URL
  • URI Split
  • MD5 Encode
  • Capturar el MD5 de un archivo
  • Resolve IP

El codigo :

Código
  1. // Unit : DH Tools
  2. // Version : 0.2
  3. // (C) Doddy Hackman 2015
  4.  
  5. unit DH_Tools;
  6.  
  7. interface
  8.  
  9. uses SysUtils, Windows, WinInet, Classes, IdHTTP, Generics.Collections, URLMon,
  10.  IdURI, IdHashMessageDigest, WinSock;
  11.  
  12. function toma(const pagina: string): UTF8String;
  13. function tomar(pagina: string; postdata: AnsiString): string;
  14. procedure savefile(filename, texto: string);
  15. function read_file(const archivo: TFileName): String;
  16. function console(cmd: string): string;
  17. function http_finger(page: string): string;
  18. function response_code(page: string): string;
  19. function clean_list(const list: TList<String>): TList<String>;
  20. function cut_list(const list: TList<String>): TList<String>;
  21. function regex(text: String; deaca: String; hastaaca: String): String;
  22. function download_file(page, save: string): bool;
  23. function get_url_file(Url: string): string;
  24. function uri_split(Url, opcion: string): string;
  25. function md5_encode(text: string): string;
  26. function md5_file(const filename: string): string;
  27. function resolve_ip(const target: string): string;
  28.  
  29. implementation
  30.  
  31. function toma(const pagina: string): UTF8String;
  32.  
  33. // Credits : Based on http://www.scalabium.com/faq/dct0080.htm
  34. // Thanks to www.scalabium.com
  35.  
  36. var
  37.  nave1: HINTERNET;
  38.  nave2: HINTERNET;
  39.  tou: DWORD;
  40.  codez: UTF8String;
  41.  codee: array [0 .. 1023] of byte;
  42.  finalfinal: string;
  43.  
  44. begin
  45.  
  46.  try
  47.  
  48.    begin
  49.  
  50.      finalfinal := '';
  51.      Result := '';
  52.  
  53.      nave1 := InternetOpen
  54.        ('Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0',
  55.        INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  56.  
  57.      nave2 := InternetOpenUrl(nave1, PChar(pagina), nil, 0,
  58.        INTERNET_FLAG_RELOAD, 0);
  59.  
  60.      repeat
  61.  
  62.      begin
  63.        InternetReadFile(nave2, @codee, SizeOf(codee), tou);
  64.        SetString(codez, PAnsiChar(@codee[0]), tou);
  65.        finalfinal := finalfinal + codez;
  66.      end;
  67.  
  68.      until tou = 0;
  69.  
  70.      InternetCloseHandle(nave2);
  71.      InternetCloseHandle(nave1);
  72.  
  73.      Result := finalfinal;
  74.    end;
  75.  
  76.  except
  77.    //
  78.  end;
  79. end;
  80.  
  81. function regex(text: String; deaca: String; hastaaca: String): String;
  82. begin
  83.  Delete(text, 1, AnsiPos(deaca, text) + Length(deaca) - 1);
  84.  SetLength(text, AnsiPos(hastaaca, text) - 1);
  85.  Result := text;
  86. end;
  87.  
  88. function tomar(pagina: string; postdata: AnsiString): string;
  89.  
  90. // Credits : Based on  : http://tulisanlain.blogspot.com.ar/2012/10/how-to-send-http-post-request-in-delphi.html
  91. // Thanks to Tulisan Lain
  92.  
  93. const
  94.  accept: packed array [0 .. 1] of LPWSTR = (PChar('*/*'), nil);
  95.  
  96. var
  97.  nave3: HINTERNET;
  98.  nave4: HINTERNET;
  99.  nave5: HINTERNET;
  100.  todod: array [0 .. 1023] of AnsiChar;
  101.  numberz: Cardinal;
  102.  numberzzz: Cardinal;
  103.  finalfinalfinalfinal: string;
  104.  
  105. begin
  106.  
  107.  try
  108.  
  109.    begin
  110.  
  111.      finalfinalfinalfinal := '';
  112.      Result := '';
  113.  
  114.      nave3 := InternetOpen
  115.        (PChar('Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0'),
  116.        INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  117.  
  118.      nave4 := InternetConnect(nave3, PChar(regex(pagina, '://', '/')),
  119.        INTERNET_DEFAULT_HTTP_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 1);
  120.  
  121.      nave5 := HttpOpenRequest(nave4, PChar('POST'), PChar(get_url_file(pagina)
  122.        ), nil, nil, @accept, 0, 1);
  123.  
  124.      HttpSendRequest(nave5,
  125.        PChar('Content-Type: application/x-www-form-urlencoded'),
  126.        Length('Content-Type: application/x-www-form-urlencoded'),
  127.        PChar(postdata), Length(postdata));
  128.  
  129.      repeat
  130.  
  131.      begin
  132.  
  133.        InternetReadFile(nave5, @todod, SizeOf(todod), numberzzz);
  134.  
  135.        if numberzzz = SizeOf(todod) then
  136.        begin
  137.          Result := Result + AnsiString(todod);
  138.        end;
  139.        if numberzzz > 0 then
  140.          for numberz := 0 to numberzzz - 1 do
  141.          begin
  142.            finalfinalfinalfinal := finalfinalfinalfinal + todod[numberz];
  143.          end;
  144.  
  145.      end;
  146.  
  147.      until numberzzz = 0;
  148.  
  149.      InternetCloseHandle(nave3);
  150.      InternetCloseHandle(nave4);
  151.      InternetCloseHandle(nave5);
  152.  
  153.      Result := finalfinalfinalfinal;
  154.  
  155.    end;
  156.  
  157.  except
  158.    //
  159.  end;
  160. end;
  161.  
  162. procedure savefile(filename, texto: string);
  163. var
  164.  ar: TextFile;
  165.  
  166. begin
  167.  
  168.  AssignFile(ar, filename);
  169.  FileMode := fmOpenWrite;
  170.  
  171.  if FileExists(filename) then
  172.    Append(ar)
  173.  else
  174.    Rewrite(ar);
  175.  
  176.  Write(ar, texto);
  177.  CloseFile(ar);
  178.  
  179. end;
  180.  
  181. function read_file(const archivo: TFileName): String;
  182. var
  183.  lista: TStringList;
  184. begin
  185.  
  186.  if (FileExists(archivo)) then
  187.  begin
  188.  
  189.    lista := TStringList.Create;
  190.    lista.Loadfromfile(archivo);
  191.    Result := lista.text;
  192.    lista.Free;
  193.  
  194.  end;
  195. end;
  196.  
  197. function console(cmd: string): string;
  198. // Credits : Function ejecutar() based in : http://www.delphidabbler.com/tips/61
  199. // Thanks to www.delphidabbler.com
  200.  
  201. var
  202.  parte1: TSecurityAttributes;
  203.  parte2: TStartupInfo;
  204.  parte3: TProcessInformation;
  205.  parte4: THandle;
  206.  parte5: THandle;
  207.  control2: Boolean;
  208.  contez: array [0 .. 255] of AnsiChar;
  209.  notengoidea: Cardinal;
  210.  fix: Boolean;
  211.  code: string;
  212.  
  213. begin
  214.  
  215.  code := '';
  216.  
  217.  with parte1 do
  218.  begin
  219.    nLength := SizeOf(parte1);
  220.    bInheritHandle := True;
  221.    lpSecurityDescriptor := nil;
  222.  end;
  223.  
  224.  CreatePipe(parte4, parte5, @parte1, 0);
  225.  
  226.  with parte2 do
  227.  begin
  228.    FillChar(parte2, SizeOf(parte2), 0);
  229.    cb := SizeOf(parte2);
  230.    dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
  231.    wShowWindow := SW_HIDE;
  232.    hStdInput := GetStdHandle(STD_INPUT_HANDLE);
  233.    hStdOutput := parte5;
  234.    hStdError := parte5;
  235.  end;
  236.  
  237.  fix := CreateProcess(nil, PChar('cmd.exe /C ' + cmd), nil, nil, True, 0, nil,
  238.    PChar('c:/'), parte2, parte3);
  239.  
  240.  CloseHandle(parte5);
  241.  
  242.  if fix then
  243.  
  244.    repeat
  245.  
  246.    begin
  247.      control2 := ReadFile(parte4, contez, 255, notengoidea, nil);
  248.    end;
  249.  
  250.    if notengoidea > 0 then
  251.    begin
  252.      contez[notengoidea] := #0;
  253.      code := code + contez;
  254.    end;
  255.  
  256.    until not(control2) or (notengoidea = 0);
  257.  
  258.  Result := code;
  259.  
  260. end;
  261.  
  262. function http_finger(page: string): string;
  263. var
  264.  nave: TIdHTTP;
  265.  resultado: string;
  266. begin
  267.  
  268.  nave := TIdHTTP.Create(nil);
  269.  nave.Request.UserAgent :=
  270.    'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0';
  271.  nave.Get(page);
  272.  resultado := '[+] ' + nave.Response.ResponseText + sLineBreak + '[+] Date : '
  273.    + DateTimeToStr(nave.Response.Date) + sLineBreak + '[+] Server : ' +
  274.    nave.Response.Server + sLineBreak + '[+] Last-Modified : ' +
  275.    DateTimeToStr(nave.Response.LastModified) + sLineBreak + '[+] ETag : ' +
  276.    nave.Response.ETag + sLineBreak + '[+] Accept-Ranges : ' +
  277.    nave.Response.AcceptRanges + sLineBreak + '[+] Content-Length : ' +
  278.    IntToStr(nave.Response.ContentLength) + sLineBreak + '[+] Connection : ' +
  279.    nave.Response.Connection + sLineBreak + '[+] Content-Type : ' +
  280.    nave.Response.ContentType;
  281.  Result := resultado;
  282. end;
  283.  
  284. function response_code(page: string): string;
  285. var
  286.  nave: TIdHTTP;
  287.  code: string;
  288. begin
  289.  nave := TIdHTTP.Create(nil);
  290.  nave.Request.UserAgent :=
  291.    'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0';
  292.  try
  293.    begin
  294.      nave.Head(page);
  295.      code := IntToStr(nave.ResponseCode);
  296.    end;
  297.  except
  298.    begin
  299.      code := '404';
  300.    end;
  301.  end;
  302.  Result := code;
  303. end;
  304.  
  305. function clean_list(const list: TList<String>): TList<String>;
  306. var
  307.  lista: TList<String>;
  308.  elemento: string;
  309.  
  310. begin
  311.  lista := TList<String>.Create;
  312.  for elemento in list do
  313.  begin
  314.    if not lista.Contains(elemento) then
  315.    begin
  316.      lista.Add(elemento);
  317.    end;
  318.  end;
  319.  Result := lista;
  320. end;
  321.  
  322. function cut_list(const list: TList<String>): TList<String>;
  323. var
  324.  lista: TList<String>;
  325.  elemento: string;
  326.  otralista: TStrings;
  327. begin
  328.  lista := TList<String>.Create;
  329.  for elemento in list do
  330.  begin
  331.    if (Pos('=', elemento) > 0) then
  332.    begin
  333.      otralista := TStringList.Create;
  334.      ExtractStrings(['='], [], PChar(elemento), otralista);
  335.      lista.Add(otralista[0] + '=');
  336.    end;
  337.  end;
  338.  Result := lista;
  339. end;
  340.  
  341. function download_file(page, save: string): bool;
  342. begin
  343.  UrlDownloadToFile(nil, PChar(page), PChar(save), 0, nil);
  344.  if FileExists(save) then
  345.  begin
  346.    Result := True;
  347.  end
  348.  else
  349.  begin
  350.    Result := False;
  351.  end;
  352. end;
  353.  
  354. function get_url_file(Url: string): string;
  355. var
  356.  URI: TIdURI;
  357. begin
  358.  URI := TIdURI.Create(Url);
  359.  Result := URI.Document;
  360. end;
  361.  
  362. function uri_split(Url, opcion: string): string;
  363. var
  364.  URI: TIdURI;
  365. begin
  366.  URI := TIdURI.Create(Url);
  367.  if opcion = 'host' then
  368.  begin
  369.    Result := URI.Host;
  370.  end;
  371.  if opcion = 'port' then
  372.  begin
  373.    Result := URI.Port;
  374.  end;
  375.  if opcion = 'path' then
  376.  begin
  377.    Result := URI.Path;
  378.  end;
  379.  if opcion = 'file' then
  380.  begin
  381.    Result := URI.Document;
  382.  end;
  383.  if opcion = 'query' then
  384.  begin
  385.    Result := URI.Params;
  386.  end;
  387.  if opcion = '' then
  388.  begin
  389.    Result := 'Error';
  390.  end;
  391. end;
  392.  
  393. function md5_encode(text: string): string;
  394. var
  395.  md5: TIdHashMessageDigest5;
  396. begin
  397.  md5 := TIdHashMessageDigest5.Create;
  398.  Result := LowerCase(md5.HashStringAsHex(text));
  399. end;
  400.  
  401. function md5_file(const filename: string): string;
  402. var
  403.  md5: TIdHashMessageDigest5;
  404.  stream: TFileStream;
  405. begin
  406.  if (FileExists(filename)) then
  407.  begin
  408.    md5 := TIdHashMessageDigest5.Create;
  409.    stream := TFileStream.Create(filename, fmOpenRead or fmShareDenyWrite);
  410.    Result := LowerCase(md5.HashStreamAsHex(stream));
  411.  end
  412.  else
  413.  begin
  414.    Result := 'Error';
  415.  end;
  416. end;
  417.  
  418. function resolve_ip(const target: string): string;
  419. var
  420.  socket: TWSAData;
  421.  uno: PHostEnt;
  422.  dos: TInAddr;
  423.  ip: string;
  424. begin
  425.  try
  426.    begin
  427.      WSAStartup($101, socket);
  428.      uno := WinSock.GetHostByName(PAnsiChar(AnsiString(target)));
  429.      dos := PInAddr(uno^.h_Addr_List^)^;
  430.      ip := WinSock.inet_ntoa(dos);
  431.      if ip = '' then
  432.      begin
  433.        Result := 'Error';
  434.      end
  435.      else
  436.      begin
  437.        Result := ip;
  438.      end;
  439.    end;
  440.  except
  441.    Result := 'Error';
  442.  end;
  443. end;
  444.  
  445. end.
  446.  
  447. // The End ?
  448.  

Ejemplos de uso :

Código
  1. unit dh;
  2.  
  3. interface
  4.  
  5. uses
  6.  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  7.  System.Classes, Vcl.Graphics,
  8.  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, DH_Tools,
  9.  Generics.Collections;
  10.  
  11. type
  12.  TForm1 = class(TForm)
  13.    Memo1: TMemo;
  14.    Button1: TButton;
  15.    procedure Button1Click(Sender: TObject);
  16.  private
  17.    { Private declarations }
  18.  public
  19.    { Public declarations }
  20.  end;
  21.  
  22. var
  23.  Form1: TForm1;
  24.  
  25. implementation
  26.  
  27. {$R *.dfm}
  28.  
  29. procedure TForm1.Button1Click(Sender: TObject);
  30. var
  31.  paginas: TList<String>;
  32.  pagina: string;
  33.  lista: TList<String>;
  34.  code: string;
  35. begin
  36.  
  37.  // code := toma('http://localhost/login.php');
  38.  // ShowMessage(code);
  39.  
  40.  // code := tomar('http://localhost/login.php','usuario=test&password=test&control=Login');
  41.  // ShowMessage(code);
  42.  
  43.  // savefile('logs.txt','test');
  44.  
  45.  // code := read_file('logs.txt');
  46.  // ShowMessage(code);
  47.  
  48.  // code := console('ver');
  49.  // ShowMessage(code);
  50.  
  51.  // code := http_finger('http://www.petardas.com');
  52.  // ShowMessage(code);
  53.  
  54.  // code := response_code('http://www.petardas.com');
  55.  // ShowMessage(code);
  56.  
  57.  {
  58.     paginas := TList<String>.Create;
  59.     paginas.AddRange(['test1', 'test1', 'test3', 'test4', 'test5']);
  60.     lista := clean_list(paginas);
  61.  
  62.     for pagina in lista do
  63.     begin
  64.     Memo1.Lines.Add('Value : ' + pagina);
  65.     end;
  66.   }
  67.  
  68.  {
  69.     paginas := TList<String>.Create;
  70.     paginas.AddRange(['http://localhost/sql1.php?id=dsadasad',
  71.     'http://localhost/sql2.php?id=dsadasad',
  72.     'http://localhost/sql3.php?id=dsadasad',
  73.     'http://localhost/sql3.php?id=dsadasad']);
  74.     lista := cut_list(clean_list(paginas));
  75.  
  76.     for pagina in lista do
  77.     begin
  78.     Memo1.Lines.Add('Value : ' + pagina);
  79.     end;
  80.   }
  81.  
  82.  {
  83.     if (download_file('http://localhost/test.rar', 'test.rar')) then
  84.     begin
  85.     ShowMessage('Yeah');
  86.     end
  87.     else
  88.     begin
  89.     ShowMessage('Error');
  90.     end;
  91.   }
  92.  
  93.  // ShowMessage(get_url_file('http://localhost/sql.php?id=dsadsadsa'));
  94.  
  95.  // ShowMessage(uri_split('http://localhost/sql.php?id=dsadsadd','query'));
  96.  
  97.  // ShowMessage(md5_encode('123'));
  98.  
  99.  // ShowMessage(md5_file('c:/xampp/xampp-control.exe'));
  100.  
  101.  // ShowMessage(resolve_ip('www.petardas.com'));
  102.  
  103. end;
  104.  
  105. end.
  106.  

Eso seria todo.
3  Programación / Java / [Java] Whois Manager 0.2 en: 30 Abril 2016, 17:28
Un simple programa en Java para hacer un Whois.

Una imagen :



Si lo quieren bajar lo pueden hacer de aca.
4  Programación / Java / [Java] ClapTrap IRC Bot 0.5 en: 15 Abril 2016, 21:26
Traduccion a Java de mi IRC Bot , tiene las siguientes opciones :

  • Scanner SQLI
  • Scanner LFI
  • Buscador de panel de administracion
  • Localizador de IP
  • Buscador de DNS
  • Buscador de SQLI y RFI en google
  • Crack para hashes MD5
  • Cortador de URL usando tinyurl
  • HTTP FingerPrinting
  • Codificador base64,hex y ASCII 

Unas imagenes :





El codigo :

Código
  1. // ClapTrap IRC Bot 0.5
  2. // (C) Doddy Hackman 2015
  3. package claptrap.irc.bot;
  4.  
  5. import java.io.IOException;
  6. import java.util.regex.Matcher;
  7. import java.util.regex.Pattern;
  8. import java.io.*;
  9. import java.net.*;
  10. import java.util.Scanner;
  11. import java.util.logging.Level;
  12. import java.util.logging.Logger;
  13.  
  14. /**
  15.  *
  16.  * @author Doddy
  17.  */
  18. public class ClapTrapIRCBot {
  19.  
  20.    /**
  21.      * @param args the command line arguments
  22.      */
  23.    public static String servidor;
  24.    public static int puerto;
  25.    public static String nick;
  26.    public static String admin;
  27.  
  28.    public static String canal;
  29.    public static int tiempo;
  30.  
  31.    public static Socket conexion;
  32.    public static BufferedWriter escribir;
  33.    public static BufferedReader leer;
  34.  
  35.    public static void responder(String contenido) {
  36.        try {
  37.            String[] textos = contenido.split("\n");
  38.            for (String texto : textos) {
  39.                if (!"".equals(texto)) {
  40.                    escribir.write("PRIVMSG " + admin + " : " + texto + "\r\n");
  41.                    escribir.flush();
  42.                    try {
  43.                        Thread.sleep(tiempo * 1000);
  44.                    } catch (InterruptedException ex) {
  45.                        Logger.getLogger(ClapTrapIRCBot.class.getName()).log(Level.SEVERE, null, ex);
  46.                    }
  47.                }
  48.            }
  49.        } catch (IOException e) {
  50.            //
  51.        }
  52.    }
  53.  
  54.    public static void main(String[] args) {
  55.  
  56.        Scanner input = new Scanner(System.in);
  57.  
  58.        System.out.println("\n-- == ClapTrap IRC Bot 0.5 == --\n\n");
  59.        System.out.println("[+] Hostname : ");
  60.        String hostname_value = input.nextLine();
  61.        System.out.println("\n[+] Port : ");
  62.        Integer port_value = Integer.parseInt(input.nextLine());
  63.        System.out.println("\n[+] Channel : ");
  64.        String channel_value = input.nextLine();
  65.        System.out.println("\n[+] Nickname Admin : ");
  66.        String admin_value = input.nextLine();
  67.  
  68.        servidor = hostname_value;
  69.        puerto = port_value;
  70.        nick = "ClapTrap";
  71.        admin = admin_value;
  72.        canal = channel_value;
  73.        tiempo = 3;
  74.  
  75.        try {
  76.  
  77.            conexion = new Socket(servidor, puerto);
  78.            escribir = new BufferedWriter(
  79.                    new OutputStreamWriter(conexion.getOutputStream()));
  80.            leer = new BufferedReader(
  81.                    new InputStreamReader(conexion.getInputStream()));
  82.  
  83.            escribir.write("NICK " + nick + "\r\n");
  84.            escribir.write("USER " + nick + " 1 1 1 1\r\n");
  85.            escribir.flush();
  86.  
  87.            String contenido = null;
  88.  
  89.            escribir.write("JOIN " + canal + "\r\n");
  90.            escribir.flush();
  91.  
  92.            System.out.println("\n[+] Online");
  93.  
  94.            funciones funcion = new funciones();
  95.  
  96.            while ((contenido = leer.readLine()) != null) {
  97.  
  98.                Pattern search = null;
  99.                Matcher regex = null;
  100.  
  101.                search = Pattern.compile("^PING(.*)$");
  102.                regex = search.matcher(contenido);
  103.                if (regex.find()) {
  104.                    escribir.write("PONG " + regex.group(1) + "\r\n");
  105.                    escribir.flush();
  106.                }
  107.  
  108.                search = Pattern.compile(":(.*)!(.*) PRIVMSG (.*) :(.*)");
  109.                regex = search.matcher(contenido);
  110.                if (regex.find()) {
  111.                    String control_admin = regex.group(1);
  112.                    String text = regex.group(4);
  113.                    if (control_admin.equals(admin)) {
  114.  
  115.                        //
  116.                        search = Pattern.compile("!sqli (.*)$");
  117.                        regex = search.matcher(text);
  118.                        if (regex.find()) {
  119.                            String target = regex.group(1);
  120.                            String code = funcion.SQLI_Scanner(target);
  121.                            responder(code);
  122.                        }
  123.  
  124.                        search = Pattern.compile("!lfi (.*)$");
  125.                        regex = search.matcher(text);
  126.                        if (regex.find()) {
  127.                            String target = regex.group(1);
  128.                            String code = funcion.scan_lfi(target);
  129.                            responder(code);
  130.                        }
  131.  
  132.                        search = Pattern.compile("!panel (.*)$");
  133.                        regex = search.matcher(text);
  134.                        if (regex.find()) {
  135.                            String target = regex.group(1);
  136.                            String code = funcion.panel_finder(target);
  137.                            responder(code);
  138.                        }
  139.  
  140.                        search = Pattern.compile("!fuzzdns (.*)$");
  141.                        regex = search.matcher(text);
  142.                        if (regex.find()) {
  143.                            String target = regex.group(1);
  144.                            String code = funcion.fuzz_dns(target);
  145.                            responder(code);
  146.                        }
  147.  
  148.                        search = Pattern.compile("!locateip (.*)$");
  149.                        regex = search.matcher(text);
  150.                        if (regex.find()) {
  151.                            String target = regex.group(1);
  152.                            String code = funcion.locate_ip(target);
  153.                            responder(code);
  154.                        }
  155.  
  156.                        search = Pattern.compile("!sqlifinder (.*) (.*) (.*)$");
  157.                        regex = search.matcher(text);
  158.                        if (regex.find()) {
  159.                            String dork = regex.group(1);
  160.                            int cantidad = Integer.parseInt(regex.group(2));
  161.                            String buscador = regex.group(3);
  162.                            String code = funcion.find_sqli(dork, cantidad, buscador);
  163.                            responder(code);
  164.                        }
  165.  
  166.                        search = Pattern.compile("!rfifinder (.*) (.*) (.*)$");
  167.                        regex = search.matcher(text);
  168.                        if (regex.find()) {
  169.                            String dork = regex.group(1);
  170.                            int cantidad = Integer.parseInt(regex.group(2));
  171.                            String buscador = regex.group(3);
  172.                            String code = funcion.find_rfi(dork, cantidad, buscador);
  173.                            responder(code);
  174.                        }
  175.  
  176.                        search = Pattern.compile("!crackit (.*)$");
  177.                        regex = search.matcher(text);
  178.                        if (regex.find()) {
  179.                            String md5 = regex.group(1);
  180.                            String code = funcion.crack_md5(md5);
  181.                            responder(code);
  182.                        }
  183.  
  184.                        search = Pattern.compile("!tinyurl (.*)$");
  185.                        regex = search.matcher(text);
  186.                        if (regex.find()) {
  187.                            String url = regex.group(1);
  188.                            String code = funcion.tiny_url(url);
  189.                            responder(code);
  190.                        }
  191.  
  192.                        search = Pattern.compile("!httpfinger (.*)$");
  193.                        regex = search.matcher(text);
  194.                        if (regex.find()) {
  195.                            String page = regex.group(1);
  196.                            String code = funcion.http_finger(page);
  197.                            responder(code);
  198.                        }
  199.  
  200.                        search = Pattern.compile("!md5 (.*)$");
  201.                        regex = search.matcher(text);
  202.                        if (regex.find()) {
  203.                            String texto = regex.group(1);
  204.                            String code = "[+] MD5 : " + funcion.md5_encode(texto);
  205.                            responder(code);
  206.                        }
  207.  
  208.                        search = Pattern.compile("!base64 (.*) (.*)$");
  209.                        regex = search.matcher(text);
  210.                        if (regex.find()) {
  211.                            String option = regex.group(1);
  212.                            String texto = regex.group(2);
  213.                            String code = "";
  214.                            if ("encode".equals(option)) {
  215.                                code = "[+] Base64 : " + funcion.encode_base64(texto);
  216.                            }
  217.                            if ("decode".equals(option)) {
  218.                                code = "[+] Text : " + funcion.decode_base64(texto);
  219.                            }
  220.                            responder(code);
  221.                        }
  222.  
  223.                        search = Pattern.compile("!ascii (.*) (.*)$");
  224.                        regex = search.matcher(text);
  225.                        if (regex.find()) {
  226.                            String option = regex.group(1);
  227.                            String texto = regex.group(2);
  228.                            String code = "";
  229.                            if ("encode".equals(option)) {
  230.                                code = "[+] ASCII : " + funcion.encode_ascii(texto);
  231.                            }
  232.                            if ("decode".equals(option)) {
  233.                                code = "[+] Text : " + funcion.decode_ascii(texto);
  234.                            }
  235.                            responder(code);
  236.                        }
  237.  
  238.                        search = Pattern.compile("!hex (.*) (.*)$");
  239.                        regex = search.matcher(text);
  240.                        if (regex.find()) {
  241.                            String option = regex.group(1);
  242.                            String texto = regex.group(2);
  243.                            String code = "";
  244.                            if ("encode".equals(option)) {
  245.                                code = "[+] Hex : " + funcion.encode_hex(texto);
  246.                            }
  247.                            if ("decode".equals(option)) {
  248.                                code = "[+] Text : " + funcion.decode_hex(texto);
  249.                            }
  250.                            responder(code);
  251.                        }
  252.  
  253.                        search = Pattern.compile("!help");
  254.                        regex = search.matcher(text);
  255.                        if (regex.find()) {
  256.                            String code = "";
  257.                            code = code + "Hi , I am ClapTrap an assistant robot programmed by Doddy Hackman in the year 2015" + "\n";
  258.                            code = code + "[++] Commands" + "\n";
  259.                            code = code + "[+] !help" + "\n";
  260.                            code = code + "[+] !locateip <web>" + "\n";
  261.                            code = code + "[+] !sqlifinder <dork> <count pages> <google/bing>" + "\n";
  262.                            code = code + "[+] !rfifinder <dork> <count pages> <google/bing>" + "\n";
  263.                            code = code + "[+] !panel <page>" + "\n";
  264.                            code = code + "[+] !fuzzdns <domain>" + "\n";
  265.                            code = code + "[+] !sqli <page>" + "\n";
  266.                            code = code + "[+] !lfi <page>" + "\n";
  267.                            code = code + "[+] !crackit <hash>" + "\n";
  268.                            code = code + "[+] !tinyurl <page>" + "\n";
  269.                            code = code + "[+] !httpfinger <page>" + "\n";
  270.                            code = code + "[+] !md5 <text>" + "\n";
  271.                            code = code + "[+] !base64 <encode/decode> <text>" + "\n";
  272.                            code = code + "[+] !ascii <encode/decode> <text>" + "\n";
  273.                            code = code + "[+] !hex <encode/decode> <text>" + "\n";
  274.                            code = code + "[++] Enjoy this IRC Bot" + "\n";
  275.                            responder(code);
  276.                        }
  277.  
  278.                        //
  279.                    }
  280.                }
  281.            }
  282.        } catch (IOException e) {
  283.            System.out.println("\n[-] Error connecting");
  284.        }
  285.  
  286.    }
  287.  
  288. }
  289.  
  290. // The End ?
  291.  

Si quieren bajar el programa lo pueden hacer de aca :

SourceForge.
Github.

Eso seria todo.
5  Programación / Java / [Java] K0bra 1.0 en: 1 Abril 2016, 15:19
Un simple scanner SQLI hecho en Java , tiene las siguientes funciones :

  • Comprobar vulnerabilidad
  • Buscar numero de columnas
  • Buscar automaticamente el numero para mostrar datos
  • Mostras tablas
  • Mostrar columnas
  • Mostrar bases de datos
  • Mostrar tablas de otra DB
  • Mostrar columnas de una tabla de otra DB
  • Mostrar usuarios de mysql.user
  • Buscar archivos usando load_file
  • Mostrar un archivo usando load_file
  • Mostrar valores
  • Mostrar informacion sobre la DB
  • Crear una shell usando outfile
  • Todo se guarda en logs ordenados

Unas imagenes :









Si quieren bajar el proyecto con el codigo fuente lo pueden hacer desde aca.
6  Programación / Java / [Java] PanelFinder 0.3 en: 18 Marzo 2016, 14:22
Traduccion a Java de este programa para buscar el panel de administracion de una pagina.

Una imagen :



Si quieren bajar el proyecto lo pueden hacer desde aca.
7  Programación / Java / [Java] SQLI Scanner 0.4 en: 5 Marzo 2016, 16:15
Un simple programa en Java para buscar paginas vulnerables a SQLI usando Google o Bing.

Una imagen :



Si lo quieren bajar el proyecto con el codigo fuente lo pueden hacer de aca.
8  Programación / Java / [Java] LocateIP 0.2 en: 20 Febrero 2016, 15:51
Un simple programa en Java para localizar una IP y sus DNS.

Una imagen :



Si quieren bajar el proyecto con el codigo y el programa final lo pueden hacer de aca.
9  Programación / Java / [Java] HTTP FingerPrinting 0.2 en: 5 Febrero 2016, 15:11
Un simple programa en Java para realizar HTTP FingerPrinting a una pagina.

Una imagen :



Si lo quieren bajar el proyecto con el codigo fuente lo pueden hacer de aca.
10  Programación / Java / [Java] MD5 Cracker 0.2 en: 22 Enero 2016, 16:18
Un simple programa en Java para crackear un hash MD5 mediante 3 servicios online.

Una imagen :



El codigo :

Código
  1. // MD5 Cracker 0.2
  2. // (C) Doddy Hackman 2015
  3. // Credits : Based in the services ...
  4. // http://md5online.net/index.php
  5. // http://md5.my-addr.com/md5_decrypt-md5_cracker_online/md5_decoder_tool.php
  6. // http://md5decryption.com/index.php
  7. package MD5_Cracker;
  8.  
  9. import java.util.regex.Matcher;
  10. import java.util.regex.Pattern;
  11. import javax.swing.JOptionPane;
  12. import javax.swing.SwingUtilities;
  13. import org.jvnet.substance.SubstanceLookAndFeel;
  14.  
  15. /**
  16.  *
  17.  * @author Doddy
  18.  */
  19. public class Home extends javax.swing.JFrame {
  20.  
  21.    /**
  22.      * Creates new form Home
  23.      */
  24.    public Home() {
  25.        initComponents();
  26.    }
  27.  
  28.    /**
  29.      * This method is called from within the constructor to initialize the form.
  30.      * WARNING: Do NOT modify this code. The content of this method is always
  31.      * regenerated by the Form Editor.
  32.      */
  33.    @SuppressWarnings("unchecked")
  34.    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  35.    private void initComponents() {
  36.  
  37.        jPanel3 = new javax.swing.JPanel();
  38.        jPanel1 = new javax.swing.JPanel();
  39.        txtMD5 = new javax.swing.JTextField();
  40.        btnCrack = new javax.swing.JButton();
  41.        jPanel2 = new javax.swing.JPanel();
  42.        jLabel1 = new javax.swing.JLabel();
  43.        jLabel2 = new javax.swing.JLabel();
  44.        jLabel3 = new javax.swing.JLabel();
  45.        txtPassword1 = new javax.swing.JTextField();
  46.        txtPassword2 = new javax.swing.JTextField();
  47.        txtPassword3 = new javax.swing.JTextField();
  48.        jPanel4 = new javax.swing.JPanel();
  49.        status = new javax.swing.JLabel();
  50.  
  51.        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
  52.        jPanel3.setLayout(jPanel3Layout);
  53.        jPanel3Layout.setHorizontalGroup(
  54.            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  55.            .addGap(0, 100, Short.MAX_VALUE)
  56.        );
  57.        jPanel3Layout.setVerticalGroup(
  58.            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  59.            .addGap(0, 100, Short.MAX_VALUE)
  60.        );
  61.  
  62.        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  63.        setTitle("MD5 Cracker 0.2 (C) Doddy Hackman 2015");
  64.        setResizable(false);
  65.  
  66.        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Enter MD5", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.TOP));
  67.  
  68.        btnCrack.setText("Crack");
  69.        btnCrack.addActionListener(new java.awt.event.ActionListener() {
  70.            public void actionPerformed(java.awt.event.ActionEvent evt) {
  71.                btnCrackActionPerformed(evt);
  72.            }
  73.        });
  74.  
  75.        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  76.        jPanel1.setLayout(jPanel1Layout);
  77.        jPanel1Layout.setHorizontalGroup(
  78.            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  79.            .addGroup(jPanel1Layout.createSequentialGroup()
  80.                .addContainerGap()
  81.                .addComponent(txtMD5, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE)
  82.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  83.                .addComponent(btnCrack, javax.swing.GroupLayout.DEFAULT_SIZE, 75, Short.MAX_VALUE)
  84.                .addContainerGap())
  85.        );
  86.        jPanel1Layout.setVerticalGroup(
  87.            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  88.            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
  89.                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  90.                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  91.                    .addComponent(txtMD5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  92.                    .addComponent(btnCrack))
  93.                .addContainerGap())
  94.        );
  95.  
  96.        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Result", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.TOP));
  97.  
  98.        jLabel1.setText("md5online.net ->");
  99.  
  100.        jLabel2.setText("md5.my-addr.co ->");
  101.  
  102.        jLabel3.setText("md5decryption.com ->");
  103.  
  104.        txtPassword1.setEditable(false);
  105.  
  106.        txtPassword2.setEditable(false);
  107.  
  108.        txtPassword3.setEditable(false);
  109.  
  110.        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
  111.        jPanel2.setLayout(jPanel2Layout);
  112.        jPanel2Layout.setHorizontalGroup(
  113.            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  114.            .addGroup(jPanel2Layout.createSequentialGroup()
  115.                .addGap(28, 28, 28)
  116.                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  117.                    .addGroup(jPanel2Layout.createSequentialGroup()
  118.                        .addComponent(jLabel3)
  119.                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  120.                        .addComponent(txtPassword3))
  121.                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
  122.                        .addComponent(jLabel2)
  123.                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  124.                        .addComponent(txtPassword2))
  125.                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
  126.                        .addComponent(jLabel1)
  127.                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  128.                        .addComponent(txtPassword1, javax.swing.GroupLayout.PREFERRED_SIZE, 229, javax.swing.GroupLayout.PREFERRED_SIZE)))
  129.                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  130.        );
  131.        jPanel2Layout.setVerticalGroup(
  132.            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  133.            .addGroup(jPanel2Layout.createSequentialGroup()
  134.                .addContainerGap()
  135.                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  136.                    .addComponent(jLabel1)
  137.                    .addComponent(txtPassword1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  138.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  139.                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  140.                    .addComponent(jLabel2)
  141.                    .addComponent(txtPassword2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  142.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  143.                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  144.                    .addComponent(jLabel3)
  145.                    .addComponent(txtPassword3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  146.                .addContainerGap(15, Short.MAX_VALUE))
  147.        );
  148.  
  149.        jPanel4.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
  150.  
  151.        status.setText("[+] Program Ready");
  152.  
  153.        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
  154.        jPanel4.setLayout(jPanel4Layout);
  155.        jPanel4Layout.setHorizontalGroup(
  156.            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  157.            .addGroup(jPanel4Layout.createSequentialGroup()
  158.                .addComponent(status)
  159.                .addGap(0, 0, Short.MAX_VALUE))
  160.        );
  161.        jPanel4Layout.setVerticalGroup(
  162.            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  163.            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
  164.                .addGap(0, 0, Short.MAX_VALUE)
  165.                .addComponent(status))
  166.        );
  167.  
  168.        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  169.        getContentPane().setLayout(layout);
  170.        layout.setHorizontalGroup(
  171.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  172.            .addGroup(layout.createSequentialGroup()
  173.                .addContainerGap()
  174.                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  175.                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  176.                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  177.                .addContainerGap())
  178.            .addComponent(jPanel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  179.        );
  180.        layout.setVerticalGroup(
  181.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  182.            .addGroup(layout.createSequentialGroup()
  183.                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  184.                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  185.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  186.                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  187.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  188.                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  189.                .addGap(0, 0, 0))
  190.        );
  191.  
  192.        pack();
  193.    }// </editor-fold>                        
  194.  
  195.    private void btnCrackActionPerformed(java.awt.event.ActionEvent evt) {                                        
  196.  
  197.        DH_Tools tools = new DH_Tools();
  198.  
  199.        if ("".equals(txtMD5.getText())) {
  200.            JOptionPane.showMessageDialog(null, "Write MD5");
  201.        } else {
  202.  
  203.            SwingUtilities.updateComponentTreeUI(this);
  204.            status.setText("[+] Cracking ...");
  205.  
  206.            String md5 = txtMD5.getText();
  207.  
  208.            String code1 = tools.tomar("http://md5online.net/index.php", "pass=" + md5 + "&option=hash2text&send=Submit");
  209.  
  210.            Pattern search = null;
  211.            Matcher regex = null;
  212.  
  213.            search = Pattern.compile("pass : <b>(.*?)<\\/b>");
  214.            regex = search.matcher(code1);
  215.            if (regex.find()) {
  216.                txtPassword1.setText(regex.group(1));
  217.            } else {
  218.                txtPassword1.setText("Not Found");
  219.            }
  220.  
  221.            String code2 = tools.tomar("http://md5.my-addr.com/md5_decrypt-md5_cracker_online/md5_decoder_tool.php", "md5=" + md5);
  222.  
  223.            search = Pattern.compile("<span class='middle_title'>Hashed string<\\/span>: (.*?)<\\/div>");
  224.            regex = search.matcher(code2);
  225.            if (regex.find()) {
  226.                txtPassword2.setText(regex.group(1));
  227.            } else {
  228.                txtPassword2.setText("Not Found");
  229.            }
  230.  
  231.            String code3 = tools.tomar("http://md5decryption.com/index.php", "hash=" + md5 + "&submit=Decrypt It!");
  232.  
  233.            search = Pattern.compile("Decrypted Text: <\\/b>(.*?)<\\/font>");
  234.            regex = search.matcher(code3);
  235.            if (regex.find()) {
  236.                txtPassword3.setText(regex.group(1));
  237.            } else {
  238.                txtPassword3.setText("Not Found");
  239.            }
  240.  
  241.            SwingUtilities.updateComponentTreeUI(this);
  242.            status.setText("[+] Finished");
  243.  
  244.        }
  245.  
  246.  
  247.    }                                        
  248.  
  249.    /**
  250.      * @param args the command line arguments
  251.      */
  252.    public static void main(String args[]) {
  253.        /* Set the Nimbus look and feel */
  254.        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  255.        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  256.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  257.          */
  258.        try {
  259.            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  260.                if ("Nimbus".equals(info.getName())) {
  261.                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
  262.                    break;
  263.                }
  264.            }
  265.        } catch (ClassNotFoundException ex) {
  266.            java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  267.        } catch (InstantiationException ex) {
  268.            java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  269.        } catch (IllegalAccessException ex) {
  270.            java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  271.        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  272.            java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  273.        }
  274.        //</editor-fold>
  275.  
  276.        /* Create and display the form */
  277.        Home.setDefaultLookAndFeelDecorated(true);
  278.        String skin = "org.jvnet.substance.skin.RavenGraphiteGlassSkin";
  279.        SubstanceLookAndFeel.setSkin(skin);
  280.        SubstanceLookAndFeel.setCurrentWatermark("org.jvnet.substance.watermark.SubstanceMetalWallWatermark");
  281.  
  282.        java.awt.EventQueue.invokeLater(new Runnable() {
  283.            public void run() {
  284.                new Home().setVisible(true);
  285.            }
  286.        });
  287.    }
  288.  
  289.    // Variables declaration - do not modify                    
  290.    private javax.swing.JButton btnCrack;
  291.    private javax.swing.JLabel jLabel1;
  292.    private javax.swing.JLabel jLabel2;
  293.    private javax.swing.JLabel jLabel3;
  294.    private javax.swing.JPanel jPanel1;
  295.    private javax.swing.JPanel jPanel2;
  296.    private javax.swing.JPanel jPanel3;
  297.    private javax.swing.JPanel jPanel4;
  298.    private javax.swing.JLabel status;
  299.    private javax.swing.JTextField txtMD5;
  300.    private javax.swing.JTextField txtPassword1;
  301.    private javax.swing.JTextField txtPassword2;
  302.    private javax.swing.JTextField txtPassword3;
  303.    // End of variables declaration                  
  304. }
  305.  
  306. // The End ?
  307.  

Si quieren bajar el programa lo pueden hacer de aca.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 53
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines