You've already forked hackingtool
mirror of
https://github.com/Z4nzu/hackingtool.git
synced 2026-06-09 00:16:18 +02:00
2ad5587517
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.
65 lines
2.0 KiB
Python
65 lines
2.0 KiB
Python
import subprocess
|
|
|
|
from core import HackingTool, HackingToolsCollection, console
|
|
|
|
from rich.panel import Panel
|
|
from rich.prompt import Prompt
|
|
|
|
|
|
class AndroGuard(HackingTool):
|
|
TITLE = "Androguard"
|
|
DESCRIPTION = "Androguard is a Reverse engineering, Malware and goodware " \
|
|
"analysis of Android applications and more"
|
|
INSTALL_COMMANDS = ["sudo pip3 install -U androguard"]
|
|
PROJECT_URL = "https://github.com/androguard/androguard "
|
|
|
|
def __init__(self):
|
|
super().__init__(runnable=False)
|
|
|
|
|
|
class Apk2Gold(HackingTool):
|
|
TITLE = "Apk2Gold"
|
|
DESCRIPTION = "Apk2Gold is a CLI tool for decompiling Android apps to Java"
|
|
INSTALL_COMMANDS = [
|
|
"sudo git clone https://github.com/lxdvs/apk2gold.git",
|
|
"cd apk2gold;sudo bash make.sh"
|
|
]
|
|
PROJECT_URL = "https://github.com/lxdvs/apk2gold "
|
|
|
|
def run(self):
|
|
uinput = input("Enter (.apk) File >> ")
|
|
subprocess.run(["sudo", "apk2gold", uinput])
|
|
|
|
|
|
class Jadx(HackingTool):
|
|
TITLE = "JadX"
|
|
DESCRIPTION = "Jadx is Dex to Java decompiler.\n" \
|
|
"[*] decompile Dalvik bytecode to java classes from APK, dex," \
|
|
" aar and zip files\n" \
|
|
"[*] decode AndroidManifest.xml and other resources from " \
|
|
"resources.arsc"
|
|
INSTALL_COMMANDS = [
|
|
"sudo git clone https://github.com/skylot/jadx.git",
|
|
# Bug 30 fix: gradlew dist requires Java — check first
|
|
"java -version 2>&1 | grep -q 'version' && cd jadx && ./gradlew dist || echo '[ERROR] Java not found. Install: sudo apt install default-jdk'",
|
|
]
|
|
PROJECT_URL = "https://github.com/skylot/jadx"
|
|
REQUIRES_JAVA = True
|
|
|
|
def __init__(self):
|
|
# Py3-4 fix: super(Jadx, self) → super()
|
|
super().__init__(runnable=False)
|
|
|
|
|
|
class ReverseEngineeringTools(HackingToolsCollection):
|
|
TITLE = "Reverse engineering tools"
|
|
TOOLS = [
|
|
AndroGuard(),
|
|
Apk2Gold(),
|
|
Jadx()
|
|
]
|
|
|
|
if __name__ == "__main__":
|
|
tools = ReverseEngineeringTools()
|
|
tools.show_options()
|