hackingtool/tools/exploit_frameworks.py
Hardik Zinzuvadiya 2ad5587517 Phase 4+5: Core architecture + shared console across all tool files
Phase 4 (core.py — largely done in Phase 1, completed here):
- HackingTool: add ARCHIVED, ARCHIVED_REASON, SUPPORTED_OS, REQUIRES_* fields
- HackingTool: remove INSTALLATION_DIR (unused)
- HackingToolsCollection: add _active_tools(), _archived_tools(), _incompatible_tools()
- HackingToolsCollection: add _show_archived_tools() (option 98 sub-menu)
- HackingToolsCollection.show_options(): filter by OS and ARCHIVED flag
- OS-incompatible tools show count but are hidden from menu
- Archived tools accessible via option 98 with reason displayed

Phase 5 (all 22 remaining tool files):
- Remove local console = Console() and _theme = Theme() from all 22 files
- Remove P_COLOR and PURPLE_STYLE local constants
- Add `from core import HackingTool, HackingToolsCollection, console` everywhere
- Remove show_options() overrides from all collection classes (500+ lines deleted)
- Remove pretty_print() overrides from all collection classes
- Remove _get_attr() / _get_attr_fallback() helpers from all collection classes
- Replace super(ClassName, self).__init__() → super().__init__() in all files
- Remove # coding=utf-8 headers from all files
- Fix remaining PURPLE_STYLE usages → "bold magenta" literal

All 28 tool modules import cleanly. Zero local console instances remain.
2026-03-15 13:55:04 +05:30

64 lines
2.3 KiB
Python

from core import HackingTool, HackingToolsCollection, console
from tools.webattack import Web2Attack
from rich.panel import Panel
from rich.text import Text
from rich.prompt import Prompt
class RouterSploit(HackingTool):
TITLE = "RouterSploit"
DESCRIPTION = "The RouterSploit Framework is an open-source exploitation " \
"framework dedicated to embedded devices"
INSTALL_COMMANDS = [
"sudo git clone https://github.com/threat9/routersploit.git",
"cd routersploit && sudo python3 -m pip install -r requirements.txt"
]
RUN_COMMANDS = ["cd routersploit && sudo python3 rsf.py"]
PROJECT_URL = "https://github.com/threat9/routersploit"
class WebSploit(HackingTool):
TITLE = "WebSploit"
DESCRIPTION = "Websploit is an advanced MITM framework."
INSTALL_COMMANDS = [
"sudo git clone https://github.com/The404Hacking/websploit.git;cd websploit/Setup;sudo chmod +x install.sh && sudo bash install.sh"
]
RUN_COMMANDS = ["sudo websploit"]
PROJECT_URL = "https://github.com/The404Hacking/websploit "
class Commix(HackingTool):
TITLE = "Commix"
DESCRIPTION = "Automated All-in-One OS command injection and exploitation " \
"tool.\nCommix can be used from web developers, penetration " \
"testers or even security researchers\n in order to test " \
"web-based applications with the view to find bugs,\n " \
"errors or vulnerabilities related to command injection " \
"attacks.\n Usage: python commix.py [option(s)]"
INSTALL_COMMANDS = [
"git clone https://github.com/commixproject/commix.git commix",
# Bug 26 fix: was "sudo python setup.py install" (Python 2)
"cd commix && pip install --user .",
]
# Bug 26 fix: was "sudo python commix.py --wizard" (Python 2)
RUN_COMMANDS = ["cd commix && sudo python3 commix.py --wizard"]
PROJECT_URL = "https://github.com/commixproject/commix"
def __init__(self):
# Py3-4 fix: super(Commix, self) → super()
super().__init__(runnable=False)
class ExploitFrameworkTools(HackingToolsCollection):
TITLE = "Exploit framework"
TOOLS = [
RouterSploit(),
WebSploit(),
Commix(),
Web2Attack()
]
if __name__ == "__main__":
tools = ExploitFrameworkTools()
tools.show_options()