Skip to main content

Static-triage CLI and lightweight HTTP daemon for quick file inspection. Supports PE, ELF, Mach-O, APK, IPA.

Project description

thc4me — Thick Client Extension for Burp Suite

build-release License: MIT

Status: MVP (pre-release). Tested on macOS with Burp Suite Pro/Community and Java 17. THC4M3 is a minimal Burp extension that helps you test thick-client apps without drowning in noise: label/annotate only the traffic you care about, and generate a quick PAC file.


✨ What it does

  • Events table that logs/labels interesting requests & responses
  • Allow-lists for Host (regex), Port (CSV), MIME (regex)
  • Show/annotate only matching traffic to reduce noise
  • PAC generator to route only your target domains via Burp
  • Checklist sub-tab for thick-client test setup (save/load/export)

No telemetry. Everything runs inside Burp.

image

🔧 Install

  1. Download the latest thc4m3.jar from Releases.
  2. In Burp: Extensions → Installed → Add → Java and select the JAR.
  3. Confirm the THC4M3 tab appears.

If you’re on macOS and running Burp from a mounted .dmg, copy it to /Applications first.
If HTTPS fails due to TLS interception, install Burp’s CA certificate in your OS trust store or use curl -k during smoke tests.


⚡ Quick start (MVP)

  1. In the THC4M3 tab, set:
    • Host allow (regex): e.g. .*(api|login|auth|gateway).*|localhost|127\.0\.0\.1
    • Port allow (comma): 80,443,8080,8443
    • MIME allow (regex): ^(application/json|application/xml|text/.*|application/octet-stream)$
  2. Click Apply Filters.
  3. (Optional) Click Generate PAC… and use it in your app/OS to only proxy target hosts via Burp.

Smoke tests

Send traffic through Burp on 127.0.0.1:8080

curl --proxy http://127.0.0.1:8080 -k https://postman-echo.com/get -I curl --proxy http://127.0.0.1:8080 -k https://postman-echo.com/post
-H "Content-Type: application/json" --data '{"hello":"world"}'


🧩 Checklist tab

A thin, practical list for thick-client setup (pinning, TLS suites, IPC/local endpoints, file I/O caches/logs/secrets, etc.). Use Save / Load / Export… to persist or share checklists for a project.


🛠️ Build locally

Requires Java 17 and Gradle Wrapper (included).

./gradlew clean jar

JAR: build/libs/thc4m3.jar

unzip -p build/libs/thc4m3.jar META-INF/MANIFEST.MF | grep Burp-Extender-Class

Expect: Burp-Extender-Class: com.jb.thickclient.BurpExtender


❓ Troubleshooting

Extension loads but no tab: Ensure you launched Burp from /Applications (macOS app sandbox prompts can block access when run from a DMG).

HTTPS failures: Install Burp CA into your OS keychain, or use -k only for quick tests.

No events appear: Confirm your Host/Port/MIME allow-lists match, then generate a PAC or point your app to the Burp proxy.


🧭 Roadmap

Backfill labeling from Proxy history

Export/Import of all settings

Status chip / counters

Richer checklist with WSTG mappings


See Issues and Projects for active work.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thc4me-0.3.1.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thc4me-0.3.1-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file thc4me-0.3.1.tar.gz.

File metadata

  • Download URL: thc4me-0.3.1.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for thc4me-0.3.1.tar.gz
Algorithm Hash digest
SHA256 4847b85058dd5bb0d8d1bdb1898185aa26d36b350a16da1e42cf19bd16cf6522
MD5 b8d52962a55facfaa2c33a91a2f8e7c3
BLAKE2b-256 36b8d026bf0bb537e9edfc353923206d97e496de7be5459afbf74efad1476af0

See more details on using hashes here.

File details

Details for the file thc4me-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: thc4me-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for thc4me-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 53a79571f2ac9c543b2c548314bad8466141e4a3fad5818320bbcc3c7331d8ee
MD5 d9d2b5dc7149af7d660fff713a6056a8
BLAKE2b-256 4a8c108c9ddb8c8846ad3c9a1ed21db51733091614d26484d0b59e6eefcf68fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page