# π burpDrop β Cross-Platform Burp Suite CA Certificate Installer for Android
[](#)
[](https://www.python.org/)
[](LICENSE)
[](#)
**burpDrop** is a professional-grade automation tool that simplifies installing [Burp Suite](https://portswigger.net/burp) CA certificates into **rooted Android devices or emulators**.
Built for **security professionals**, **pen testers**, and **mobile developers**, it automates certificate conversion, deployment, permission setting, and rebooting β all with robust logging and cross-platform support.

---
## β¨ Features
- β
One-command certificate installation
- π Converts Burp CA cert (DER β PEM β `.0`) with subject hash
- π² Pushes cert to `/system/etc/security/cacerts/` on Android device
- π Verifies ADB and OpenSSL availability
- π¦ Automatically cleans up temporary certificate files on exit
- π§° Interactive CLI with prompts and auto-validation
- π Timestamped logging to `logs/` directory
- π₯οΈ Cross-platform support: Windows, macOS, and Linux
- π€ **Magisk support**: Installs certificates to the systemless Magisk path.
- π§ͺ **Dry-run mode**: Simulates the installation without making any changes.
---
## π¦ Requirements
- Python **3.7+**
- [ADB (Android Debug Bridge)](https://developer.android.com/studio/releases/platform-tools)
- [OpenSSL](https://www.openssl.org/) available in `PATH`
- Rooted Android device or emulator (e.g., [Genymotion](https://www.genymotion.com/))
- Burp Suite CA certificate exported as `.der` format
---
## π Installation
### Option 1: From PyPI (recommended)
```bash
pip install burpdrop
```
### Option 2: From source
```bash
git clone [https://github.com/Gashaw512/android-traffic-interception-guide](https://github.com/Gashaw512/android-traffic-interception-guide)
cd android-traffic-interception-guide/burpdrop
pip install .
```
> β
Tip: Use a Python virtual environment to avoid system conflicts.
## βοΈ Quick Start
### 1. Export your Burp certificate
In **Burp Suite**:
`Proxy β Proxy Settings/ Options β Import / Export CA Certificate`
- Choose **DER format**
- Save it as `burp.der`
---
### 2. Connect your Android device
- Enable **USB debugging** on your phone or emulator
- Ensure `adb` is accessible from your terminal (i.e., added to your system `PATH`)
---
### 3. Install the certificate
Run:
```bash
burpdrop install
```
> Youβll be prompted to select the certificate file path
> The device will automatically reboot once the installation is successful
---
## π§ͺ Example Usage
```bash
# Standard interactive install (prompt-based)
burpdrop install
# Install for Magisk systemless root
burpdrop install --magisk
# Simulate installation without making changes
burpdrop install --dry-run
# View recent logs
burpdrop logs
# Interactive configuration wizard (to set adb/openssl paths)
burpdrop config
# Set ADB and OpenSSL paths directly
burpdrop config --adb "/path/to/adb" --openssl "/path/to/openssl"
# Help
burpdrop help
```
---
## β οΈ Troubleshooting
| Issue | Solution |
|-------------------------------|--------------------------------------------------------------------------|
| β `adb` not found | Run `burpdrop config` to set the correct path |
| β Certificate conversion fails| Make sure **OpenSSL** is installed and the cert is in **DER** format |
| β Device not detected | Run `adb devices` to confirm connection; ensure **USB debugging** is enabled |
| β οΈ `adb remount` fails | Ensure your device/emulator is **rooted**. Use `adb root` if needed |
| Issue | Solution | |-------------------------------|--------------------------------------------------------------------------| | β adb not found | Run burpdrop config to set the correct path | | β Certificate conversion fails| Make sure OpenSSL is installed and the cert is in DER format | | β Device not detected | Run adb devices to confirm connection; ensure USB debugging is enabled | | β οΈ adb remount fails | Ensure your device/emulator is rooted. Use adb root if needed | | β ImportError on local run | Ensure you are running with pip install . or using the wrapper scripts (burpDrop.sh/.bat) |
> This will render as a neat table on GitHub. Let me know if you'd prefer a bullet list format or collapsible FAQs instead.
---
## π§ Configuration
o set up or override tool paths, use the config command:
```bash
burpdrop config
```
You can also manually edit the config.json file located inside the installed package (e.g., site-packages/burpdrop/scripts/config.json).
```json
{
"adb_path": "/custom/path/to/adb",
"openssl_path": "/custom/path/to/openssl"
}
```
---
## π FAQ
### β How do I export the certificate from Burp?
Go to:
**Proxy β Options β Import/Export CA Certificate**
- Choose **DER format**
- Save the file (e.g., `burp.der`)
---
### β My emulator isnβt rooted. What now?
`burpDrop` requires root access to push the certificate to `/system/`.
Use one of the following:
- β
Genymotion (emulators are rooted by default)
- β
Magisk-patched AVDs
- β
Custom rooted emulator images
---
### β `adb remount` fails?
This is usually due to **verity** being enabled on the system partition.
Try running:
```bash
adb disable-verity
adb reboot
adb root
adb remount
```
---
## π€ Contributing
Contributions, bug reports, and feature requests are welcome!
If youβd like to help improve **burpDrop**, follow these steps:
1. Fork the repository
2. Create a feature branch
3. Submit a pull request
π **CONTRIBUTING.md** β _coming soon_
For suggestions, feedback, or collaboration inquiries:
π§ [kidanugashaw@gmail.com](mailto:kidanugashaw@gmail.com)
---
## π License
Distributed under the **MIT License**.
Β© 2025 [Gashaw Kidanu](https://github.com/yourusername).
See the [LICENSE](LICENSE) file for full details.
---
## π Final Notes
**burpDrop** is actively maintained and designed for extensibility.
Whether youβre a red teamer, security engineer, or mobile developer β
this tool streamlines the HTTPS interception process on Android.
> **Intercept with confidence. Secure with precision.**
> β _burpDrop_
---
Raw data
{
"_id": null,
"home_page": "https://github.com/Gashaw512/android-traffic-interception-guide",
"name": "burpdrop",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "android, burpsuite, certificate, installer, root, magisk, interception, security",
"author": "Gashaw Kidanu",
"author_email": "Gashaw Kidanu <kidanugashaw@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/6e/38/8f1488def07aa59da811b1f414c2db5aa363deb570202d306f7bcb30fe2c/burpdrop-1.1.0.tar.gz",
"platform": null,
"description": "# \ud83d\udd10 burpDrop \u2013 Cross-Platform Burp Suite CA Certificate Installer for Android\r\n\r\n[](#)\r\n[](https://www.python.org/)\r\n[](LICENSE)\r\n[](#)\r\n\r\n**burpDrop** is a professional-grade automation tool that simplifies installing [Burp Suite](https://portswigger.net/burp) CA certificates into **rooted Android devices or emulators**.\r\nBuilt for **security professionals**, **pen testers**, and **mobile developers**, it automates certificate conversion, deployment, permission setting, and rebooting \u2014 all with robust logging and cross-platform support.\r\n\r\n\r\n\r\n---\r\n\r\n## \u2728 Features\r\n\r\n- \u2705 One-command certificate installation\r\n- \ud83d\udd01 Converts Burp CA cert (DER \u2192 PEM \u2192 `.0`) with subject hash\r\n- \ud83d\udcf2 Pushes cert to `/system/etc/security/cacerts/` on Android device\r\n- \ud83d\udd12 Verifies ADB and OpenSSL availability\r\n- \ud83d\udce6 Automatically cleans up temporary certificate files on exit\r\n- \ud83e\uddf0 Interactive CLI with prompts and auto-validation\r\n- \ud83d\udcdc Timestamped logging to `logs/` directory\r\n- \ud83d\udda5\ufe0f Cross-platform support: Windows, macOS, and Linux\r\n- \ud83e\udd16 **Magisk support**: Installs certificates to the systemless Magisk path.\r\n- \ud83e\uddea **Dry-run mode**: Simulates the installation without making any changes.\r\n\r\n---\r\n\r\n## \ud83d\udce6 Requirements\r\n\r\n- Python **3.7+**\r\n- [ADB (Android Debug Bridge)](https://developer.android.com/studio/releases/platform-tools)\r\n- [OpenSSL](https://www.openssl.org/) available in `PATH`\r\n- Rooted Android device or emulator (e.g., [Genymotion](https://www.genymotion.com/))\r\n- Burp Suite CA certificate exported as `.der` format\r\n\r\n---\r\n\r\n## \ud83d\ude80 Installation\r\n\r\n### Option 1: From PyPI (recommended)\r\n\r\n```bash\r\npip install burpdrop\r\n```\r\n\r\n### Option 2: From source\r\n```bash\r\ngit clone [https://github.com/Gashaw512/android-traffic-interception-guide](https://github.com/Gashaw512/android-traffic-interception-guide)\r\ncd android-traffic-interception-guide/burpdrop\r\npip install .\r\n\r\n```\r\n> \u2705 Tip: Use a Python virtual environment to avoid system conflicts.\r\n\r\n## \u2699\ufe0f Quick Start\r\n\r\n### 1. Export your Burp certificate\r\n\r\nIn **Burp Suite**: \r\n`Proxy \u2192 Proxy Settings/ Options \u2192 Import / Export CA Certificate`\r\n\r\n- Choose **DER format**\r\n- Save it as `burp.der`\r\n\r\n---\r\n\r\n### 2. Connect your Android device\r\n\r\n- Enable **USB debugging** on your phone or emulator \r\n- Ensure `adb` is accessible from your terminal (i.e., added to your system `PATH`)\r\n\r\n---\r\n### 3. Install the certificate\r\n\r\nRun:\r\n\r\n```bash\r\nburpdrop install\r\n\r\n```\r\n\r\n> You\u2019ll be prompted to select the certificate file path\r\n\r\n> The device will automatically reboot once the installation is successful\r\n---\r\n## \ud83e\uddea Example Usage\r\n\r\n```bash\r\n\r\n# Standard interactive install (prompt-based)\r\nburpdrop install\r\n\r\n# Install for Magisk systemless root\r\nburpdrop install --magisk\r\n\r\n# Simulate installation without making changes\r\nburpdrop install --dry-run\r\n\r\n# View recent logs\r\nburpdrop logs\r\n\r\n# Interactive configuration wizard (to set adb/openssl paths)\r\nburpdrop config\r\n\r\n# Set ADB and OpenSSL paths directly\r\nburpdrop config --adb \"/path/to/adb\" --openssl \"/path/to/openssl\"\r\n\r\n# Help\r\nburpdrop help\r\n\r\n```\r\n\r\n---\r\n## \u26a0\ufe0f Troubleshooting\r\n\r\n| Issue | Solution |\r\n|-------------------------------|--------------------------------------------------------------------------|\r\n| \u274c `adb` not found | Run `burpdrop config` to set the correct path |\r\n| \u274c Certificate conversion fails| Make sure **OpenSSL** is installed and the cert is in **DER** format |\r\n| \u274c Device not detected | Run `adb devices` to confirm connection; ensure **USB debugging** is enabled |\r\n| \u26a0\ufe0f `adb remount` fails | Ensure your device/emulator is **rooted**. Use `adb root` if needed |\r\n\r\n\r\n\r\n\r\n\r\n| Issue | Solution | |-------------------------------|--------------------------------------------------------------------------| | \u274c adb not found | Run burpdrop config to set the correct path | | \u274c Certificate conversion fails| Make sure OpenSSL is installed and the cert is in DER format | | \u274c Device not detected | Run adb devices to confirm connection; ensure USB debugging is enabled | | \u26a0\ufe0f adb remount fails | Ensure your device/emulator is rooted. Use adb root if needed | | \u274c ImportError on local run | Ensure you are running with pip install . or using the wrapper scripts (burpDrop.sh/.bat) |\r\n\r\n> This will render as a neat table on GitHub. Let me know if you'd prefer a bullet list format or collapsible FAQs instead.\r\n---\r\n## \ud83d\udd27 Configuration\r\n\r\no set up or override tool paths, use the config command:\r\n\r\n```bash\r\n\r\nburpdrop config\r\n\r\n```\r\nYou can also manually edit the config.json file located inside the installed package (e.g., site-packages/burpdrop/scripts/config.json).\r\n\r\n```json\r\n\r\n{\r\n \"adb_path\": \"/custom/path/to/adb\",\r\n \"openssl_path\": \"/custom/path/to/openssl\"\r\n}\r\n```\r\n---\r\n## \ud83d\udcda FAQ\r\n\r\n### \u2753 How do I export the certificate from Burp?\r\n\r\nGo to: \r\n**Proxy \u2192 Options \u2192 Import/Export CA Certificate** \r\n- Choose **DER format** \r\n- Save the file (e.g., `burp.der`)\r\n\r\n---\r\n\r\n### \u2753 My emulator isn\u2019t rooted. What now?\r\n\r\n`burpDrop` requires root access to push the certificate to `/system/`. \r\nUse one of the following:\r\n\r\n- \u2705 Genymotion (emulators are rooted by default) \r\n- \u2705 Magisk-patched AVDs \r\n- \u2705 Custom rooted emulator images\r\n\r\n---\r\n\r\n### \u2753 `adb remount` fails?\r\n\r\nThis is usually due to **verity** being enabled on the system partition. \r\nTry running:\r\n\r\n```bash\r\nadb disable-verity\r\nadb reboot\r\nadb root\r\nadb remount\r\n\r\n```\r\n---\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nContributions, bug reports, and feature requests are welcome! \r\nIf you\u2019d like to help improve **burpDrop**, follow these steps:\r\n\r\n1. Fork the repository\r\n2. Create a feature branch\r\n3. Submit a pull request\r\n\r\n\ud83d\udcc4 **CONTRIBUTING.md** \u2013 _coming soon_\r\n\r\nFor suggestions, feedback, or collaboration inquiries: \r\n\ud83d\udce7 [kidanugashaw@gmail.com](mailto:kidanugashaw@gmail.com)\r\n\r\n---\r\n\r\n## \ud83d\udcdd License\r\n\r\nDistributed under the **MIT License**. \r\n\u00a9 2025 [Gashaw Kidanu](https://github.com/yourusername). \r\nSee the [LICENSE](LICENSE) file for full details.\r\n\r\n---\r\n\r\n## \ud83d\udc4b Final Notes\r\n\r\n**burpDrop** is actively maintained and designed for extensibility. \r\nWhether you\u2019re a red teamer, security engineer, or mobile developer \u2014 \r\nthis tool streamlines the HTTPS interception process on Android.\r\n\r\n> **Intercept with confidence. Secure with precision.** \r\n> \u2014 _burpDrop_\r\n\r\n---\r\n\r\n\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A cross-platform Burp Suite CA Certificate installer for Android devices",
"version": "1.1.0",
"project_urls": {
"Bug Tracker": "https://github.com/Gashaw512/android-traffic-interception-guide/issues",
"Homepage": "https://github.com/Gashaw512/android-traffic-interception-guide"
},
"split_keywords": [
"android",
" burpsuite",
" certificate",
" installer",
" root",
" magisk",
" interception",
" security"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c7cb5e5c6d1ba44015dd6597769881e4459c643e900ef12672a8822fed9f59a8",
"md5": "7cb95a487c75ac416dc889c010a1db31",
"sha256": "01ea6a807fd1ed2d40a59d0d93a761ce627aee18c3850d1f1c4d1fac39328d00"
},
"downloads": -1,
"filename": "burpdrop-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7cb95a487c75ac416dc889c010a1db31",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 12566,
"upload_time": "2025-08-04T07:39:09",
"upload_time_iso_8601": "2025-08-04T07:39:09.207976Z",
"url": "https://files.pythonhosted.org/packages/c7/cb/5e5c6d1ba44015dd6597769881e4459c643e900ef12672a8822fed9f59a8/burpdrop-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6e388f1488def07aa59da811b1f414c2db5aa363deb570202d306f7bcb30fe2c",
"md5": "4d25e3dac41184b64dd05a575f8705ef",
"sha256": "5019f056b5af9feec48939d0a0e1a6da128d2f03bc8ddbc45b4ac7cb0e3a9e42"
},
"downloads": -1,
"filename": "burpdrop-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "4d25e3dac41184b64dd05a575f8705ef",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 11122,
"upload_time": "2025-08-04T07:39:10",
"upload_time_iso_8601": "2025-08-04T07:39:10.256789Z",
"url": "https://files.pythonhosted.org/packages/6e/38/8f1488def07aa59da811b1f414c2db5aa363deb570202d306f7bcb30fe2c/burpdrop-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-04 07:39:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Gashaw512",
"github_project": "android-traffic-interception-guide",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "burpdrop"
}