# paranoid-deobfuscator

> Python command-line tool that recovers the strings hidden by the Paranoid and LSParanoid Android string-obfuscation plugins, so that smali code becomes readable for static analysis. It scans a smali directory for the obfuscator's string-lookup method and encoded chunk array, decodes the chunks with Python ports of the libraries' DeobfuscatorHelper and RandomHelper classes, and rewrites each lookup call in place as a const-string instruction with a marker comment. Helper commands list the recovered strings, save the chunks to a file and decode a single string from saved chunks.

- Type: Tool
- Targets: App
- Category: Android tools
- Relationship: Foundation tool
- Sources reviewed: 2026-10-27
- Added to the catalog: 2026-11-03
- Original resource: <https://github.com/giacomoferretti/paranoid-deobfuscator>
- Primary source: <https://github.com/giacomoferretti/paranoid-deobfuscator/blob/028bd05fd8a74e8110d0e003b39f06d3bf597642/README.md>
- Catalog page: <https://awesomerea.org/resources/paranoid-deobfuscator/>
- Record JSON: <https://awesomerea.org/resources/paranoid-deobfuscator/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/paranoid-deobfuscator/index.md)

## Requirements & limits

- Latest release at review: v3.0.2, published 2025-02-18 and uploaded to PyPI the same day; install it with pip or pipx. pyproject.toml requires Python 3.10+ with click 8 (8.1.7 or later) and NumPy 2 (2.1.3 or later), and CI runs pytest on Python 3.10 to 3.13 on every push. The reviewed main commit of 2025-03-26 adds only tests and a donation link after that release.
- It works on a smali directory decoded from an APK or DEX file the user supplies, which the README pairs with Apktool or smali/baksmali for decoding and rebuilding, and it overwrites the smali files in place. The README supports only apps obfuscated with Paranoid v0.3.0 or later, released 25 January 2020; a commented-out README warning about Windows refers to issue #14, which is closed.
- The command stops when it finds more than one candidate string-lookup method or obfuscated string array, which the source says is not supported yet, and logs a warning for lookup calls it cannot follow. It restores string constants only, not names or other obfuscation. Tests cover string encoding, smali parsing, Paranoid decoding and the issue #18 regression.
- Apache-2.0 (copyright 2024 Giacomo Ferretti); the decoding modules state that they were converted from Paranoid's and LSParanoid's Java helpers. Analyzed apps keep their own terms.

## Primary sources

1. <https://github.com/giacomoferretti/paranoid-deobfuscator/blob/028bd05fd8a74e8110d0e003b39f06d3bf597642/README.md>
2. <https://github.com/giacomoferretti/paranoid-deobfuscator/blob/028bd05fd8a74e8110d0e003b39f06d3bf597642/paranoid_deobfuscator/commands/deobfuscate.py>
3. <https://github.com/giacomoferretti/paranoid-deobfuscator/blob/028bd05fd8a74e8110d0e003b39f06d3bf597642/paranoid_deobfuscator/commands/helpers.py>
4. <https://github.com/giacomoferretti/paranoid-deobfuscator/blob/028bd05fd8a74e8110d0e003b39f06d3bf597642/paranoid_deobfuscator/paranoid/DeobfuscatorHelper.py>
5. <https://github.com/giacomoferretti/paranoid-deobfuscator/blob/028bd05fd8a74e8110d0e003b39f06d3bf597642/pyproject.toml>
6. <https://github.com/giacomoferretti/paranoid-deobfuscator/blob/028bd05fd8a74e8110d0e003b39f06d3bf597642/.github/workflows/run_tests.yml>
7. <https://github.com/giacomoferretti/paranoid-deobfuscator/blob/028bd05fd8a74e8110d0e003b39f06d3bf597642/LICENSE>
8. <https://github.com/giacomoferretti/paranoid-deobfuscator/releases/tag/v3.0.2>
9. <https://pypi.org/project/paranoid-deobfuscator/3.0.2/>

## More in Apps

- [Katalina](https://awesomerea.org/resources/katalina/index.md) · Tool
- [Doldrums](https://awesomerea.org/resources/doldrums/index.md) · Tool
- [Frida UI](https://awesomerea.org/resources/frida-ui/index.md) · Tool
- [darter](https://awesomerea.org/resources/darter/index.md) · Tool
- [Appshark](https://awesomerea.org/resources/appshark/index.md) · Tool
- [Wallbreaker](https://awesomerea.org/resources/wallbreaker/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
