Fixed the order of frida calls to avoid problems with slow launching

apps
This commit is contained in:
Cameron Lowell Palmer 2018-02-07 14:38:26 +01:00
parent 8197901475
commit 43ff89b186
1 changed files with 5 additions and 6 deletions

11
dump.py
View File

@ -250,18 +250,17 @@ def open_target_app(device, name_or_bundleid):
try: try:
pid = device.spawn([bundle_identifier]) pid = device.spawn([bundle_identifier])
session = device.attach(pid)
device.resume(pid) device.resume(pid)
time.sleep(1)
except Exception as e: except Exception as e:
print e print e
return pid, display_name, bundle_identifier return session, display_name, bundle_identifier
def start_dump(device, pid, ipa_name): def start_dump(session, ipa_name):
print 'Dumping {} to {}'.format(display_name, TEMP_DIR) print 'Dumping {} to {}'.format(display_name, TEMP_DIR)
session = device.attach(pid)
script = load_js_file(session, DUMP_JS) script = load_js_file(session, DUMP_JS)
script.post('dump') script.post('dump')
finished.wait() finished.wait()
@ -295,11 +294,11 @@ if __name__ == '__main__':
ssh.connect(Host, port=Port, username=User, password=Password) ssh.connect(Host, port=Port, username=User, password=Password)
create_dir(PAYLOAD_PATH) create_dir(PAYLOAD_PATH)
(pid, display_name, bundle_identifier) = open_target_app(device, name_or_bundleid) (session, display_name, bundle_identifier) = open_target_app(device, name_or_bundleid)
if output_ipa is None: if output_ipa is None:
output_ipa = display_name output_ipa = display_name
output_ipa = re.sub('\.ipa$', '', output_ipa) output_ipa = re.sub('\.ipa$', '', output_ipa)
start_dump(device, pid, output_ipa) start_dump(session, output_ipa)
except paramiko.ssh_exception.NoValidConnectionsError as e: except paramiko.ssh_exception.NoValidConnectionsError as e:
print e print e
exit_code = 1 exit_code = 1