• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Вопрос Что за обфа такая?

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
18 Июн 2022
Сообщения
323
Реакции
14
Смотрите есть Клиентик и спомощю ФернФловера я декомпилировал его и для примера взял класс Спринта вот код


Java:
Expand Collapse Copy
public class Sprint extends Module
{
    public Sprint() {
        super("Sprint", 0, Category.DEFAULT);
    }
    
    @Override
    public native void onUpdate();
    
    @Override
    public native void onDisable();
    
    static {
        final boolean contains = System.getProperty("os.arch").contains("64");
        final String lowerCase = System.getProperty("os.name").toLowerCase();
        String name = null;
        if (lowerCase.contains("win") && !contains) {
            name = "/dev/jnic/lib/4d7eaf3b-2510-4425-9377-2d57b02798e5.dat";
        }
        if (lowerCase.contains("win") && contains) {
            name = "/dev/jnic/lib/709b8b1a-e602-4019-963b-c7148d7b14bf.dat";
        }
        if (name == null) {
            throw new RuntimeException("Failed to load");
        }
        File tempFile;
        try {
            tempFile = File.createTempFile("lib", null);
            tempFile.deleteOnExit();
            if (!tempFile.exists()) {
                throw new IOException();
            }
        }
        catch (IOException ex2) {
            throw new UnsatisfiedLinkError("Failed to create temp file");
        }
        final byte[] array = new byte[2048];
        try (final InputStream resourceAsStream = Sprint.class.getResourceAsStream(name);
             final FileOutputStream fileOutputStream = new FileOutputStream(tempFile)) {
            int read;
            while ((read = resourceAsStream.read(array)) != -1) {
                fileOutputStream.write(array, 0, read);
            }
        }
        catch (IOException ex) {
            throw new UnsatisfiedLinkError("Failed to copy file: " + ex.getMessage());
        }
        System.load(tempFile.getAbsolutePath());
    }
И такая штука на всех функция причем одинаковая и не зависит от декомпилятора

как я понял код пытается прочитать файл ресурсов в массив байтов и записать его во временный файл, используя поток ввода и поток вывода файла, а потом
файл загружается с помощью метода System.load(),получается что код звгружает библиотеку которая предоставляет собственный код для модуля.

но я такого нигде не видал, чем такое деобфусцировать?

я новичек так что не бейте если чтото не то написал :FeelsBadMan:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Смотрите есть Клиентик и спомощю ФернФловера я декомпилировал его и для примера взял класс Спринта вот код


Java:
Expand Collapse Copy
public class Sprint extends Module
{
    public Sprint() {
        super("Sprint", 0, Category.DEFAULT);
    }
   
    @Override
    public native void onUpdate();
   
    @Override
    public native void onDisable();
   
    static {
        final boolean contains = System.getProperty("os.arch").contains("64");
        final String lowerCase = System.getProperty("os.name").toLowerCase();
        String name = null;
        if (lowerCase.contains("win") && !contains) {
            name = "/dev/jnic/lib/4d7eaf3b-2510-4425-9377-2d57b02798e5.dat";
        }
        if (lowerCase.contains("win") && contains) {
            name = "/dev/jnic/lib/709b8b1a-e602-4019-963b-c7148d7b14bf.dat";
        }
        if (name == null) {
            throw new RuntimeException("Failed to load");
        }
        File tempFile;
        try {
            tempFile = File.createTempFile("lib", null);
            tempFile.deleteOnExit();
            if (!tempFile.exists()) {
                throw new IOException();
            }
        }
        catch (IOException ex2) {
            throw new UnsatisfiedLinkError("Failed to create temp file");
        }
        final byte[] array = new byte[2048];
        try (final InputStream resourceAsStream = Sprint.class.getResourceAsStream(name);
             final FileOutputStream fileOutputStream = new FileOutputStream(tempFile)) {
            int read;
            while ((read = resourceAsStream.read(array)) != -1) {
                fileOutputStream.write(array, 0, read);
            }
        }
        catch (IOException ex) {
            throw new UnsatisfiedLinkError("Failed to copy file: " + ex.getMessage());
        }
        System.load(tempFile.getAbsolutePath());
    }
И такая штука на всех функция причем одинаковая и не зависит от декомпилятора

как я понял код пытается прочитать файл ресурсов в массив байтов и записать его во временный файл, используя поток ввода и поток вывода файла, а потом
файл загружается с помощью метода System.load(),получается что код звгружает библиотеку которая предоставляет собственный код для модуля.

но я такого нигде не видал, чем такое деобфусцировать?

я новичек так что не бейте если чтото не то написал :FeelsBadMan:
jnic:LUL::LUL:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
спасибо : ), но я так понял робочий код с єтого не востановить?
ну если у тебя есть мозг ты можешь открыть иду
если бинарь там чем то покрыт то ты можешь сообственно не пытаться
 
И такая штука на всех функция причем одинаковая и не зависит от декомпилятора
действительно, ведь загуглить модификатор доступа native стало для тебя огромной проблемой и решать ты ее стал сменой декомпилятора :coolface:
Пожалуйста, авторизуйтесь для просмотра ссылки.

ну а вообще смирись, снять нативобфускатор вне компетенции человека который не умеет пользоваться гуглом :coolface:
 
Назад
Сверху Снизу