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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)  (Leído 6,763 veces)
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
[SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
« en: 5 Enero 2010, 13:19 pm »

Hola a todos, os traigo una plantilla de una mini-botnet, para que podais crear una red de pc bot, para hacer multiples cosas, desde enviar todos juntos un archivo, a atender un chat irc, en resumen para hacer alguna cosa de manera masiba, o entre varios pc:

Os pongo el codigo (que tiene un fallo importante):

Servidor.java
Código
  1. /*
  2.  * Servidor.java
  3.  *
  4.  * Created on 30-dic-2009, 11:21:52
  5.  */
  6.  
  7. package main;
  8.  
  9. /**
  10.  *
  11.  * @author debci
  12.  */
  13. import java.util.logging.Level;
  14. import java.util.logging.Logger;
  15. import threads.*;
  16.  
  17. public class Servidor extends javax.swing.JFrame {
  18.  
  19.    //Instanciamos el thread que gestiona las conexiones con los bots
  20.    private static ThreadEjecución thread = new ThreadEjecución();
  21.    public static Integer cuantosBots = 0;
  22.  
  23.  
  24.  
  25.  
  26.    /** Creates new form Servidor */
  27.    public Servidor() {
  28.        initComponents();
  29.    }
  30.  
  31.    /** This method is called from within the constructor to
  32.      * initialize the form.
  33.      * WARNING: Do NOT modify this code. The content of this method is
  34.      * always regenerated by the Form Editor.
  35.      */
  36.    @SuppressWarnings("unchecked")
  37.    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  38.    private void initComponents() {
  39.  
  40.        PopMenu = new javax.swing.JPopupMenu();
  41.        itemSalir = new javax.swing.JMenuItem();
  42.        jLabel1 = new javax.swing.JLabel();
  43.        numBots = new javax.swing.JLabel();
  44.        jLabel2 = new javax.swing.JLabel();
  45.        slider = new javax.swing.JSlider();
  46.        botsSel = new javax.swing.JLabel();
  47.        jLabel4 = new javax.swing.JLabel();
  48.        btnEnviar = new javax.swing.JButton();
  49.        envComando = new javax.swing.JTextField();
  50.  
  51.        itemSalir.setText("Salir");
  52.        itemSalir.setComponentPopupMenu(PopMenu);
  53.        itemSalir.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
  54.        itemSalir.addActionListener(new java.awt.event.ActionListener() {
  55.            public void actionPerformed(java.awt.event.ActionEvent evt) {
  56.                itemSalirActionPerformed(evt);
  57.            }
  58.        });
  59.        PopMenu.add(itemSalir);
  60.  
  61.        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  62.  
  63.        jLabel1.setText("Tienes");
  64.  
  65.        numBots.setText("numBots");
  66.  
  67.        jLabel2.setText("bots a tu disposicion.");
  68.  
  69.        slider.setMaximum(0);
  70.        slider.setPaintLabels(true);
  71.        slider.setPaintTicks(true);
  72.        slider.setToolTipText("Sleciona cuantos bots quieres realizar para la siguiente ación.");
  73.        slider.setComponentPopupMenu(PopMenu);
  74.        slider.addChangeListener(new javax.swing.event.ChangeListener() {
  75.            public void stateChanged(javax.swing.event.ChangeEvent evt) {
  76.                sliderStateChanged(evt);
  77.            }
  78.        });
  79.  
  80.        botsSel.setText("0");
  81.  
  82.        jLabel4.setText("bots selecionados.");
  83.  
  84.        btnEnviar.setText("Enviar");
  85.  
  86.        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  87.        getContentPane().setLayout(layout);
  88.        layout.setHorizontalGroup(
  89.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  90.            .addGroup(layout.createSequentialGroup()
  91.                .addContainerGap()
  92.                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  93.                    .addGroup(layout.createSequentialGroup()
  94.                        .addComponent(jLabel1)
  95.                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  96.                        .addComponent(numBots)
  97.                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  98.                        .addComponent(jLabel2))
  99.                    .addGroup(layout.createSequentialGroup()
  100.                        .addComponent(slider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  101.                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  102.                        .addComponent(botsSel, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
  103.                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  104.                        .addComponent(jLabel4)))
  105.                .addContainerGap(65, Short.MAX_VALUE))
  106.            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  107.                .addContainerGap(128, Short.MAX_VALUE)
  108.                .addComponent(envComando, javax.swing.GroupLayout.PREFERRED_SIZE, 242, javax.swing.GroupLayout.PREFERRED_SIZE)
  109.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  110.                .addComponent(btnEnviar)
  111.                .addContainerGap())
  112.        );
  113.        layout.setVerticalGroup(
  114.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  115.            .addGroup(layout.createSequentialGroup()
  116.                .addGap(52, 52, 52)
  117.                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  118.                    .addComponent(jLabel1)
  119.                    .addComponent(numBots)
  120.                    .addComponent(jLabel2))
  121.                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  122.                    .addGroup(layout.createSequentialGroup()
  123.                        .addGap(18, 18, 18)
  124.                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  125.                            .addComponent(jLabel4)
  126.                            .addComponent(botsSel)))
  127.                    .addGroup(layout.createSequentialGroup()
  128.                        .addGap(27, 27, 27)
  129.                        .addComponent(slider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
  130.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 62, Short.MAX_VALUE)
  131.                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  132.                    .addComponent(btnEnviar)
  133.                    .addComponent(envComando, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  134.                .addGap(63, 63, 63))
  135.        );
  136.  
  137.        slider.getAccessibleContext().setAccessibleDescription("Seleciona cuantos bots quieres realizar para la siguiente ación");
  138.  
  139.        pack();
  140.    }// </editor-fold>                        
  141.  
  142.    private void sliderStateChanged(javax.swing.event.ChangeEvent evt) {                                    
  143.        Integer valorSlider = slider.getValue();
  144.        botsSel.setText(valorSlider.toString());
  145.    }                                  
  146.  
  147.    private void itemSalirActionPerformed(java.awt.event.ActionEvent evt) {                                          
  148.        System.exit(0);
  149.    }                                        
  150.  
  151.    /**
  152.     * @param args the command line arguments
  153.     */
  154.    public static void main(String args[]) {
  155.        java.awt.EventQueue.invokeLater(new Runnable() {
  156.            @SuppressWarnings("static-access")
  157.            public void run() {
  158.                new Servidor().setVisible(true);
  159.                thread.start();
  160.  
  161.  
  162.  
  163.  
  164.  
  165.            }
  166.        });
  167.    }
  168.  
  169.    // Variables declaration - do not modify                    
  170.    private javax.swing.JPopupMenu PopMenu;
  171.    public static javax.swing.JLabel botsSel;
  172.    private javax.swing.JButton btnEnviar;
  173.    private javax.swing.JTextField envComando;
  174.    private javax.swing.JMenuItem itemSalir;
  175.    private javax.swing.JLabel jLabel1;
  176.    private javax.swing.JLabel jLabel2;
  177.    private javax.swing.JLabel jLabel4;
  178.    public static javax.swing.JLabel numBots;
  179.    public static javax.swing.JSlider slider;
  180.    // End of variables declaration                  
  181.  
  182. }
  183.  
  184.  

ControlBots.java [THREAD]
Código
  1. package threads;
  2.  
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.IOException;
  6. import java.net.Socket;
  7. import java.util.logging.Level;
  8. import java.util.logging.Logger;
  9. import main.Servidor;
  10.  
  11.  
  12. /**
  13.  *
  14.  * @author debci
  15.  */
  16. public class ControlBots extends Thread {
  17.  
  18.    //Para leer datos en el socket
  19.    private DataInputStream dataInput;
  20.    //Para escribir datos en el socket
  21.    private DataOutputStream dataOutput;
  22.    //Cadena que envia el thread principal a cada bot
  23.    private String signal;
  24.    //Cadena de texto que el bot envia para informar
  25.    private String recivido;
  26.    //Identificador que se le asigna a cada bot
  27.    private Integer id;
  28.  
  29.    //Contador de la lista negra
  30.    public static Integer contador = 0;
  31.  
  32.    public ControlBots(Socket nuevoZombie, String envio, Integer identificador)
  33.    {
  34.        try {
  35.            dataInput = new DataInputStream(nuevoZombie.getInputStream());
  36.            dataOutput = new DataOutputStream(nuevoZombie.getOutputStream());
  37.            signal = envio;
  38.            id = identificador;
  39.  
  40.        } catch (IOException ex) {
  41.            Logger.getLogger(ControlBots.class.getName()).log(Level.SEVERE, null, ex);
  42.        }
  43.  
  44.  
  45.  
  46.    }
  47.  
  48.    public void run()
  49.    {
  50.        try {
  51.            dataOutput.writeInt(id);
  52.            dataOutput.writeUTF(signal);
  53.  
  54.  
  55.  
  56.            while (true)
  57.            {
  58.                recivido = dataInput.readUTF();
  59.  
  60.                if(recivido.equals("error"))
  61.                {
  62.                   System.out.println("Se ha producido un error.\n");
  63.                }else if(recivido.equals("todo bien"))
  64.                {
  65.                 System.out.println("Todo transcurre como deberia.\n");
  66.                }else
  67.                {
  68.                 System.out.println(recivido);
  69.                }
  70.  
  71.  
  72.  
  73.            }
  74.        } catch (IOException ex) {
  75.            System.out.println("ADIOS!");
  76.  
  77.            ThreadEjecución.listaNegra.put(contador, id);
  78.  
  79.            ThreadEjecución.RenovarDatos();
  80.            contador++;
  81.  
  82.  
  83.  
  84.        }
  85.  
  86.  
  87.  
  88.    }
  89.    public void EnviarComando(String comando)
  90.    {
  91.        try {
  92.  
  93.            dataOutput.writeUTF(comando);
  94.  
  95.        } catch (IOException ex) {
  96.            Logger.getLogger(ControlBots.class.getName()).log(Level.SEVERE, null, ex);
  97.        }
  98.    }
  99.  
  100. }
  101.  
ThreadEjecución.java [THREAD]
Código
  1. package threads;
  2.  
  3. import java.io.IOException;
  4. import java.net.ServerSocket;
  5. import java.net.Socket;
  6. import java.util.Hashtable;
  7. import java.util.logging.Level;
  8. import java.util.logging.Logger;
  9. import main.Servidor;
  10. import threads.ControlBots;
  11. /**
  12.  *
  13.  * @author debci
  14.  */
  15. public class ThreadEjecución extends Thread {
  16.    public static ServerSocket socketServidor;
  17.    public static Integer idZombie = 0;
  18.  
  19.  
  20.    public static boolean pasoTransitorio = true;
  21.    //Vector donde vamos almacenando todos los bots zombies que se van conectando
  22.    public static Hashtable<Integer, Socket> vectorZombies;
  23.  
  24.    //Vector donde vamos guardando en que indices quedan vacios
  25.    public static Hashtable<Integer, Integer> listaNegra;
  26.  
  27.    //Thread de control
  28.    public ControlBots nuevoZombie;
  29.  
  30.    //Dato donde guardamos cual hay libre
  31.    public static Integer contador = 0;
  32.  
  33.    //Comprueba que ya se haya eliminado algun bot para poner en practica la
  34.    //rutina de comprobacion.
  35.    public static boolean borrado = false;
  36.  
  37.  
  38.    public static Integer disponible = 0;
  39.  
  40.  
  41.  
  42.    public ThreadEjecución()
  43.    {
  44.        //Declaración de variables de instancia para usar durante el proceso
  45.        //Try para capturar exepciones y tratar posibles errores
  46.        try {
  47.            vectorZombies = new Hashtable();
  48.            listaNegra = new Hashtable();
  49.            socketServidor = new ServerSocket(6666);
  50.  
  51.  
  52.        } catch (IOException ex) {
  53.            Logger.getLogger(ThreadEjecución.class.getName()).log(Level.SEVERE, null, ex);
  54.        }
  55.  
  56.    }
  57.  
  58.    public void run()
  59.    {
  60.  
  61.         while (true)
  62.            {
  63.            try {
  64.  
  65.                System.out.println("Esperando conexiones...");
  66.  
  67.                Socket zombie = socketServidor.accept();
  68.                idZombie++;
  69.  
  70.  
  71.                if(listaNegra.isEmpty())
  72.                {
  73.                System.out.println("Nuevo bot añadido a la BotNet: " + idZombie + "\n");
  74.                vectorZombies.put(idZombie, zombie);
  75.                nuevoZombie = new ControlBots(zombie, "Bienvenid@ a la red de Bots!", idZombie);
  76.                }else{
  77.                    for(int i = 0; i < listaNegra.size(); i++)
  78.                    {
  79.                        if(listaNegra.containsKey(i))
  80.                        {
  81.                            disponible = i;
  82.                            break;
  83.                        }
  84.                    }
  85.                for(int i = 0; i< listaNegra.size(); i++)
  86.                {
  87.                    System.out.println("Hay disponible la clave: " + listaNegra.get(i) + ".\n");
  88.                }
  89.                System.out.println("Nuevo zombie añadido a la BotNet: " + listaNegra.get(disponible) + "\n");
  90.                vectorZombies.put(listaNegra.get(disponible), zombie);
  91.                nuevoZombie = new ControlBots(zombie, "Bienvenid@ a la red zombie!",listaNegra.get(disponible));
  92.                System.out.println("La clave " + listaNegra.get(disponible) + " ya no esta disponible.\n");
  93.                listaNegra.remove(disponible);
  94.  
  95.                ControlBots.contador--;
  96.  
  97.                }
  98.  
  99.  
  100.  
  101.  
  102.                nuevoZombie.start();
  103.                Servidor.slider.setMaximum(idZombie);
  104.                Servidor.numBots.setText(idZombie.toString());
  105.                borrado = false;
  106.  
  107.  
  108.            } catch (IOException ex) {
  109.                Logger.getLogger(ThreadEjecución.class.getName()).log(Level.SEVERE, null, ex);
  110.            }
  111.  
  112.  
  113.            }
  114.    }
  115. public static void RenovarDatos()
  116. {
  117.    idZombie--;
  118.  
  119.  
  120.            Servidor.slider.setValue(idZombie);
  121.            Servidor.slider.setMaximum(idZombie);
  122.            Servidor.numBots.setText(idZombie.toString());
  123.  
  124. }
  125.  
  126. public void rutinaComprovacion()
  127. {
  128.  
  129. }
  130.  
  131. public void enviarComando(int cuantos, String comando)
  132. {
  133.  
  134.  
  135.  
  136. }
  137. }
  138.  

Un ejemplo de cliente


Vamos a hacer un cliente de echo:

Código
  1. package main;
  2.  
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.IOException;
  6. import java.net.Socket;
  7. import java.net.UnknownHostException;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10.  
  11. /**
  12.  *
  13.  * @author debci
  14.  */
  15. public class Cliente {
  16. public static Socket socketCliente;
  17. public static DataInputStream dis;
  18. public static DataOutputStream dos;
  19. public static String cadenaEnviar;
  20. public static int identificador;
  21.    public static void main(String args[])
  22.    {
  23.        try {
  24.  
  25.            socketCliente = new Socket("localhost", 6666);
  26.            dis = new DataInputStream(socketCliente.getInputStream());
  27.            dos = new DataOutputStream(socketCliente.getOutputStream());
  28.            ThreadBot hilo = new ThreadBot();
  29.            hilo.start();
  30.  
  31.        } catch (UnknownHostException ex) {
  32.            Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);
  33.        } catch (IOException ex) {
  34.            Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);
  35.        }
  36.    }
  37.  
  38.    static class ThreadBot extends Thread {
  39.  
  40.  
  41.    public void run()
  42.    {
  43.            try {
  44.                identificador = dis.readInt();
  45.                System.out.println("Soy el bot numero " + identificador + ".\n");
  46.                while (true) {
  47.                    try {
  48.                        String recivido = dis.readUTF();
  49.                        System.out.println(recivido);
  50.                        dos.writeUTF(recivido);
  51.                    } catch (IOException ex) {
  52.                        Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);
  53.                    }
  54.                }
  55.            } catch (IOException ex) {
  56.                Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);
  57.            }
  58.    }
  59.  
  60. }
  61. }
