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 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 update_db(): adb = ADB() adb.set_adb_path('adb') adb.connect_remote(smartphone_addr) cmd = "su -c 'cat /data/data/com.android.providers.telephony/databases/mmssms.db > /sdcard/mmssms.db'" adb.shell_command(cmd) adb.get_remote_file('/sdcard/mmssms.db','./') cmd = "su -c 'rm /sdcard/mmssms.db'" adb.shell_command(cmd)
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( '/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 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 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 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 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 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
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(): 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)
for size in self.__size_list: loop = 0 print('=== %s ===\n' % size) fd.writelines('=== %s Size ===\n' % size) while loop < self.__times: self.__adb.shell_command('echo 3 > /proc/sys/vm/drop_caches') perf_out = self.__adb.shell_command( '/data/lmdd if=%s of=internal move=%s fsync=1' % (self.__target_path, size)) print(perf_out) fd.writelines(perf_out) loop = loop + 1 if __name__ == '__main__': adb = ADB() adb.set_adb_path('/home/bigzhang/Android/Sdk/platform-tools/adb') # verity ADB path if adb.check_path() is False: print "ERROR" exit(-2) tester = LmddSpeed(None, None, adb) input_file = open('lmdd_perf_.log', 'wb+') tester.lmdd_header(input_file) tester.prepare_env() tester.lmdd_write(input_file) tester.lmdd_read(input_file) tester.finish()
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)
parser.add_option('-d', '--dest', dest = "target", help = "The target test path, data or sdcard or sdcard1", type = "string") (options, args) = parser.parse_args() # get adb path for config file. adb_conf = open('adb.conf', 'r') adbpath = adb_conf.readlines() adb_conf.close() if adbpath == []: print "Please config ADB PATH!" exit(0) adb = ADB() adb.set_adb_path(adbpath[0]) # verity ADB path if adb.check_path() is False: print "ERROR: ADB PATH NOT Correct." exit(-2) # get detected devices dev = 0 while dev is 0: print "Detecting devices..." , error,devices = adb.get_devices() if len(devices) == 0: print "[+] No devices detected!" print "Waiting for devices..." adb.wait_for_device()
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)
def main(): adb = ADB() # set ADB path adb.set_adb_path('/home/bigzhang/Android/Sdk/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 lmdd_read(self, fd): fd.writelines('=============== lmdd read test ===============\n') for size in self.__size_list: loop = 0 print('=== %s ===\n' %size) fd.writelines('=== %s Size ===\n' %size) while loop < self.__times: self.__adb.shell_command('echo 3 > /proc/sys/vm/drop_caches') perf_out = self.__adb.shell_command('/data/lmdd if=/data/dumb of=internal move=%s fsync=1' % size) print(perf_out) fd.writelines(perf_out) loop = loop + 1 if __name__ == '__main__': adb = ADB() adb.set_adb_path('/home/bigzhang/Android/Sdk/platform-tools/adb') # verity ADB path if adb.check_path() is False: print "ERROR" exit(-2) tester = LmddSpeed(None,None,adb) input_file = open('lmdd_perf_.log', 'wb+') tester.lmdd_header(input_file) tester.prepare_env() tester.lmdd_write(input_file) tester.lmdd_read(input_file) tester.finish()
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)
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)