Skip to content

Releases: nowsecure/r2frida

Release r2frida-4.0.0 - Ready for frida-12.7.14 + r2-4.0.0

16 Jul 17:01
Compare
Choose a tag to compare

3.9.0

16 Jul 17:01
Compare
Choose a tag to compare
  • Upgrade to Frida 12.7.4
  • Add support for the CModule (to run C code in agent side)
  • Fix some typos and module:objc issue
  • In sync with r2-3.9

3.8.0

16 Jul 17:01
Compare
Choose a tag to compare
  • Fix #191 - \dkr uses getPtr to support $$ (#192)
  • Add missing 'r' command in help and add minor alphabetic sorting
  • Improve help, init command and autocompletations (#187)
  • Fix undefined regprofile issue on android-ia32
  • Update dependencies
  • Do not polute on ios with undefined jnienv flag
  • Add support for empty command initialization (no more .=!i* by hand)
  • use getPtr for intercept api to allow for $$ resolution (#186)
  • Update the seek in the agent side for every command
  • Some fixes for java method tracing
  • Fix lastIndexOf issue in filemap.js
  • Add filemap plugin
  • Fix 'get' r_fs command (mode arg was never passed)

v3.7.0

16 Jul 17:01
Compare
Choose a tag to compare
  • Update dependencies
  • Add swift-frida as a submodule
  • Add support for Java class constructor tracing and arguments dumping
  • Show androidid in \i
  • Fix dt java: method tracing
  • Add icn and iAn to list java native method names
  • hide getConstructors warning in ic
  • Add jnienv in i*
  • Add initial support for Swift (demangling via \swiD)
  • Fix \iAs command
  • Re-introduce the check for fs.io commands
  • Expose ranges and scan to plugins
  • Add java.wait config var to use Java.perform or Java.performNow
  • Add inject-exit.js syscall injection example
  • Fix installation via r2pm and missed quote
  • Add missing newlines here and there
  • Fix method listing in java objects
  • Fix #143 - Initial implementation of \iz and \izj
  • Minor improvements in the java info code
  • Add the R2FRIDA_AGENT_SCRIPT env var to use instead of the embedded one
  • Fix #160 - \cat works with /proc/cpuinfo
  • Fix #162 - Enumerate installed apps via frida://spawn/usb//
  • Fix #161 - Implement j command to run java expressions in the agent
  • Fix Travis badge
  • Semistandard and try/catch another Java block
  • Fix some null deref regressions
  • Create build script for Windows

v3.6.0

16 Jul 17:02
Compare
Choose a tag to compare
  • Use RCons.printf() instead of eprintf() to enumerate devices/processes
  • Fix two potential heap corruptions
  • Implement native enumeration of devices and processes
  • Initial implementaion of the javaUse helper for user input code
  • Print whats coming from m* commands
  • Add some more useful paths in \i for Android
  • Wire up dataDir in \i (#157)
  • Add pwd and fix some warnings related to remote filesystem
  • Fix exception in charAt with invalid offset
  • Fix chcon warning and add jniEnv pointer in \i
  • Add chcon command to change SELinux context and use Module.load() in dlopen() (#1
  • Implement icL command to enumerate all the classLoaders available
  • Iterate over all the class loaders to inspect methods on Android
  • Fix #154 - Add cacheDir on Android targets
  • Fix method/fields enumeration in Android targets
  • Add try/catch around the initialization dlopen() for Darwin platforms
  • Port dlopen command to use Module.load() (#149)
  • Update package-lock.json
  • Alphabetically sort the commands in the root help message
  • Drop undefineds from the hookurl list
  • Remove debug messages
  • Implement \r command to run r2 commands inside a process with injected libr.dylib
  • Add symbols.unredact config variable (#144)

v3.5.1

16 Jul 17:02
Compare
Choose a tag to compare
  • Fixed the interceptRet function (#142)
  • Minor refactor and fix length warning when using just a backslash
  • Add hook-urls plugin
  • Add test for dlopen and search
  • Improve dmp with r2 numbers and a help message
  • Fix write on non-executable regions
  • Fix \dr
  • Add \dis command and make \di work on Android
  • Fix onComplete warning on Android
  • Implement new icl/iclj command to list loaded classes (objc only)
  • Fix search
  • Add ptr/page-size, codesign and debugger info in \i
  • Bring back the frida-ps in the usb uri handler and better help
  • Implement dtq and dtlq
  • Fix GNU/Linux build
  • Improve help message in frida://?
  • Implement drr (dump registers recursively)

v3.4.1

16 Jul 17:02
Compare
Choose a tag to compare
  • Several fixes and improvements in the new URI handler
  • Supports attach on apps via usb without specifying usb-id
  • Initial implementation of the testsuite
  • Add help message for \dxc and improve argument parsing
  • Support the funny hat ^ in the objc: name resolver
  • Rollback to Frida 12.4.0 for stability reasons
  • Honor modulename as argument to \ii \il \is \iE ..
  • Make \dpj print JSON

v3.4.0

16 Jul 17:02
Compare
Choose a tag to compare

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

v3.3.0

16 Jul 17:02
Compare
Choose a tag to compare
  • Upgrade to Frida 12.4.0
  • Add support to build the plugin with ASAN
  • Fix async issues and honor promises to make some commands blockings
  • Simplify some code after fixing the babel support and use more es6
  • Add d. command to start the chrome debugserver about:inspect
  • Enable V8 by default (R2FRIDA_DISABLE_V8 env var will switch back to Duktape)
  • Improvements in the makefile
  • Fix some crashes when receiving invalid JSON objects
  • Fix Debian builds

v2.9.0

16 Jul 17:03
Compare
Choose a tag to compare
  • Fix tracegraph
  • Upgrade Frida 12.2.1