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 seguridad informática en el Twitter! de elhacker.NET


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


Desconectado Desconectado

Mensajes: 545



Ver Perfil
[Java] MD5 Cracker 0.2
« en: 22 Enero 2016, 16:18 pm »

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.


En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: [Java] MD5 Cracker 0.2
« Respuesta #1 en: 22 Enero 2016, 16:29 pm »

Hola, gracias por el aporte.  ;-)


Saludos.


En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
FTP CRACKER
Programación Visual Basic
79137913 2 3,554 Último mensaje 4 Agosto 2010, 21:15 pm
por 79137913
[Java] MD5 Cracker 1.0
Java
BigBear 8 3,458 Último mensaje 24 Marzo 2014, 17:19 pm
por Nasty35
[C#] MD5 Cracker 0.3
.NET (C#, VB.NET, ASP)
BigBear 0 2,158 Último mensaje 11 Julio 2014, 18:38 pm
por BigBear
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines