Initial commit: noxis JVM bytecode obfuscator
Workspace of 9 crates (noxis, noxis-core, noxis-classfile, noxis-analysis, noxis-passes, noxis-runtime, noxis-jar, noxis-verify, noxis-structure-check). AGPL-3.0-only license, Rust 2024 edition, unsafe_code denied.
This commit is contained in:
commit
a641e69455
140 changed files with 17197 additions and 0 deletions
17
crates/noxis-analysis/src/lib.rs
Normal file
17
crates/noxis-analysis/src/lib.rs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//! # noxis-analysis
|
||||
//!
|
||||
//! Анализ программы перед обфускацией: иерархия наследования, entrypoint'ы,
|
||||
//! рефлексивные обращения по имени, keep-правила.
|
||||
//!
|
||||
//! Из этих данных пасс переименования узнаёт, **что** трогать нельзя.
|
||||
//! Урок из `info/evo-weaknesses.md`: у EvoVis рефлексия по имени была
|
||||
//! открытым текстом, а entrypoint'ы — в `fabric.mod.json`; здесь они
|
||||
//! обязаны попадать в keep-набор автоматически.
|
||||
|
||||
pub mod entrypoints;
|
||||
pub mod hierarchy;
|
||||
pub mod keep;
|
||||
|
||||
pub use entrypoints::Entrypoints;
|
||||
pub use hierarchy::{ClassHierarchy, RenameSafety, method_rename_safety};
|
||||
pub use keep::{Analysis, KeepRules, RuleError};
|
||||
Loading…
Add table
Add a link
Reference in a new issue