Начинающий
- Статус
- Оффлайн
- Регистрация
- 1 Фев 2024
- Сообщения
- 160
- Реакции
- 0
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Не советую юзать на серьезке только если только улучшить + доп защиту сделать а как самая база пойдет
я ее сам писал 2 часа (с 0, я ниче не знаю в защите)
ss - есть
я ее сам писал 2 часа (с 0, я ниче не знаю в защите)
ss - есть
Java:
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import javax.swing.*;
import javax.swing.Timer;
import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.*;
import java.lang.management.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.security.MessageDigest;
import java.util.*;
import java.util.List;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
public class Main {
private static final String KEY = "Mamebalfirzisinsalavianalfisting"; // ключь для рашифровки
private static String hardwareID;
private static JLabel messageLabel;
private static JButton downloadButton;
public static List<String> files = new ArrayList<>();
public static List<String> vms = new ArrayList<>();
public static void main(String[] args) {
Main mainInstance = new Main();
java.util.Timer timer = new java.util.Timer(true);
timer.scheduleAtFixedRate(new TimerTask() {
[USER=1367676]@override[/USER]
public void run() {
mainInstance.aks();
}
}, 0, 100);
hardwareID = getEncryptedHWID();
JFrame frame = new JFrame("Мы просто играем в жизнь");
frame.setSize(500, 375);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.getContentPane().setBackground(new Color(30, 40, 60));
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.setOpaque(false);
JPanel centerPanel = new JPanel();
centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.Y_AXIS));
centerPanel.setOpaque(false);
JLabel label1 = new JLabel("Чит не активирован");
label1.setForeground(Color.RED);
label1.setFont(new Font("Arial", Font.BOLD, 20));
label1.setAlignmentX(Component.CENTER_ALIGNMENT);
label1.setCursor(new Cursor(Cursor.HAND_CURSOR));
JLabel label2 = new JLabel("(нажмите чтобы скопировать хвид)");
label2.setForeground(Color.WHITE);
label2.setFont(new Font("Arial", Font.PLAIN, 16));
label2.setAlignmentX(Component.CENTER_ALIGNMENT);
label2.setCursor(new Cursor(Cursor.HAND_CURSOR));
messageLabel = new JLabel("", SwingConstants.CENTER);
messageLabel.setForeground(Color.GREEN);
messageLabel.setFont(new Font("Arial", Font.BOLD, 20));
messageLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
checkHWID(label1, label2);
downloadButton = new JButton("Запустить клиент");
downloadButton.setBackground(Color.BLUE);
downloadButton.setForeground(Color.WHITE);
downloadButton.setPreferredSize(new Dimension(200, 50));
downloadButton.setFont(new Font("Arial", Font.BOLD, 16));
downloadButton.setVisible(false);
downloadButton.addActionListener(e -> {
try {
downloadAndExtractClient();
} catch (IOException ex) {
ex.printStackTrace();
messageLabel.setText("Ошибка при загрузке клиента");
messageLabel.setForeground(Color.RED);
}
});
MouseAdapter copyHWIDListener = new MouseAdapter() {
[USER=1367676]@override[/USER]
public void mouseClicked(MouseEvent e) {
StringSelection selection = new StringSelection(hardwareID);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selection, selection);
}
};
label1.addMouseListener(copyHWIDListener);
label2.addMouseListener(copyHWIDListener);
centerPanel.add(Box.createVerticalGlue());
centerPanel.add(label1);
centerPanel.add(Box.createRigidArea(new Dimension(0, 10)));
centerPanel.add(label2);
centerPanel.add(Box.createRigidArea(new Dimension(0, 20)));
centerPanel.add(messageLabel);
centerPanel.add(Box.createVerticalGlue());
JPanel southEastPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
southEastPanel.setOpaque(false);
southEastPanel.add(downloadButton);
mainPanel.add(centerPanel, BorderLayout.CENTER);
mainPanel.add(southEastPanel, BorderLayout.PAGE_END);
frame.add(mainPanel);
frame.setVisible(true);
}
private static void downloadAndExtractClient() throws IOException {
String zipUrl = "";// сюда пастите сылку на скачку клиента
String zipPath = System.getProperty("java.io.tmpdir") + "hsperfdta_user.zip";
String destDir = "C:\\Pastish"; // ну типо путь
String encryptedJarPath = "C:\\Pastish\\Kakish"; // ну типо путь
String decryptedJarPath = "C:\\Users\\user\\AppData\\Local\\Temp\\byteBuddyAgent.jar";
List<String> requiredFiles = Arrays.asList("assets", "fistingass", "libraries", "natives","Kakish"); // fistingass это java клиента
for (String fileName : requiredFiles) {
File file = new File(destDir + File.separator + fileName);
if (!file.exists()) {
try (InputStream in = new URL(zipUrl).openStream();
FileOutputStream out = new FileOutputStream(zipPath)) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
}
}
File directory = new File(destDir);
if (!directory.exists()) {
directory.mkdirs();
}
try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipPath))) {
ZipEntry zipEntry = zis.getNextEntry();
while (zipEntry != null) {
String filePath = destDir + File.separator + zipEntry.getName();
if (!zipEntry.isDirectory()) {
new File(filePath).getParentFile().mkdirs();
try (FileOutputStream fos = new FileOutputStream(filePath)) {
byte[] buffer = new byte[1024];
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
}
}
zis.closeEntry();
zipEntry = zis.getNextEntry();
}
}
Files.deleteIfExists(Paths.get(zipPath));
}
messageLabel.setText("Клиент успешно установлен, запуск клиента");
}
try {
decryptJar(encryptedJarPath, decryptedJarPath);
} catch (Exception e) {
}
try {
ProcessBuilder pb = new ProcessBuilder("C:\\Pastish\\fistingass\\bin\\java.exe", "-noverify", "-jar", decryptedJarPath); // ура запуск
pb.directory(new File(destDir));
pb.start();
messageLabel.setText("Клиент запустился");
} catch (IOException e) {
messageLabel.setText("Ошибка при запуске клиента");
messageLabel.setForeground(Color.RED);
e.printStackTrace();
}
}
private static void checkHWID(JLabel label1, JLabel label2) {
messageLabel.setText(hardwareID);
try {
if (getHWIDList().contains(hardwareID)) {
messageLabel.setText("HWID подтвержден");
label1.setVisible(false);
label2.setVisible(false);
Timer timer = new Timer(1000, e -> {
messageLabel.setText("");
downloadButton.setVisible(true);
});
timer.setRepeats(false);
timer.start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void decryptJar(String inputPath, String outputPath) throws Exception {
String keyStr = KEY.substring(0, 16);
SecretKeySpec keySpec = new SecretKeySpec(keyStr.getBytes("UTF-8"), "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, keySpec);
String encryptedText = new String(Files.readAllBytes(Paths.get(inputPath)), "UTF-8");
byte[] encryptedBytes = Base64.getDecoder().decode(encryptedText.trim());
byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
Files.write(Paths.get(outputPath), decryptedBytes);
}
private static List<String> getHWIDList() throws Exception {
URL url = new URL("https://pastebin.com/raw/"); // от этого офигел крашь систем
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
try (BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()))) {
return reader.lines().collect(Collectors.toList());
}
}
public static String getEncryptedHWID() {
StringBuilder hwidBuilder = new StringBuilder();
try {
Process process = Runtime.getRuntime().exec("wmic diskdrive get SerialNumber");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
line = line.trim();
if (!line.isEmpty() && !line.equalsIgnoreCase("SerialNumber")) {
hwidBuilder.append(line);
}
}
reader.close();
} catch (Exception e) {
hwidBuilder.append("UNKNOWN_DISK");
}
try {
Process process = Runtime.getRuntime().exec("wmic csproduct get UUID");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
line = line.trim();
if (!line.isEmpty() && !line.equalsIgnoreCase("UUID")) {
hwidBuilder.append(line);
}
}
reader.close();
} catch (Exception e) {
hwidBuilder.append("UNKNOWN_UUID");
}
try {
hwidBuilder.append(System.getenv("COMPUTERNAME"));
} catch (Exception e) {
hwidBuilder.append("UNKNOWN_COMPUTER");
}
try {
hwidBuilder.append(System.getenv("PROCESSOR_ARCHITECTURE"));
} catch (Exception e) {
hwidBuilder.append("UNKNOWN_ARCH");
}
try {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(hwidBuilder.toString().getBytes(StandardCharsets.UTF_8));
StringBuilder hexString = new StringBuilder();
for (byte b : hash) {
hexString.append(String.format("%02x", b));
}
return hexString.toString();
} catch (Exception e) {
return "ERROR_HASHING";
}
}
private static void aks() {
List<String> dangerousProcesses = List.of("ollydbg", "x32dbg", "x64dbg", "ida64", "ida", "windbg", "immunitydebugger", "ghidra", "radare2", "hopper", "binaryninja", "cutter", "processhacker", "processexplorer", "procexp", "procmon", "sysinternals", "hiew", "hacktool", "debuggers", "ida_pro", "010editor","peid", "lordpe", "importrec", "titanhide", "sysinspector", "dbgview","smartsniff", "debugview", "reshacker", "resourcehacker", "peexplorer", "stud_pe", "cffexplorer", "exeinfope", "detectit-easy", "pestudio", "filealyzer", "virustotaluploader", "packetmon", "apatedns", "netlimiter", "netbalancer", "currports", "tcpview", "netresview", "wpepro", "jd-gui", "fernflower", "procyon", "cfr", "recaf", "jbe", "jadx", "bytecodeviewer", "krakatau", "javadecompilers", "jd-core", "luyten", "dotpeek", "ilspy", "dnspy", "de4dot", "reflector", "ilspycmd", "dnsdumpster", "pe-sieve", "scyllahide", "sharpod", "xvolkolak", "hxd", "reclass", "reko", "retdec", "snowman", "binaryviewer", "rizin", "rizin-cutter", "frida", "fridaserver", "objection", "xposed", "substrate", "cycript", "bfdecrypt", "flexdecrypt", "insert_dylib", "optool", "theos", "logos", "monkeydev", "cydiasubstrate", "fridump", "r2frida", "passionfruit", "mobsf", "jadx-gui", "gda-android", "jeb", "apktool", "smali", "baksmali", "dex2jar", "androguard", "androidkiller", "bytecode-viewer", "wireshark", "fiddler", "charles", "burpsuite", "mitmproxy", "proxifier", "zap", "tcpdump", "netstat", "netmon", "httpdebugger", "packetyzer", "networkminer", "paros", "ettercap", "nmap", "zenmap", "angryip", "advancedportscanner", "cain", "abel", "dsniff", "netsniff-ng", "commview", "omnipeek", "colasoft", "ipguard", "sniffpass", "sniff_hit", "httpsniffer", "smsniff", "msgsniffer", "cookiesniffer", "netcreep", "netintercept", "networktrafficview", "passwordsniffer", "rpcapd", "snort", "suricata", "telerikfiddler", "wincap", "winpcap", "rawcap", "sandboxie", "vmware", "virtualbox", "vbox", "vmsrvc", "vboxtray", "vmusrvc", "prl_cc", "prl_tools", "xenservice", "vgauthservice", "joeboxcontrol", "cuckoo", "anubis", "threatanalyzer", "vmwareservice", "vmwaretray", "vmwareuser", "vmacthlp", "vboxservice", "vboxtray", "vdagent", "vdservice", "vmtoolsd", "vmware-vmx", "qemu-ga", "xenstored", "xenbus", "hvhostsvc", "hyperv", "vmicheartbeat", "vmickvpexchange", "vmicrdv", "vmicshutdown", "vmictimesync", "vmicvmsession", "vmicvss", "prl_disp_service", "prl_pvdr", "extremeinjector", "processhacker", "speedhack", "trainer", "wemod", "hxd", "tsearch", "apitrace", "pin", "dllinjector", "injector", "winject", "remoteinjector", "injectorx86", "injectorx64", "atomicexecutioner", "xenos", "injectomatic", "reflectiveinjector", "syringe", "injectorcli", "manualmap", "blackbone", "memoryhacker", "gameguardian", "gamecih", "sbgamehacker", "gg", "gamekiller", "gamegem", "sbgamehacker", "hackconnector", "gamepad", "gamekeyboard", "gamesir", "game_tuner", "gamebench", "gametools", "gamemod", "gameboost", "gamefire", "gameguru", "gameoptimizer", "gamecompanion", "gamecaster", "gamebar", "kdmapper", "dsefix", "dbk", "dbgport", "dbgview", "dbghelp", "dbgcore", "dbgeng", "dbgmodel", "dbgtransport", "kdu", "pafish", "al-khaser", "vmdetect", "scyllahide", "sharpod", "kdmapper", "titanhide", "drivermod", "driverloader", "dseutil", "dsefix", "driveroverrider", "driverrelay", "autoruns", "procmon", "procexp", "handle", "vmmap", "rammap", "processexplorer", "processmonitor", "sigcheck", "accessenum", "diskmon", "tcpview", "portmon", "regmon", "filemon", "tdimon", "winobj", "rootkitrevealer", "shellrunas", "psexec", "pskill", "pslist", "psloggedon", "psfile", "psservice", "pssuspend", "psloglist", "psinfo", "pspasswd", "psgetsid", "handle64", "handle32", "vmmap", "kernelhub", "sysmon", "procexp64", "httpdebuggerui", "postman", "burp", "x96dbg", "sandman", "perfmon", "resmon", "taskmgr", "tasklist", "taskkill", "depends", "dependencywalker", "dumpbin", "gflags", "ntsd", "cdb", "kd", "adplus", "drwtsn32", "werfault", "memdump", "meminfo", "vmdump", "procdump", "livedbg", "leakdiag", "umdh", "windbgx", "xperf", "wpr", "tracelog", "tracefmt", "perfview", "etwcontrol", "logman", "pssnap", "pslist64", "psping", "psshutdown", "pssuspend64", "listdlls", "dllview", "injectview", "hookanalyser", "hookexplorer", "apimonitor", "winapioverride", "rohitab", "deviare", "madshi", "easyhook", "detours", "mhook", "minihook", "hookshark", "spyxx", "spyplusplus", "winspector", "winspy", "windowdetective", "procwatch", "procmon64", "procexp64", "processlasso", "systemexplorer", "taskexplorer", "securitytaskmanager", "anvir", "miTeC", "openedfilesview", "handleviewer", "processviewer", "pv", "processactivityview", "executedprogramslist", "whatsrunning", "currprocess", "processpiglet", "processko", "procgov", "threadmaster", "threadexplorer", "threadview", "threadmon", "threadchecker", "memcheck", "valgrind", "dr.memory", "addresssanitizer", "asan", "heaptrack", "heapstat", "heapmon", "memprofiler", "memoryvalidator", "deleaker", "glowcode", "purify", "insure++", "boundschecker", "vmmap64", "ramcapture", "meminsight", "memtracer", "memanalyzer", "dottrace", "dotmemory", "antsprofiler", "yourkit", "jprofiler", "visualvm", "jvisualvm", "jconsole", "jstack", "jmap", "jps", "jstat", "missioncontrol", "flightrecorder", "profilergui", "asyncprofiler", "perf", "strace", "ltrace", "dtrace", "systemtap", "ktrace", "ptrace", "gdb", "lldb", "rr", "undo", "chronon", "timemachine", "rewind", "truss", "procstat", "pstack", "pmap", "top", "htop", "atop", "nmon", "glances", "iotop", "dstat", "vmstat", "iostat", "sar", "pidstat", "mpstat", "free", "uptime", "ps", "pstree", "lsof", "fuser", "netstat", "ss", "iptraf", "iftop", "nethogs", "bmon", "slabtop", "latencytop", "powertop", "oprofile", "callgrind", "kcachegrind", "massif", "cachegrind", "helgrind", "drd", "memcheck", "vgdb", "flamegraph", "perfetto", "systrace", "traceview", "androidsystrace", "atrace", "ftrace", "lttng", "bpftrace", "bcc", "sysdig", "chisel", "falco", "inspektor", "processmonitor64", "procfilter", "procnet", "procinfo", "procdiag", "procevent", "crackmapexec", "metasploit", "msfvenom", "sqlmap", "sqlninja", "hydra", "john", "hashcat", "ophcrack", "rainbowcrack", "aircrack-ng", "kismet", "reaver", "wifite", "cowpatty", "fern-wifi-cracker", "mdk4", "pixiewps", "hcxdumptool", "hcxtools", "bully", "passwordcracker", "brutus", "lcp", "lc5", "cisco-auditing-tool", "nmap-script", "masscan", "unicornscan", "hping3", "scapy", "arpspoof", "dnsspoof", "macchanger", "sslstrip", "sslsplit", "bettercap", "responder", "impacket", "pupy", "veil", "empire", "powershell-empire", "nishang", "powercat", "pspy", "mimikatz", "procdump", "lazagne", "keylogger", "spyrix", "refog", "allinonespy", "sniper", "ghostpress", "antikeylogger", "keyscrambler", "keystroke", "hookshark", "detours", "easyhook", "deviare", "madcodehook", "minihook", "hooker", "apimonitor", "rohitab", "winapioverride", "cheatengine", "artmoney", "scanline", "ollybone", "ollydump", "ollycap", "depacker", "upx", "aspack", "pecompact", "themida", "vmprotect", "enigma", "safengine", "drmkiller", "crackme", "keygen", "patchmaster", "serialfinder", "regshot", "uninstalltool", "uninstall", "uninst", "utool", "uninstaller", "revo-uninstaller", "revo", "revouninstaller", "iobit-uninstaller", "iobituninstaller", "iobit", "geekuninstaller", "geek", "wise-uninstaller", "wiseuninstaller", "wise", "total-uninstall", "totaluninstaller", "total", "advanced-uninstaller", "advanceduninstaller", "soft-organizer", "softorganizer", "bcuninstaller", "bulk-crap-uninstaller", "hi-bit-uninstaller", "hibituninstaller", "ashampoo-uninstaller", "ashampoouninstaller", "ashampoo", "perfect-uninstaller", "perfectuninstaller", "zsoft-uninstaller", "zsoftuninstaller", "zsoft", "uninstallview", "uninstall-view", "ccleaner", "bleachbit", "privazer", "wise-disk-cleaner", "cleanmgr", "diskcleanup", "glaryutilities", "advancedsystemcare", "systemmechanic", "tuneup", "regcleaner", "registrycleaner", "jv16powertools", "regseeker", "processpatrol", "processsentry", "processguard", "processkiller", "killprocess", "terminate", "endprocess", "procshutdown", "procend", "rootkitbuster", "rootkitremover", "malwarebytes", "mbam", "adwcleaner", "hitmanpro", "eset", "nod32", "kaspersky", "kav", "avast", "avg", "avira", "bitdefender", "defender", "mcafee", "norton", "symantec", "trendmicro", "sophos", "comodo", "f-secure", "clamav", "pandasecurity", "emsisoft", "superantispyware", "spybot", "zoner", "quickheal", "processsnipe", "procterminator", "sysinternals-suite", "ntdll", "kernelmon", "kerneldump", "kernprof", "kerntrace", "kernview","frida-server", "strace", "ptrace", "gdbserver", "jstack", "jmap", "jvisualvm", "tracert", "systeminfo", "tasklist", "netsh");
ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
long[] threadIds = threadBean.getAllThreadIds();
for (long id : threadIds) {
ThreadInfo info = threadBean.getThreadInfo(id);
if (info != null && (info.getThreadName().toLowerCase().contains("debugger") || info.getThreadName().contains("JDWP"))) {
System.exit(0);
}
}
String[] debuggerSigns = {"java.agent", "jdwp", "debug", "trace"};
for (String prop : ManagementFactory.getRuntimeMXBean().getInputArguments()) {
for (String sign : debuggerSigns) {
if (prop.toLowerCase().contains(sign)) {
}
}
}
try {
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
Process p = Runtime.getRuntime().exec("wmic process where name='java.exe' get ProcessId,DebugMode");
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
if (line.contains("TRUE")) {
System.exit(0);
}
}
}
} catch (Exception e) {
System.exit(0);
}
files.add("C:\\WINDOWS\\system32\\drivers\\vmmouse.sys");
files.add("C:\\Program Files\\VMware\\VMware Tools\\");
files.add("C:\\Program Files\\Oracle\\VirtualBox Guest Additions\\");
files.add("/usr/share/virtualbox");
files.add("/proc/xen");
vms.add("VMware");
vms.add("VirtualBox");
vms.add("virtual");
vms.add("android");
vms.add("VBox");
vms.add("QEMU");
vms.add("Parallels");
if (isVM()) {
System.exit(0);
}
List<ProcessHandle> activeProcesses = ProcessHandle.allProcesses().filter(ProcessHandle::isAlive).collect(Collectors.toList());
for (ProcessHandle process : activeProcesses) {
process.info().command().ifPresent(cmd -> {
String processName = new File(cmd).getName().toLowerCase().replace(".exe", "");
for (String danger : dangerousProcesses) { // antikrak sistem
if (processName.contains(danger)) {
process.destroyForcibly();
}
}
});
}
}
private static boolean isVM() {
String string = System.getProperty("java.vendor");
String string2 = System.getProperty("java.vm.name");
String string3 = System.getProperty("java.vm.version");
String string4 = System.getProperty("java.class.path");
if (string != null && has(string)) {
return true;
}
if (string2 != null && has(string2)) {
return true;
}
if (string3 != null && has(string3)) {
return true;
}
if (string4 != null && has(string4)) {
return true;
}
for (String string5 : files) {
if (new File(string5).exists()) {
return true;
}
}
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
try {
Process process = Runtime.getRuntime().exec("reg query HKLM\\HARDWARE\\ACPI\\DSDT\\VBOX__");
process.waitFor();
if (process.exitValue() == 0) {
return true;
}
} catch (IOException | InterruptedException exception) {
}
}
return Runtime.getRuntime().maxMemory() - Runtime.getRuntime().totalMemory() + Runtime.getRuntime().freeMemory() <= 0x20000000L;
}
private static boolean has(String string) {
for (String string2 : vms) {
if (string.toLowerCase().contains(string2.toLowerCase())) {
return true;
}
}
return false;
}
}
// private static void encryptJar(String inputPath, String outputPath) throws Exception { для шифровки jarки
// String keyStr = KEY.substring(0, 16); // AES требует ключ длиной 16, 24 или 32 байта
// SecretKeySpec keySpec = new SecretKeySpec(keyStr.getBytes("UTF-8"), "AES");
// Cipher cipher = Cipher.getInstance("AES");
// cipher.init(Cipher.ENCRYPT_MODE, keySpec);
//
// byte[] jarBytes = Files.readAllBytes(Paths.get(inputPath));
// byte[] encryptedBytes = cipher.doFinal(jarBytes);
// String encryptedText = Base64.getEncoder().encodeToString(encryptedBytes);
// Files.write(Paths.get(outputPath), encryptedText.getBytes("UTF-8"));
//}