v3.4.0
Without the following people, that release wouldn't be here. Thanks!
Tested platforms:
- iOS 9..12
- Android 7
- macOS Mojave
- Linux (ArchLinux / Ubuntu)
Release Highlights:
- New URI scheme handler!
r2 frida://[action]/[target]
* target = process-id | process-name | app-name
* program = find-in-path | absolute-path
* peer = ip-address:port
Examples:
* frida://spawn/$(program)
* frida://attach/(target)
* frida://usb/$(device)/$(target)
* frida://remote/$(peer)/$(target)
- Commands use better strategies to resolve flag/symbol/class/methods
- Handle objc: prefix to fuzzily resolve class+method like its done for java:
- Show filename of the opened filedescriptors by the target process in \dd)
- Traces now have a hit counter
- Add \ie command to get the entrypoint (not working on all targets)
- e hook.backtrace=true records the backtrace on each tracehit
- e hook.verbose=false makes tracelogs dont trash the terminal
- Fixed crash when passing NULL to Frida API in dl2 command
- Integrate the remote filesystem support
- Listing imports/symbols/exports/... depends on the current seek
- Non-'A' commands (isa vs isA), .. only search in the current module or in exports, to avoid bottlenecks.
- Tracelogs are now saved in JSON (with a plaintext renderer) and managed via
dtl
command - Load map boundaries into r2 via the .\e/ command
- Add automatic sub-command help messages (appending a '?' must always show help)
- Improve the \dkr command to get the crashlog from iOS/Android when the process dies
- Resolve thread names for Linux/Android and macOS/iOS in \dpt
Other
- Full rewrite of dt, dtf, dtr and dth commands
- Do not use the old Sync() methods in the agent side
- Use different memory read strategy to circumvent a bug in Frida, may be slower in some situations, but at least it always read the actual data.
- New commands: \e* \il* \init \dbj \s
- Upgrade to Frida 12.4.7
- Upgrade babel, colors, r2pipe
- Enable Travis