Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Гайд [Сурс] rust-native-obf — нативная обфускация для Rust

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
295
Реакции
7
Народ, решил выкатить простую либу для обфускации на Rust. Никакого маркетинга, только суровая практика, которая реально помогает усложнить жизнь реверсерам, когда вы пишите софт под Rust.

Что это такое
rust-native-obf — легковесная библиотека для скрытия строк, интов, управления потоком и вызовов функций. Спасает от автоматизированных инструментов, которые на изи дампят ваши данные.

Функционал:
  1. Скрытие строк: XOR-шифрование в рантайме.
  2. Мультислойное шифрование: вложенные ключи для данных.
  3. Compile-time хеширование: FNV1a на этапе компиляции.
  4. Control Flow: инъекция джанк-кода для запутывания логики.
  5. Opaque predicates: условия, которые всегда тру, чтобы сбить анализаторы.
  6. Value encoding: маскировка целочисленных констант.
  7. Stack strings: хранение строк на стеке, а не в куче.
  8. Функциональные указатели: вызовы через обфусцированные указатели.
  9. Integer scrambling: вращение и XOR для чисел.

Пример интеграции:
Код:
Expand Collapse Copy
use rust_native_obf::*;

fn main() {
    let secret = obf_string!("my secret key");
    let hash = ct_hash!("compile time hashing");
    let result = confuse_flow!({ x * 2 });
    let hidden = hide_call!({ sensitive_function(100) });
}

Технические заметки:
Это не полноценная криптография. Это чисто обфускация, чтобы усложнить реверс, а не сделать его невозможным. Не юзайте это для хранения приватных ключей или серьезных секретов в бинарниках, для этого есть нормальные методы. Использовать в качестве «базы» под пасту — самое то.

Ссылка:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Запуск примера:
Код:
Expand Collapse Copy
cargo run --example basic

Братва, делитесь опытом, кто уже пробовал прогонять через IDA/Ghidra после этой обфускации? Есть мысли, как допилить функционал или лучше закрепить джанк-код?
 
Назад
Сверху Снизу