Rust implementation of Qualcomm sectools.exe functionality based on decompiled analysis.
- Parse and generate ELF32/ELF64 images
- Insert segments into existing ELF
- Combine multiple ELF files
- Remove sections from ELF
- Hash table segment support
- Parse MBN images (v3, v5, v6, v7, v8)
- Generate MBN images
- Boot image ID and destination pointer support
- Inspect images (human-readable output)
- Validate images against security profile
- Sign images (LOCAL/TEST/PLUGIN modes)
- Hash images (12 SHA variants)
- Encrypt images (UIE/QBEC modes)
- Compress images (zlib/gzip)
- Fuse blower validation
- Outfile record management
Signature:
- ECDSA-P256 (64 bytes)
- ECDSA-P384 (96 bytes)
- RSA-2048/3072/4096
Hash:
- SHA256, SHA384, SHA512
- SHA256-ONE-SHOT, SHA384-ONE-SHOT, SHA512-ONE-SHOT
- SHA256-ZI, SHA384-ZI, SHA512-ZI
- SHA256-ONE-SHOT-ZI, SHA384-ONE-SHOT-ZI, SHA512-ONE-SHOT-ZI
Encryption:
- AES-128-CBC
- UIE (User Image Encryption)
- QBEC (Qualcomm Boot Encryption Container)
- Rust 1.70+
- Dependencies: clap, p256, p384, aes, sha2, sha3, x509-parser, quick-xml, chrono
MIT License - See LICENSE file for details.
FOR RESEARCH AND EDUCATIONAL PURPOSES ONLY
This software is provided for security research, educational purposes, and reverse engineering analysis only. Users are responsible for ensuring compliance with all applicable laws and regulations. The authors disclaim all liability for any misuse of this software.
This tool should NOT be used for:
- Any illegal activities
Users assume all responsibility and risk for their use of this tool.