Skip to main content

proteus/
lib.rs

1use pyo3::prelude::*;
2
3mod elf_parser;
4mod entropy;
5mod heuristics;
6mod packer_detector;
7mod pe_parser;
8mod python_bindings;
9mod string_extractor;
10
11#[pymodule]
12fn proteus(m: &Bound<'_, PyModule>) -> PyResult<()> {
13    m.add_class::<python_bindings::FileAnalysis>()?;
14    m.add_class::<python_bindings::StringAnalysisResult>()?;
15    m.add_function(wrap_pyfunction!(python_bindings::analyze_file, m)?)?;
16    m.add_function(wrap_pyfunction!(python_bindings::batch_analyze, m)?)?;
17    m.add_function(wrap_pyfunction!(
18        python_bindings::extract_strings_from_file,
19        m
20    )?)?;
21    Ok(())
22}