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}