Podemos usar esta plantilla para hacer todo tipo de cosas, ojo ninguna que esta fuera del limite de lo legal, lo prohibo explicitamente, y no me haré responsable de los posibles daños que pueda acarrear.

El uso es simple solo hace falta saber algo de java, programasmo unc liente y el servidor le envia datos (strings, integers, booleans...) y el cliente responde, todo esto ademas se hace masificado.

No es funcional por si solo, haria falta añadrile parte de codigo.

Ahora el problema que tengo:

Cuando un nuevo bot se añade, se le asigna un id, y cuando se elimina se añade esa id a una lista donde luego cuando otro entre se le asignara para tener todos los id ocupados, de esta manera cuando uno s eva al siguiente se le asigan el id del que se ha ido.

Pero el problema reside, en que cuando se desconectan dos simultaneos, luego no funciona como deberia, al siguiente le asigan bien el id pero al otro ya no.

Estoy desesperador lelvo como 3 semanas con esto y no salgo de este problema, seguro que es una tonteria, pero no soy capaz de ver donde etsa fallando.


Espero que os guste.


Saludos a tod@s


En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
« Respuesta #1 en: 5 Enero 2010, 23:57 pm »

genial aunke la gui esta muy simple para estar hecha en netbans :-\ tambien podrias aplicarle el Look and fell del sisema

