this commit contains many changes. the most important of which
is a completely rewritten Agent class, improving support for
early instrumentation.
pre this commit, because we we're injecting the frida gadget in
target applications, we expected communications to occur over
a tcp socket. as far back as frida 12.7+ support injecting the
frida-server into applications that are debuggable vastly
simplifies this process in jailed environments. as such, we can
use normal "usb" comms, and thereby more closely follow the
same logic as found in frida-* tools.
a small changelog for all the changes:
- remove the get_device_info() call that relied on frida scripts
to get information about the platform. instead we're now using
device.query_system_parameters()
- replace the old `explore` command with a new `start` command
- support spawning new applications
- support attaching to the frontmost application
- support enabling the node debug port, accessible via the chrome
debugger
- support immediately resuming apps
- replace os with pathlib in some places
- remove the `objection device_type` command
- add the `resume` repl command to resume apps
- add a prompt token to show the current process state (pause/run)
no tests were fixed, so expect most of them to fail :P
related issues: #473, #474
For free accounts, the bundleid needs to be set.
(see: nowsecure/node-applesign#113). A hecky fix to shell out and
grep that out of the mobile provision is added. It can also be
manually set to something else with the `--bundle-id` flags.
Fixes#434
This commit makes smart decoding optional, adding the --smart
flag to the ios keychain dump command. Data will be decoded as
UTF8 strings by default now.
Fixes#230 and #238.
This commit adds a few improvements after landing #214. Those are:
- Allow for the REPL to complete loading in case of a plugin
loading error.
- Tweak Fridascript discovery, allowing for a script to be
strictly specified, read from a file, or discovered next to the
plugin file as index.js.
- Add debug information to aid in plugin development.
- Allow for custom handlers for the 'message' signal.
- Add an example plugin to use in unit testing later.
This commit introduces the --offsets-only which controls the
output produced by the memory search command. Without the new
flag, small hexdumps of matched memory regions would be displayed.