mirror of
https://github.com/frida/frida-python
synced 2026-06-08 14:16:17 +00:00
Compare commits
46 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c53b453059 | |||
| d467d91e4f | |||
| ed3fdb8ce0 | |||
| 4d4632dbbe | |||
| aab9c4e76f | |||
| 2be19bcdad | |||
| 915c0678bd | |||
| 573a5a7d24 | |||
| 148ca1461d | |||
| 8eb4987563 | |||
| 84c7375044 | |||
| 267d5d555d | |||
| e219e5edbc | |||
| 70aaa04070 | |||
| 463fd65f03 | |||
| 41c3092dfe | |||
| 1b11eeab12 | |||
| 10aad4273c | |||
| d921e98e0c | |||
| 8935cf3651 | |||
| 2e3b9474bf | |||
| 582c2860c0 | |||
| 7c7947ee7c | |||
| 0f68038a10 | |||
| e9a3a37ea1 | |||
| f642de8a6b | |||
| c541ac027c | |||
| facd6756b2 | |||
| f29f486c0d | |||
| 2135414777 | |||
| ba032180c6 | |||
| b29cbcd499 | |||
| 55cdadea6a | |||
| 17d39c725c | |||
| 72f1d651b6 | |||
| 6d5c64d215 | |||
| 2b5f6492a2 | |||
| 316f88974d | |||
| fee73e852b | |||
| 37847fd8c9 | |||
| 7158638eb9 | |||
| 77d9c51109 | |||
| 040fa5536b | |||
| c9226b976a | |||
| d851e4eb6a | |||
| ccea05e00b |
@@ -3,7 +3,5 @@ import frida
|
||||
device = frida.get_usb_device()
|
||||
|
||||
diag = device.open_service("plist:com.apple.mobile.diagnostics_relay")
|
||||
diag.request({"type": "query", "payload": {"Request": "RSDCheckin", "ProtocolVersion": "2", "Label": "Frida"}})
|
||||
diag.request({"type": "read"})
|
||||
diag.request({"type": "query", "payload": {"Request": "Sleep", "WaitForDisconnect": True}})
|
||||
diag.request({"type": "query", "payload": {"Request": "Goodbye"}})
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
import pprint
|
||||
import sys
|
||||
from threading import Thread
|
||||
|
||||
import frida
|
||||
|
||||
|
||||
def main():
|
||||
device = frida.get_usb_device()
|
||||
|
||||
stdout_uuid, stdout_stream = create_stdio_socket(device)
|
||||
stderr_uuid, stderr_stream = create_stdio_socket(device)
|
||||
|
||||
appservice = device.open_service("xpc:com.apple.coredevice.appservice")
|
||||
response = appservice.request(
|
||||
{
|
||||
"CoreDevice.featureIdentifier": "com.apple.coredevice.feature.launchapplication",
|
||||
"CoreDevice.action": {},
|
||||
"CoreDevice.input": {
|
||||
"applicationSpecifier": {
|
||||
"bundleIdentifier": {"_0": "no.oleavr.HelloIOS"},
|
||||
},
|
||||
"options": {
|
||||
"arguments": [],
|
||||
"environmentVariables": {},
|
||||
"standardIOUsesPseudoterminals": True,
|
||||
"startStopped": False,
|
||||
"terminateExisting": True,
|
||||
"user": {"active": True},
|
||||
"platformSpecificOptions": b'<?xml version="1.0" encoding="UTF-8"?><plist version="1.0"><dict/></plist>',
|
||||
},
|
||||
"standardIOIdentifiers": {
|
||||
"standardOutput": ("uuid", stdout_uuid),
|
||||
"standardError": ("uuid", stderr_uuid),
|
||||
},
|
||||
},
|
||||
}
|
||||
)
|
||||
pprint.pp(response)
|
||||
|
||||
workers = set()
|
||||
for stream, sink in {(stdout_stream, sys.stdout), (stderr_stream, sys.stderr)}:
|
||||
t = Thread(target=process_console_output, args=(stream, sink))
|
||||
t.start()
|
||||
workers.add(t)
|
||||
for worker in workers:
|
||||
worker.join()
|
||||
|
||||
|
||||
def create_stdio_socket(device):
|
||||
stream = device.open_channel("tcp:com.apple.coredevice.openstdiosocket")
|
||||
return (stream.read_all(16), stream)
|
||||
|
||||
|
||||
def process_console_output(stream, sink):
|
||||
while True:
|
||||
chunk = stream.read(4096)
|
||||
if not chunk:
|
||||
break
|
||||
sink.write(chunk.decode("utf-8"))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
+183
-195
File diff suppressed because it is too large
Load Diff
+1
-1
Submodule releng updated: b0e46f7b69...631c99ce3f
@@ -1,6 +1,6 @@
|
||||
[wrap-git]
|
||||
url = https://github.com/frida/frida-core.git
|
||||
revision = 16.3.0
|
||||
revision = 16.4.10
|
||||
depth = 1
|
||||
|
||||
[provide]
|
||||
|
||||
Reference in New Issue
Block a user