Código
  1. try{
  2.     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch (Exception e) {
  3. };


En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
« Respuesta #2 en: 6 Enero 2010, 16:49 pm »

genial aunke la gui esta muy simple para estar hecha en netbans :-\ tambien podrias aplicarle el Look and fell del sisema

Código
  1. try{
  2.     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch (Exception e) {
  3. };
es algo sencillo no esta acbado, solo queria daros el fruto de mi aprendizaje, gracias a vosotros ;)

Saludos
En línea

Blitzkrieg'


Desconectado Desconectado

Mensajes: 546


print('Hi there')


Ver Perfil WWW
Re: [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
« Respuesta #3 en: 7 Enero 2010, 13:41 pm »

genial aunke la gui esta muy simple para estar hecha en netbans :-\ tambien podrias aplicarle el Look and fell del sisema

Código
  1. try{
  2.     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch (Exception e) {
  3. };

Alguien odia mucho a Netbeans  :silbar:
En línea



Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
« Respuesta #4 en: 7 Enero 2010, 15:04 pm »

Bueno es que ago mejores interfazes en eclipse sin mucho trabajo  por eso no lo uso :P

Saludos.
En línea

Blitzkrieg'


Desconectado Desconectado

Mensajes: 546


print('Hi there')


Ver Perfil WWW
Re: [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
« Respuesta #5 en: 7 Enero 2010, 15:18 pm »

Yo uso Netbeans pero hago las GUIs por codigo como tu  :laugh:

Muy buen aporte debci  ;D
« Última modificación: 7 Enero 2010, 16:27 pm por ddk » En línea



Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
« Respuesta #6 en: 7 Enero 2010, 15:22 pm »

Yo uso Netbeans pero hago las GUIs por codigo como tu  :laugh:

Muy buen aporte nombre que no quiero que se sepa  ;D
Debci....
Modificalo por favor.

Es por seguridad.
« Última modificación: 9 Enero 2010, 22:34 pm por ..::| D3Bć1 |::. » En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
« Respuesta #7 en: 11 Enero 2010, 01:37 am »

Se me ocurrio una idea loca: viendo tantos intentos de hacer programas de este tipo analizare la forma de crear un API para facilitar la creación de estos. Esperenlo muahahajjaa y un tutorial mucho mejor del que hice antes.
En línea

Blitzkrieg'


Desconectado Desconectado

Mensajes: 546


print('Hi there')


Ver Perfil WWW
Re: [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
« Respuesta #8 en: 11 Enero 2010, 02:35 am »

Se me ocurrio una idea loca: viendo tantos intentos de hacer programas de este tipo analizare la forma de crear un API para facilitar la creación de estos. Esperenlo muahahajjaa y un tutorial mucho mejor del que hice antes.

Menudo trabajazo  :xD
En línea



egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: [SOURCE]Mini-BotNet en java (Falta arreglar una cosa)
« Respuesta #9 en: 11 Enero 2010, 03:47 am »

Se me ocurrio una idea loca: viendo tantos intentos de hacer programas de este tipo analizare la forma de crear un API para facilitar la creación de estos. Esperenlo muahahajjaa y un tutorial mucho mejor del que hice antes.

Menudo trabajazo  :xD
Estudio ingeneria algun dia tendre que hacer algo parecido, que me sirva de experiencia lo hire publicando aqui y en mi blog que esta vacio de hace tiempo(mi blog no tiene NADA :laugh:)
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Zeus botnet source
Análisis y Diseño de Malware
Ca0s 5 6,440 Último mensaje 19 Junio 2011, 10:42 am
por bitmann
Google te paga por arreglar bugs en apps Open Source
Foro Libre
MCKSys Argentina 0 1,265 Último mensaje 23 Marzo 2018, 18:09 pm
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines