def get_adb_obj(self): adb_object = None adb_path = self.get_path() if os.name == "nt": adb_object = ADB(adb_path + "\\adb.exe") elif os.name == "posix": adb_object = ADB(str(adb_path) + "/adb") return adb_object
def main(): # creates the ADB object adb = ADB() # set ADB path, using a couple of popular addresses. try: adb.set_adb_path('~/android-sdk-linux/platform-tools/adb') except ADB.BadCall: adb.set_adb_path(r'C:\Android\android-sdk\platform-tools\adb.exe') print("Version: %s" % adb.get_version()) print("Waiting for device...") adb.wait_for_device() dev = adb.get_devices() if len(dev) == 0: print("Unexpected error, may be you're a very fast guy?") return print("Selecting: %s" % dev[0]) adb.set_target_device(dev[0]) print("Executing 'ls' command") output, error = adb.shell_command('ls') if output: print("Output:\n %s" % "\n ".join(output)) if error: print("Error:\n %s" % error)
def init_adb(): device_id = os.getenv("ANDROID_SERIAL") global adb adb = ADB() adb.enable_debug() adb.set_adb_path() adb.set_target_device(device_id)
def main(): # creates the ADB object using the system adb adb = ADB() print("Version: %s" % adb.get_version()) # Or create ADB object with specific version of adb path = '/home/chema/.android-sdks/platform-tools/adb' adb = ADB(path) if adb.set_adb_path(path): print("Version: %s" % adb.get_version()) else: print("Check ADB binary path") return print(adb.get_devices())
def main(): # creates the ADB object adb = ADB() # IMPORTANT: You should supply the absolute path to ADB binary if adb.set_adb_path( '/home/chema/.android-sdks/platform-tools/adb') is True: print("Version: %s" % adb.get_version()) else: print("Check ADB binary path") print("Waiting for device...") adb.wait_for_device() err, dev = adb.get_devices() if len(dev) == 0: print("Unexpected error, may be you're a very fast guy?") return print("Selecting: %s" % dev[0]) adb.set_target_device(dev[0]) print("Executing 'ls' command") adb.shell_command('ls') print("Output:\n%s" % adb.get_output())
def main(): # creates the ADB object adb = ADB() # IMPORTANT: You should supply the absolute path to ADB binary if adb.set_adb_path( '/home/chema/.android-sdks/platform-tools/adb') is True: print("Version: %s" % adb.get_version()) else: print("Check ADB binary path")
def __init__(self, name): vbox = VBOX_MGR.vbox self.session = VBOX_MGR.getSessionObject(vbox) self.vm = vbox.findMachine(name) self.name = name self.adb = ADB('adb') self.ip = '' self.cmd_ip = '' self.network_key = None
def main(): # creates the ADB object adb = ADB() # set ADB path, using a couple of popular addresses. try: adb.set_adb_path('~/android-sdk-linux/platform-tools/adb') except ADB.BadCall: adb.set_adb_path(r'C:\Android\android-sdk\platform-tools\adb.exe') apps, error = adb.shell_command("pm list packages") for app in apps: path, error = adb.shell_command("pm path {}".format(app.split(':')[1])) print(("{}: {}".format(app, path)))
def main(): # creates the ADB object adb = ADB() # IMPORTANT: You should supply the absolute path to ADB binary if adb.set_adb_path('/usr/bin/adb') is True: print("Version: %s" % adb.get_version()) else: print("Check ADB binary path") apps = adb.shell_command("pm list packages") for app in apps: path = adb.shell_command("pm path {}".format(app.split(':')[1])) print("{}: {}".format(app, path))
def get_user_plane_state(): ''' checks aether user plane connectivity with ping to 8.8.8.8 ''' adb = ADB() if adb.set_adb_path(CONF.adb.path) is False: err = "[ERROR]: " + CONF.adb.path + " not found" return State.error, err success, result = _run_adb_shell(adb, ADB_GET_COMMANDS['ping_result']) if not success or result is None: return State.error, result state = State.connected if result == "0" else State.disconnected return state, None
def get_control_plane_state(): ''' check aether control plane works by toggling airplane mode ''' adb = ADB() if adb.set_adb_path(CONF.adb.path) is False: err = "[ERROR]: " + CONF.adb.path + " not found" return State.error, err # get the current airplane mode success, result = _run_adb_shell(adb, ADB_GET_COMMANDS['apn_mode']) if not success or result is None: return State.error, result apn_mode_on = True if result == "1" else False # toggle the airplane mode for command in ADB_APN_COMMANDS.values(): success, result = _run_adb_shell(adb, command) if not success: return State.error, result if not apn_mode_on: success, result = _run_adb_shell(adb, ADB_APN_COMMANDS['toggle']) if not success: return State.error, result # additional wait for UE to fully attach time.sleep(3) # get connection state state = State.connecting.value while state == State.connecting.value: success, result = _run_adb_shell(adb, ADB_GET_COMMANDS['lte_state']) if not success or result is None: return State.error, result state = result.split("=")[1] if not State.has_value(state): return State.error, None return State(state), None
from pyadb import ADB from struct import * import os os_path=os.getcwd() #file_path=raw_input("please input .thumbdata file path:") print "initializing ADB... Please allow the permission on your phone." adb = ADB('/usr/bin/adb') print "Waiting for device..." adb.wait_for_device() print "getting devices list..." error,lst_device=adb.get_devices() print "found " + str(len(lst_device)/2) + " devices." print lst_device #device_id=raw_input("input device id:") print "locating thumbdata files.." thumbfiles=adb.shell_command("ls -a /sdcard/DCIM/.thumbnails/ ") lst_thumb=thumbfiles.split("\n") for item in lst_thumb: if item.find(".thumbdata")!=-1: print "found:" + item print "copying..." #adb.run_cmd("pull /storage/emulated/0/DCIM/.thumbnails/" + item[:-1] + " " + os.getcwd() + "/tmp/" + item[:-1] ) if not os.path.isfile(os.getcwd() + "/tmp/" + item[:-1]): adb.get_remote_file("/sdcard/DCIM/.thumbnails/" + item[:-1] ,os.getcwd() + "/tmp/" + item[:-1] ) print "copy OK!" else: print "cache found. skipping..." print "extracting thumb pictures..." if not os.path.exists(os.getcwd() + "/extract/" + item[:-1] ): # make a new dir
if __name__ == '__main__': parser = argparse.ArgumentParser(description='clean or pull line stickers') parser.add_argument('--clean', action='store_true', help='clean instead') parser.add_argument('--keep', action='store_true', help='keep all pulled stickers') parser.add_argument('--skipadb', action='store_true', help='skip adb pull, just generate html') args = parser.parse_args() with open('stickers.json') as jf: stickers_json = json.load(jf) if not args.skipadb: adb = ADB('{0}/platform-tools/adb'.format(os.environ['ANDROID_HOME'])) if args.clean: adb.shell_command( 'rm -rf /sdcard/Android/data/jp.naver.line.android/stickers') exit(0) print json.dumps(stickers_json, sort_keys=True, indent=2, separators=(',', ': ')) adb.get_remote_file( '/sdcard/Android/data/jp.naver.line.android/stickers', 'stickers') for d in os.listdir('stickers'): if d in stickers_json:
def main(): APKTOOL = "/home/example/Downloads/apktool_2.0.0rc3.jar" # APKTOOL Directory ADBTOOL = "/usr/bin/adb" # ADB Directory print "#################################################################################" print "# APKmole V1.0 #" print "# ADB & APKTool wrapper for application analysis located on an android device #" print "# Author: Stas Volfus #" print "# the author isn't responsible for any damage caused by using this tool #" #" print "#################################################################################" print "\nADB Path: " + ADBTOOL print "APKtool Path: " + APKTOOL print "\n\n[*] Setting up ADB.." adb = ADB() adb.set_adb_path(ADBTOOL) # path to adb.. print "[*] Checking APKTool path..", if os.path.isfile(APKTOOL) is False: print R + "\t[FAILED] - path not found." + W exit(-1) print G + "\t[OK]" + W print "[*] Checking ADB path..", if adb.check_path() is False: print "\t" + R + "\t[FAILED] - ADB path doesn't exists..\n" + W exit(-2) print "\t" + G + "[OK]" + W print "[*] Restarting ADB server..", adb.restart_server() if adb.lastFailed(): print "\t" + R + "[ERROR]" + W exit(-3) print "\t" + G + "[OK]" + W dev = 0 while dev is 0: print "[*] Detecting devices...", error, devices = adb.get_devices() if error is 2: print R + "[-] You haven't enought permissions." + W exit(-3) print "\t" + G + "[OK]" + W dev = 1 if len(devices) == 0: print C + "[-] No devices detected! waiting for devices.." + W adb.wait_for_device() error, devices = adb.get_devices() continue # devices... i = 0 for dev in devices: print "\t%d: %s" % (i, dev) i += 1 #more than one device.. if i > 1: dev = i + 1 while dev < 0 or dev > int(i - 1): print "\n[+] Select target device [0-%d]: " % int(i - 1), dev = int(stdin.readline()) else: dev = 0 try: adb.set_target_device(devices[dev]) except Exception, e: print R + "\n[-] Error:\t- ADB: %s\t - Python: %s" % (adb.get_error(), e.args) exit(-5)
def main(): adb = ADB() # set ADB path adb.set_adb_path('~/android-sdk-linux/platform-tools/adb') print("[+] Using PyADB version %s" % adb.pyadb_version()) # verity ADB path print("[+] Verifying ADB path...", ) if adb.check_path() is False: print("ERROR") exit(-2) print("OK") # print(ADB Version) print("[+] ADB Version: %s" % adb.get_version()) print("") # restart server (may be other instances running) print("[+] Restarting ADB server...") adb.restart_server() if adb.last_failed(): print("\t- ERROR\n") exit(-3) # get detected devices dev = 0 while dev is 0: print("[+] Detecting devices...", ) error, devices = adb.get_devices() if error is 1: # no devices connected print("No devices connected") print("[+] Waiting for devices...") adb.wait_for_device() continue elif error is 2: print("You haven't enought permissions!") exit(-3) print("OK") dev = 1 # this should never be reached if len(devices) == 0: print("[+] No devices detected!") exit(-4) # show detected devices i = 0 for dev in devices: print("\t%d: %s" % (i, dev)) i += 1 # if there are more than one devices, ask to the user to choose one of them if i > 1: dev = i + 1 while dev < 0 or dev > int(i - 1): print("\n[+] Select target device [0-%d]: " % int(i - 1), ) dev = int(stdin.readline()) else: dev = 0 # set target device try: adb.set_target_device(devices[dev]) except Exception as e: print("\n[!] Error:\t- ADB: %s\t - Python: %s" % (adb.get_error(), e.args)) exit(-5) print("\n[+] Using \"%s\" as target device" % devices[dev]) # check if 'su' binary is available print("[+] Looking for 'su' binary: ", ) supath = adb.find_binary("su") if supath is not None: print("%s" % supath) else: print("Error: %s" % adb.get_error()) # 'su' binary has been found if supath is not None: print("[+] Checking if 'su' binary can give root access:") rootid = adb.shell_command('%s -c id' % supath) if adb.last_failed() is False and 'root' in rootid.replace( '(', ')').split(')'): # it can provide root privileges print("\t- Yes") get_whatsapp_root(adb, supath) else: # only have normal-user print("\t- No: %s" % adb.get_error()) get_whatsapp_nonroot(adb) else: get_whatsapp_nonroot(adb) exit(0)
// http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. ''' import numpy as np import os import sys import argparse from pyadb import ADB adb = ADB('adb') PAGE_SIZE = 1024 * 1024 * 4 SIDEBAND_BUF_SIZE = PAGE_SIZE * 2 SAT_HOME = os.environ.get('SAT_HOME') parser = argparse.ArgumentParser(description='sat-panic-fetch fetch crash data from system') parser.add_argument('tracename', nargs='?', default=False, help='Panic trace matching trace filename') parser.add_argument('-p', '--panic', action='store', help='Panic tracing mode: 1=Normal, 2=Hooked(default)', required=False, default=2) args = parser.parse_args() def CrashlogKey(s): return int(s[8:])
def main(): adb = ADB() # set ADB path adb.set_adb_path('~/android-sdk-linux/platform-tools/adb') print "[+] Using PyADB version %s" % adb.pyadb_version() # verity ADB path print "[+] Verifying ADB path...", if adb.check_path() is False: print "ERROR" exit(-2) print "OK" # print ADB Version print "[+] ADB Version: %s" % adb.get_version() print "" # restart server (may be other instances running) print "[+] Restarting ADB server..." adb.restart_server() if adb.lastFailed(): print "\t- ERROR\n" exit(-3) # get detected devices dev = 0 while dev is 0: print "[+] Detecting devices...", error, devices = adb.get_devices() if error is 1: # no devices connected print "No devices connected" print "[+] Waiting for devices..." adb.wait_for_device() continue elif error is 2: print "You haven't enought permissions!" exit(-3) print "OK" dev = 1 # this should never be reached if len(devices) == 0: print "[+] No devices detected!" exit(-4) # show detected devices i = 0 for dev in devices: print "\t%d: %s" % (i, dev) i += 1 # if there are more than one devices, ask to the user to choose one of them if i > 1: dev = i + 1 while dev < 0 or dev > int(i - 1): print "\n[+] Select target device [0-%d]: " % int(i - 1), dev = int(stdin.readline()) else: dev = 0 # set target device try: adb.set_target_device(devices[dev]) except Exception, e: print "\n[!] Error:\t- ADB: %s\t - Python: %s" % (adb.get_error(), e.args) exit(-5)
def main(): logging.basicConfig(level=logging.WARNING) adb = ADB() # set ADB path, using a couple of popular addresses. try: adb.set_adb_path('~/android-sdk-linux/platform-tools/adb') except ADB.BadCall: adb.set_adb_path(r'C:\Android\android-sdk\platform-tools\adb.exe') print("[+] Using PyADB version %s" % adb.pyadb_version()) # verity ADB path print("[+] Verifying ADB path...", end='') if not adb.check_path(): print("ERROR") exit(-2) print("OK") # print ADB Version print("[+] ADB Version: %s" % adb.get_version()) print("") # restart server (may be other instances running) print("[+] Restarting ADB server...") try: adb.restart_server() except Exception as err: print("\t- ERROR\n", err) exit(-3) # get detected devices while True: print("[+] Detecting devices...", end=' ') try: devices = adb.get_devices() except adb.PermissionsError: devices = None print("You haven't enough permissions!") exit(-3) if devices: print("OK") break # no devices connected print("No devices connected") print("[+] Waiting for devices...") adb.wait_for_device() # this should never be reached if len(devices) == 0: print("[+] No devices detected!") exit(-4) # show detected devices i = 0 for dev in devices: print("\t%d: %s" % (i, dev)) i += 1 # if there are more than one devices, ask to the user to choose one of them if i > 1: dev = i + 1 while dev < 0 or dev > int(i - 1): print("\n[+] Select target device [0-%d]: " % int(i - 1), end=' ') dev = int(stdin.readline()) else: dev = 0 # set target device try: adb.set_target_device(devices[dev]) except Exception as e: print("\n[!] Error: " % e) exit(-5) print("\n[+] Using \"%s\" as target device" % devices[dev]) # check if 'su' binary is available print("[+] Looking for 'su' binary: ", end=' ') try: supath = adb.find_binary("su") except ADB.AdbException as err: if str(err) != "'su' was not found": print("Error: %s" % err) exit(-6) supath = None if supath is not None: # 'su' binary has been found print("[+] Checking if 'su' binary can give root access:") try: rootid = adb.shell_command('%s -c id' % supath) if 'root' in rootid.replace('(', ')').split(')'): # it can provide root privileges print("\t- Yes") get_whatsapp_root(adb, supath) else: print("\t- No: %s" % rootid) get_whatsapp_nonroot(adb) except adb.AdbException as err: print("\t- No: %s" % err) get_whatsapp_nonroot(adb) else: print("Not found.") get_whatsapp_nonroot(adb) exit(0)
Receive data from Pupol Server broadcast using TCP/IP connection and establish an connection with Android devices sending shell_command for clicking. This is an inital design. Will need some improvement later. For using adb establishing connection, you need to install pyadb first. ''' import zmq import math import signal from pyadb import ADB from sys import stdin, exit adb = ADB() def signal_handler(signal, frame): adb.kill_server() exit(0) def main(): # reference surface we are going to track surface_name = 'nexus' # error message constant error_message = 'Error occur in extracing gaze locataion' # lowest acceptant level
import Tkinter as Tk import sys import os import glob import re import thread import time workpath = os.path.dirname(sys.argv[0]) fields = "netperf-server", "single-duration", "test-times" if sys.platform.startswith("win"): # the latest version works under windows sys.path.insert(0, os.path.join(workpath, "modules", "pyadb-master")) from pyadb import ADB adb = ADB(os.path.join(workpath, "adb-win", "adb")) elif sys.platform.startswith("linux") or sys.platform.startswith("darwin"): # this old version works under linux sys.path.insert(0, os.path.join(workpath, "modules", "pyadb-81712c4")) from pyadb import ADB adb = None for i in os.environ['PATH'].split(':'): if len(glob.glob(os.path.join(i, "adb"))) > 0: adb = ADB(glob.glob(os.path.join(i, "adb"))[0]) break if adb == None: if sys.platform.startswith("linux"): adb = ADB(os.path.join(workpath, "adb-linux", "adb")) elif sys.platform.startswith("darwin"): adb = ADB(os.path.join(workpath, "adb-darwin", "adb"))