> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kong.fyi/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Go from zero to your first binary analysis in five minutes.

This guide gets you through your first Kong analysis as fast as possible. Five steps, five minutes.

<Steps>
  <Step title="Install Kong">
    ```bash theme={null}
    uv pip install kong-re
    ```

    Need more detail? See the full [Installation guide](/getting-started/installation).
  </Step>

  <Step title="Set your API key">
    Kong needs at least one LLM API key. Pick whichever provider you prefer:

    ```bash theme={null}
    # Anthropic (Claude)
    export ANTHROPIC_API_KEY="sk-ant-..."

    # or OpenAI (GPT-4o)
    export OPENAI_API_KEY="sk-..."
    ```

    <Tip>
      Add the `export` line to your `~/.zshrc` or `~/.bashrc` so it persists across terminal sessions.
    </Tip>
  </Step>

  <Step title="Run the setup wizard">
    The setup wizard configures which LLM providers to use and verifies your environment:

    ```bash theme={null}
    kong setup
    ```

    It will detect your Ghidra installation, check your API keys, and save your preferences. This only needs to run once.

    <Frame>
      <img src="https://mintcdn.com/kong-4ee06b0a/bgaEqB6pCeDpRler/images/kong-setup-done.png?fit=max&auto=format&n=bgaEqB6pCeDpRler&q=85&s=6e37f67177a1cc8ee230852c007e4170" alt="Kong setup wizard showing successful configuration" width="762" height="114" data-path="images/kong-setup-done.png" />
    </Frame>

    For a detailed walkthrough of every option, see [Setup Wizard](/getting-started/setup-wizard).
  </Step>

  <Step title="Analyze a binary">
    Point Kong at any stripped binary:

    ```bash theme={null}
    kong analyze ./path/to/stripped_binary
    ```

    Kong will load the binary into an in-process Ghidra instance and run the full pipeline: triage, analysis, cleanup, synthesis, and export. You will see a live TUI showing progress as functions are analyzed.

    <Frame>
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/kong-4ee06b0a/images/kong-tui-analysis.png" alt="Kong TUI showing live analysis progress" />
    </Frame>

    You can also specify a provider or model explicitly:

    ```bash theme={null}
    kong analyze ./binary --provider openai
    kong analyze ./binary --provider anthropic --model claude-sonnet-4-20250514
    ```
  </Step>

  <Step title="Review the output">
    When analysis completes, Kong writes results to `./kong_output_{binary_name}/`:

    ```
    kong_output_{binary_name}/
    ├── analysis.json         # Recovered function names, types, parameters
    └── events.log            # Pipeline execution trace
    ```

    Open `analysis.json` to see every recovered function with its name, return type, parameters, and a confidence indicator. Kong also writes everything back to Ghidra's program database, so you can open the binary in Ghidra and see real names instead of `FUN_` labels.
  </Step>
</Steps>

## What Just Happened?

Behind the scenes, Kong ran a [five-phase pipeline](/concepts/pipeline-overview):

1. **Triage** enumerated all functions, classified them by complexity, built the call graph, and matched known library signatures
2. **Analysis** processed functions bottom-up from the call graph, building [rich context windows](/concepts/context-windows) for each LLM call
3. **Cleanup** normalized results and unified struct proposals
4. **Synthesis** took a [global view](/concepts/semantic-synthesis) across all functions to unify naming conventions
5. **Export** wrote `analysis.json` and applied everything back to Ghidra

## Next Steps

* **Understand the output** — See [Output Formats](/usage/output-formats) for a detailed breakdown of `analysis.json`
* **Try different providers** — Configure multiple LLM providers with the [Setup Wizard](/getting-started/setup-wizard)
* **See it in action** — Read the [XZ Backdoor case study](/case-studies/xz-backdoor) to see what Kong recovers from a real-world binary
* **Go deeper** — Learn how [Call-Graph Analysis](/concepts/call-graph-analysis) orders functions for maximum context
