Skip to content

Reference

De-obfuscating stack traces

Turn an obfuscated crash report back into original names using a run’s symbol map.

After protection, exception stack traces from your app show the renamed symbols. Nebula produces a symbol map for each run so you (and only you) can translate those traces back to the original names.

Stack-trace de-obfuscation is a Licensed feature.

Keep the symbol map

Each protect run writes a symbol map (a *.symbols.json file) alongside the output. Archive it securely with your release — you’ll need the map that matches the exact build a crash came from. Treat it like a debug symbol: keep it private.

Translate a trace

nebula deobfuscate --map MyApp.symbols.json --input crash.txt
  • --map — the symbol map from the build that produced the trace.
  • --input — a file containing the obfuscated stack trace.
  • --assembly — (optional) restrict translation to a specific assembly.

The command prints the trace with original type and method names restored.

Good practice

  • Store symbol maps per release/version so you can match a crash to its build.
  • Never ship the symbol map with your application.
  • A map from a different build won’t translate correctly — Nebula rejects an empty or mismatched map rather than guessing.