Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Z4nzu
GitHub Repository: Z4nzu/hackingtool
Path: blob/master/tools/others/android_attack.py
1761 views
1
# coding=utf-8
2
from core import HackingTool
3
from core import HackingToolsCollection
4
5
from rich.console import Console
6
from rich.theme import Theme
7
from rich.table import Table
8
from rich.panel import Panel
9
from rich.prompt import Prompt
10
from rich import box
11
12
_theme = Theme({"purple": "#7B61FF"})
13
console = Console(theme=_theme)
14
15
16
class Keydroid(HackingTool):
17
TITLE = "Keydroid"
18
DESCRIPTION = "Android Keylogger + Reverse Shell\n" \
19
"[!] You have to install Some Manually Refer Below Link:\n " \
20
"[+] https://github.com/F4dl0/keydroid"
21
INSTALL_COMMANDS = ["sudo git clone https://github.com/F4dl0/keydroid.git"]
22
RUN_COMMANDS = ["cd keydroid && bash keydroid.sh"]
23
PROJECT_URL = "https://github.com/F4dl0/keydroid"
24
25
26
class MySMS(HackingTool):
27
TITLE = "MySMS"
28
DESCRIPTION = "Script that generates an Android App to hack SMS through WAN \n" \
29
"[!] You have to install Some Manually Refer Below Link:\n\t " \
30
"[+] https://github.com/papusingh2sms/mysms"
31
INSTALL_COMMANDS = [
32
"sudo git clone https://github.com/papusingh2sms/mysms.git"]
33
RUN_COMMANDS = ["cd mysms && bash mysms.sh"]
34
PROJECT_URL = "https://github.com/papusingh2sms/mysms"
35
36
37
class LockPhish(HackingTool):
38
TITLE = "Lockphish (Grab target LOCK PIN)"
39
DESCRIPTION = "Lockphish it's the first tool for phishing attacks on the " \
40
"lock screen, designed to\n Grab Windows credentials,Android" \
41
" PIN and iPhone Passcode using a https link."
42
INSTALL_COMMANDS = [
43
"sudo git clone https://github.com/JasonJerry/lockphish.git"]
44
RUN_COMMANDS = ["cd lockphish && bash lockphish.sh"]
45
PROJECT_URL = "https://github.com/JasonJerry/lockphish"
46
47
48
class Droidcam(HackingTool):
49
TITLE = "DroidCam (Capture Image)"
50
DESCRIPTION = "Powerful Tool For Grab Front Camera Snap Using A Link"
51
INSTALL_COMMANDS = [
52
"sudo git clone https://github.com/kinghacker0/WishFish.git;"
53
"sudo apt install php wget openssh-client"
54
]
55
RUN_COMMANDS = ["cd WishFish && sudo bash wishfish.sh"]
56
PROJECT_URL = "https://github.com/kinghacker0/WishFish"
57
58
59
class EvilApp(HackingTool):
60
TITLE = "EvilApp (Hijack Session)"
61
DESCRIPTION = "EvilApp is a script to generate Android App that can " \
62
"hijack authenticated sessions in cookies."
63
INSTALL_COMMANDS = [
64
"sudo git clone https://github.com/crypticterminal/EvilApp.git"]
65
RUN_COMMANDS = ["cd EvilApp && bash evilapp.sh"]
66
PROJECT_URL = "https://github.com/crypticterminal/EvilApp"
67
68
69
class AndroidAttackTools(HackingToolsCollection):
70
TITLE = "Android Hacking tools"
71
TOOLS = [
72
Keydroid(),
73
MySMS(),
74
LockPhish(),
75
Droidcam(),
76
EvilApp()
77
]
78
79
def pretty_print(self):
80
table = Table(title="Android Attack Tools", show_lines=True, expand=True)
81
table.add_column("Title", style="purple", no_wrap=True)
82
table.add_column("Description", style="purple")
83
table.add_column("Project URL", style="purple", no_wrap=True)
84
85
for t in self.TOOLS:
86
desc = getattr(t, "DESCRIPTION", "") or ""
87
url = getattr(t, "PROJECT_URL", "") or ""
88
table.add_row(t.TITLE, desc.strip().replace("\n", " "), url)
89
90
panel = Panel(table, title="[purple]Available Tools[/purple]", border_style="purple")
91
console.print(panel)
92
93
def show_options(self, parent=None):
94
console.print("\n")
95
panel = Panel.fit("[bold magenta]Android Attack Tools Collection[/bold magenta]\n"
96
"Select a tool to view details or run it.",
97
border_style="purple")
98
console.print(panel)
99
100
table = Table(title="[bold cyan]Available Tools[/bold cyan]", show_lines=True, expand=True)
101
table.add_column("Index", justify="center", style="bold yellow")
102
table.add_column("Tool Name", justify="left", style="bold green")
103
table.add_column("Description", justify="left", style="white")
104
105
for i, tool in enumerate(self.TOOLS):
106
title = getattr(tool, "TITLE", tool.__class__.__name__)
107
desc = getattr(tool, "DESCRIPTION", "—")
108
table.add_row(str(i + 1), title, desc or "—")
109
110
table.add_row("[red]99[/red]", "[bold red]Exit[/bold red]", "Return to previous menu")
111
console.print(table)
112
113
try:
114
choice = Prompt.ask("[bold cyan]Select a tool to view/run[/bold cyan]", default="99")
115
choice = int(choice)
116
if 1 <= choice <= len(self.TOOLS):
117
selected = self.TOOLS[choice - 1]
118
if hasattr(selected, "show_options"):
119
selected.show_options(parent=self)
120
elif hasattr(selected, "run"):
121
selected.run()
122
elif hasattr(selected, "show_info"):
123
selected.show_info()
124
else:
125
console.print("[bold yellow]Selected tool has no runnable interface.[/bold yellow]")
126
elif choice == 99:
127
return 99
128
except Exception:
129
console.print("[bold red]Invalid choice. Try again.[/bold red]")
130
return self.show_options(parent=parent)
131
132
133
if __name__ == "__main__":
134
tools = AndroidAttackTools()
135
tools.pretty_print()
136
tools.show_options()
137