Radare2 and Frida better together.

Overview

r2frida

Radare2 and Frida better together.

ci

Description

This is a self-contained plugin for radare2 that allows to instrument remote processes using frida.

The radare project brings a complete toolchain for reverse engineering, providing well maintained functionalities and extend its features with other programming languages and tools.

Frida is a dynamic instrumentation toolkit that makes it easy to inspect and manipulate running processes by injecting your own JavaScript, and optionally also communicate with your scripts.

Features

  • Run unmodified Frida scripts (Use the :. command)
  • Execute snippets in C, Javascript or TypeScript in any process
  • Can attach, spawn or launch in local or remote systems
  • List sections, symbols, exports, protocols, classes, methods
  • Search for values in memory inside the agent or from the host
  • Replace method implementations or create hooks with short commands
  • Load libraries and frameworks in the target process
  • Support Dalvik, Java, ObjC, Swift and C interfaces
  • Manipulate file descriptors and environment variables
  • Send signals to the process, continue, breakpoints
  • The r2frida io plugin is also a filesystem fs and debug backend
  • Automate r2 and frida using r2pipe
  • Read/Write process memory
  • Call functions, syscalls and raw code snippets
  • Connect to frida-server via usb or tcp/ip
  • Enumerate apps and processes
  • Trace registers, arguments of functions
  • Tested on x64, arm32 and arm64 for Linux, Windows, macOS, iOS and Android
  • Doesn't require frida to be installed in the host (no need for frida-tools)
  • Extend the r2frida commands with plugins that run in the agent
  • Change page permissions, patch code and data
  • Resolve symbols by name or address and import them as flags into r2
  • Run r2 commands in the host from the agent
  • Use r2 apis and run r2 commands inside the remote target process.
  • Native breakpoints using the :db api
  • Access remote filesystems using the r_fs api.

Installation

The recommended way to install r2frida is via r2pm:

$ r2pm -ci r2frida

Binary builds that don't require compilation will be soon supported in r2pm and r2env. Meanwhile feel free to download the last builds from the Releases page.

Compilation

Dependencies

  • radare2
  • pkg-config (not required on windows)
  • curl or wget
  • make, gcc
  • npm, nodejs (will be soon removed)

In GNU/Debian you will need to install the following packages:

$ sudo apt install -y make gcc libzip-dev nodejs npm curl pkg-config git

Instructions

$ git clone https://github.com/nowsecure/r2frida.git
$ cd r2frida
$ make
$ make user-install

Windows

  • Unzip the radare2 release zip in the root directory of the r2frida source
  • rename it to radare2 (instead of radare2-x.y.z)
  • To make the VS compiler available in PATH run this batch (or r2's preconfigure.bat)
[Visual Studio Path]\VC\Auxiliary\Build\vcvarsall.bat [Your arch]
.\build.bat install

Usage

For testing, use r2 frida://0, as attaching to the pid0 in frida is a special session that runs in local. Now you can run the :? command to get the list of commands available.

$ r2 'frida://?'
r2 frida://[action]/[link]/[device]/[target]
* action = list | apps | attach | spawn | launch
* link   = local | usb | remote host:port
* device = '' | host:port | device-id
* target = pid | appname | process-name | program-in-path | abspath
Local:
* frida://?                        # show this help
* frida://                         # list local processes
* frida://0                        # attach to frida-helper (no spawn needed)
* frida:///usr/local/bin/rax2      # abspath to spawn
* frida://rax2                     # same as above, considering local/bin is in PATH
* frida://spawn/$(program)         # spawn a new process in the current system
* frida://attach/(target)          # attach to target PID in current host
USB:
* frida://list/usb//               # list processes in the first usb device
* frida://apps/usb//               # list apps in the first usb device
* frida://attach/usb//12345        # attach to given pid in the first usb device
* frida://spawn/usb//appname       # spawn an app in the first resolved usb device
* frida://launch/usb//appname      # spawn+resume an app in the first usb device
Remote:
* frida://attach/remote/10.0.0.3:9999/558 # attach to pid 558 on tcp remote frida-server
Environment: (Use the `%` command to change the environment at runtime)
  R2FRIDA_SAFE_IO=0|1              # Workaround a Frida bug on Android/thumb
  R2FRIDA_DEBUG=0|1                # Used to debug argument parsing behaviour
  R2FRIDA_COMPILER_DISABLE=0|1     # Disable the new frida typescript compiler (`:. foo.ts`)
  R2FRIDA_AGENT_SCRIPT=[file]      # path to file of the r2frida agent

Examples

$ r2 frida://0     # same as frida -p 0, connects to a local session

You can attach, spawn or launch to any program by name or pid, The following line will attach to the first process named rax2 (run rax2 - in another terminal to test this line)

$ r2 frida://rax2  # attach to the first process named `rax2`
$ r2 frida://1234  # attach to the given pid

Using the absolute path of a binary to spawn will spawn the process:

$ r2 frida:///bin/ls
[0x00000000]> :dc        # continue the execution of the target program

Also works with arguments:

$ r2 frida://"/bin/ls -al"

For USB debugging iOS/Android apps use these actions. Note that spawn can be replaced with launch or attach, and the process name can be the bundleid or the PID.

$ r2 frida://spawn/usb/         # enumerate devices
$ r2 frida://spawn/usb//        # enumerate apps in the first iOS device
$ r2 frida://spawn/usb//Weather # Run the weather app

Commands

These are the most frequent commands, so you must learn them and suffix it with ? to get subcommands help.

:i        # get information of the target (pid, name, home, arch, bits, ..)
.:i*      # import the target process details into local r2
:?        # show all the available commands
:dm       # list maps. Use ':dm|head' and seek to the program base address
:iE       # list the exports of the current binary (seek)
:dt fread # trace the 'fread' function
:dt-*     # delete all traces

Plugins

r2frida plugins run in the agent side and are registered with the r2frida.pluginRegister API.

See the plugins/ directory for some more example plugin scripts.

[0x00000000]> cat example.js
r2frida.pluginRegister('test', function(name) {
  if (name === 'test') {
    return function(args) {
      console.log('Hello Args From r2frida plugin', args);
      return 'Things Happen';
    }
  }
});
[0x00000000]> :. example.js   # load the plugin script

The :. command works like the r2's . command, but runs inside the agent.

:. a.js  # run script which registers a plugin
:.       # list plugins
:.-test  # unload a plugin by name
:.. a.js # eternalize script (keeps running after detach)

Termux

If you are willing to install and use r2frida natively on Android via Termux, there are some caveats with the library dependencies because of some symbol resolutions. The way to make this work is by extending the LD_LIBRARY_PATH environment to point to the system directory before the termux libdir.

$ LD_LIBRARY_PATH=/system/lib64:$LD_LIBRARY_PATH r2 frida://...

Troubleshooting

Ensure you are using a modern version of r2 (preferibly last release or git).

Run r2 -L | grep frida to verify if the plugin is loaded, if nothing is printed use the R2_DEBUG=1 environment variable to get some debugging messages to find out the reason.

If you have problems compiling r2frida you can use r2env or fetch the release builds from the GitHub releases page, bear in mind that only MAJOR.MINOR version must match, this is r2-5.7.6 can load any plugin compiled on any version between 5.7.0 and 5.7.8.

Design

 +---------+
 | radare2 |     The radare2 tool, on top of the rest
 +---------+
      :
 +----------+
 | io_frida |    r2frida io plugin
 +----------+
      :
 +---------+
 |  frida  |     Frida host APIs and logic to interact with target
 +---------+
      :
  +-------+
  |  app  |      Target process instrumented by Frida with Javascript
  +-------+

Credits

This plugin has been developed by pancake aka Sergi Alvarez (the author of radare2) for NowSecure.

I would like to thank Ole André for writing and maintaining Frida as well as being so kind to proactively fix bugs and discuss technical details on anything needed to make this union to work. Kudos

Comments
  • build error

    build error

    I've tried install through r2pm and git:

    > [email protected] build /root/src/r2frida
    > frida-compile src/agent -o src/_agent.js
    
     frida-compile src/agent -o src/_agent.js
    { [TypeScript error: ../../node_modules/@types/node/index.d.ts(6208,55): Error TS2583: Cannot find name 'Map'. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later.]
      message: '../../node_modules/@types/node/index.d.ts(6208,55): Error TS2583: Cannot find name \'Map\'. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later.',
      fileName: '../../node_modules/@types/node/index.d.ts',
      line: 6208,
      column: 55,
      name: 'TypeScript error',
      inputs: 
       Set {
         '/root/src/r2frida/src/agent/index.js',
         '/root/node_modules/@types/node/index.d.ts',
         '/root/node_modules/@types/node/inspector.d.ts',
         '/root/src/r2frida/node_modules/typescript/lib/lib.d.ts',
         '/root/src/r2frida/node_modules/typescript/lib/lib.es5.d.ts',
         '/root/src/r2frida/node_modules/typescript/lib/lib.dom.d.ts',
         '/root/src/r2frida/node_modules/typescript/lib/lib.webworker.importscripts.d.ts',
         '/root/src/r2frida/node_modules/typescript/lib/lib.scripthost.d.ts' } }
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! [email protected] build: `frida-compile src/agent -o src/_agent.js`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the [email protected] build script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2019-08-02T16_14_26_977Z-debug.log
    

    /root/.npm/_logs/2019-08-02T16_14_26_977Z-debug.log

    0 info it worked if it ends with ok
    1 verbose cli [ '/usr/local/n/versions/node/9.6.1/bin/node',
    1 verbose cli   '/usr/local/bin/npm',
    1 verbose cli   'run',
    1 verbose cli   'build' ]
    2 info using [email protected]
    3 info using [email protected]
    4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
    5 info lifecycle [email protected]~prebuild: [email protected]
    6 info lifecycle [email protected]~build: [email protected]
    7 verbose lifecycle [email protected]~build: unsafe-perm in lifecycle true
    8 verbose lifecycle [email protected]~build: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/root/src/r2frida/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/bin:/opt/radare2/bin:/root/.go/bin:/usr/local/rvm/bin
    9 verbose lifecycle [email protected]~build: CWD: /root/src/r2frida
    10 silly lifecycle [email protected]~build: Args: [ '-c', 'frida-compile src/agent -o src/_agent.js' ]
    11 silly lifecycle [email protected]~build: Returned: code: 1  signal: null
    12 info lifecycle [email protected]~build: Failed to exec build script
    13 verbose stack Error: [email protected] build: `frida-compile src/agent -o src/_agent.js`
    13 verbose stack Exit status 1
    13 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
    13 verbose stack     at EventEmitter.emit (events.js:127:13)
    13 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
    13 verbose stack     at ChildProcess.emit (events.js:127:13)
    13 verbose stack     at maybeClose (internal/child_process.js:933:16)
    13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
    14 verbose pkgid [email protected]
    15 verbose cwd /root/src/r2frida
    16 verbose Linux 4.18.10-rt5
    17 verbose argv "/usr/local/n/versions/node/9.6.1/bin/node" "/usr/local/bin/npm" "run" "build"
    18 verbose node v9.6.1
    19 verbose npm  v5.6.0
    20 error code ELIFECYCLE
    21 error errno 1
    22 error [email protected] build: `frida-compile src/agent -o src/_agent.js`
    22 error Exit status 1
    23 error Failed at the [email protected] build script.
    23 error This is probably not a problem with npm. There is likely additional logging output above.
    24 verbose exit [ 1, true ]
    
    opened by s0i37 23
  • Workaround issue with DebugSymbol

    Workaround issue with DebugSymbol

    Dunno if this is the best solution but I noticed that when using dtf to trace calls instead of

    write 1,"lala\no\n",5
    

    I was getting

    0x7fff98084910 1, "lala\no\n", 5
    

    This can be a hassle when you are tracing many functions. DebugSymbol should be doing this, but as far I know it does not work so is just a dirty workaround.

    If this is not good javascript just tell me quite noob tbh.

    opened by alvarofe 18
  • Frida crashes when listing classes on Android (\ic)

    Frida crashes when listing classes on Android (\ic)

    Setup

    • Frida-server v12.2.12 arm64
    • Mobile: OnePlus3 arm64
    • r2frida compiled with frida 12.2.12 (happened in previous versions too from 12.2.6 till now)
    • Radare2 pulled from git
    • Frida mode: Spawning due to security checks
    • Sample: (required registration) Double obfuscation https://koodous.com/apks/b70d21d1f76d8a6537095e18d2b45131e54c7c2889946a669f7c5ea0a2f78732

    Problem

    The application contains several security mechanisms that must be bypassed in order to list classes using the cmd \ic. Once bypassed, r2frida works okay excepting this command that only crashes in this app.

    Please let me know if you want the agent.js that I am using to reproduce the crash or DM me. If I have time and will try to investigate more. (@oleavr)

    Backtrace

    10-11 00:08:23.002 28474 28492 F libc    : Fatal signal 11 (SIGSEGV), code 2, fault addr 0x7f64ff2000 in tid 28492 (Thread-36)
    10-11 00:08:23.002   455   455 W         : debuggerd: handling request: pid=28474 uid=10121 gid=10121 tid=28492
    10-11 00:08:23.071 29788 29788 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    10-11 00:08:23.071 29788 29788 F DEBUG   : Build fingerprint: 'OnePlus/OnePlus3/OnePlus3:7.0/NRD90M/xxxxx:user/release-keys'
    10-11 00:08:23.071 29788 29788 F DEBUG   : Revision: '0'
    10-11 00:08:23.071 29788 29788 F DEBUG   : ABI: 'arm64'
    10-11 00:08:23.071 29788 29788 F DEBUG   : pid: 28474, tid: 28492, name: Thread-36  >>> com.target.app <<<
    10-11 00:08:23.071 29788 29788 F DEBUG   : signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x7f64ff2000
    10-11 00:08:23.072 29788 29788 F DEBUG   :     x0   0000007f64ff0000  x1   0000007f65000000  x2   0000000000000080  x3   0000000000000040
    10-11 00:08:23.072 29788 29788 F DEBUG   :     x4   0000007f64ff2000  x5   0000007f8cf020e0  x6   0000007f92e1d110  x7   0000000000000002
    10-11 00:08:23.072 29788 29788 F DEBUG   :     x8   00000000000000e2  x9   0000000000001000  x10  0000007f65000000  x11  0000000000000003
    10-11 00:08:23.072 29788 29788 F DEBUG   :     x12  0000007f92e1c7f0  x13  0000007f92e1e400  x14  0000000009855e37  x15  0000000000000007
    10-11 00:08:23.072 29788 29788 F DEBUG   :     x16  0000007f7e87fbc8  x17  0000007f9731e2a8  x18  0000000000000000  x19  0000000000010000
    10-11 00:08:23.072 29788 29788 F DEBUG   :     x20  0000007f64ff0000  x21  0000007f7da7dd50  x22  0000007f8cf02770  x23  0000007f64ff0000
    10-11 00:08:23.072 29788 29788 F DEBUG   :     x24  0000000000010000  x25  000000000000000b  x26  0000000000000f20  x27  0000000000000870
    10-11 00:08:23.072 29788 29788 F DEBUG   :     x28  0000000000000000  x29  0000007f8cf02610  x30  0000007f7da24454
    10-11 00:08:23.072 29788 29788 F DEBUG   :     sp   0000007f8cf025c0  pc   0000007f7e24abcc  pstate 0000000080000000
    10-11 00:08:23.074 29788 29788 F DEBUG   :
    10-11 00:08:23.074 29788 29788 F DEBUG   : backtrace:
    10-11 00:08:23.074 29788 29788 F DEBUG   :     #00 pc 0000000000a1abcc  /data/local/tmp/re.frida.server/frida-agent-64.so
    10-11 00:08:23.074 29788 29788 F DEBUG   :     #01 pc 00000000001f4450  /data/local/tmp/re.frida.server/frida-agent-64.so
    
    opened by enovella 14
  • Problems when compiling r2frida with make

    Problems when compiling r2frida with make

    If r2pm is used to install r2frida no problems are found. However, when compiling the project I encounter this error:

    $ r2 frida:///bin/ls
    [r] Cannot open 'frida:///bin/ls'
    

    If you uninstall it with r2pm, the error is the same:

    $ r2pm -u r2frida
    Already up to date.
    Uninstall Done For r2frida
    rm -f /"/home/edu/.local/share/radare2/plugins/io_frida.so"
    $ r2 frida:///bin/ls
    [r] Cannot open 'frida:///bin/ls'
    

    Therefore, the manual compilation misses something.

    opened by enovella 14
  • r2frida warning when hooking to process

    r2frida warning when hooking to process

    Please help me support the hooking issues of R2frida :(

    Everytime i try to analysis the iOS Application with r2frida, it always return the following issue: r2 frida:///Headbook WARNING: r_bin_open_buf: assertion '(st64)opt->sz >= 0' failed (line 250)

    Information note: Server - Client Frida version: 12.7.26

    When installing the r2frida, i saw it get version 12.7.14. Is it the root cause of the client. I try to manually compile but that is not effective.

    opened by PhanThanhTam0408 11
  • DetachReason: FRIDA_SESSION_DETACH_REASON_PROCESS_TERMINATED

    DetachReason: FRIDA_SESSION_DETACH_REASON_PROCESS_TERMINATED

    Setup: Frida-server v12.8.15 arm64 Mobile: xiaomi5s arm64 Android versio 6.0.1 r2frida compiled with frida 12.8.10 Radare2 pulled from git Macos 10.15.2 Problem: When i use r2 frida://bccd63f3/com.xiaojianbang.app commands to connect my devices,the terminal show as below: DetachReason: FRIDA_SESSION_DETACH_REASON_PROCESS_TERMINATED Target process terminated error: Script is destroyed error: Script is destroyed error: Script is destroyed error: Script is destroyed error: Script is destroyed arning: r_bin_file_hash: file exceeds bin.hashlimit error: Script is destroyed Can you give me some suggestions? i try upgrade android version to 9.0,but the problem still appear

    opened by Dev-Bobbie 10
  • Arm Build installation failed

    Arm Build installation failed

    When I try:

        r2pm -ci r2frida
    

    I get:

    Cleaning r2frida...
    clean Done For r2frida
    /root/.local/share/radare2/r2pm/db/r2frida TGZ=
    Cleaning up /root/.local/share/radare2/r2pm/git/r2frida...
    Cloning into 'r2frida'...
    remote: Enumerating objects: 75, done.
    remote: Counting objects: 100% (75/75), done.
    remote: Compressing objects: 100% (70/70), done.
    remote: Total 75 (delta 1), reused 40 (delta 0), pack-reused 0
    Unpacking objects: 100% (75/75), 136.24 KiB | 593.00 KiB/s, done.
    Submodule 'ext/swift-frida' (https://github.com/trufae/swift-frida.git) registered for path 'ext/swift-frida'
    Cloning into '/root/.local/share/radare2/r2pm/git/r2frida/ext/swift-frida'...
    remote: Enumerating objects: 7, done.        
    remote: Counting objects: 100% (7/7), done.        
    remote: Compressing objects: 100% (5/5), done.        
    remote: Total 683 (delta 2), reused 4 (delta 2), pack-reused 676        
    Receiving objects: 100% (683/683), 269.08 KiB | 601.00 KiB/s, done.
    Resolving deltas: 100% (448/448), done.
    Submodule path 'ext/swift-frida': checked out '4ae3db96fc481507ac12867d0829fe4f12f6ab6f'
    Install Done For r2frida
    ./configure
    checking build system type... armv7l-unknown-linux-gnu
    checking host system type... armv7l-unknown-linux-gnu
    checking target system type... armv7l-unknown-linux-gnu
    checking for working directories... current
    using prefix '/usr/local'
    checking for c compiler... gcc
    checking for c++ compiler... g++
    Using PKGCONFIG: pkg-config
    checking pkg-config flags for r_core... yes
    checking for curl... /usr/bin/curl
    checking for wget... /usr/bin/wget
    checking for git... /usr/bin/git
    checking for xz... /usr/bin/xz
    checking for node... /usr/bin/node
    checking for npm... /usr/bin/npm
    creating ./config.mk
    creating ./config.h
    cleaning temporally files... done
    rm -f ext/frida
    mkdir -p ext/frida-linux-14.0.5/_
    curl -Ls https://github.com/frida/frida/releases/download/14.0.5/frida-core-devkit-14.0.5-linux-arm.tar.xz | xz -d | tar -C ext/frida-linux-14.0.5/_ -xf -
    xz: (stdin): File format not recognized
    tar: This does not look like a tar archive
    tar: Exiting with failure status due to previous errors
    gmake: *** [Makefile:253: ext/frida-linux-14.0.5/libfrida-core.a] Error 2
    

    I am trying to build in raspberry 3.

    Radare version r2 -v radare2 4.6.0-git 25206 @ linux-arm-32 git.4.4.0-870-gcb3d90c6d

    opened by blakkbird9 9
  • Extend \dt* to allow file redirection

    Extend \dt* to allow file redirection

    Trace output can be extensive, it would be nice to have a way to have trace output written to a file. SInce trace output is async, we cannot directly parse the output with r2's json capabilities.

    Should be easy to add, just capturing it here so the thought is not lost.

    opened by hexploitable 9
  • Module version mismatch

    Module version mismatch

    I run and got this error message.

    $r2 frida://usb//2367 Module version mismatch /home/username/.local/share/radare2/plugins/io_frida.so (4.3.0-git) vs (4.2.1) r2pm -ci r2frida [r] Cannot open 'frida://usb//2367'

    I tried both 2 ways to install (git, r2pm) and got the same error.

    opened by sa1g0n1337 9
  • Cannot install on OS X El Capitan

    Cannot install on OS X El Capitan

    Log

    $ r2pm -i r2frida
    ...
    cc -c -I/Users/dukebarman/.config/radare2/prefix//include/ -fPIC  -Iext/frida src/io_frida.c -o src/io_frida.o
    Package r_io was not found in the pkg-config search path.
    Perhaps you should add the directory containing `r_io.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'r_io' found
    Package r_io was not found in the pkg-config search path.
    Perhaps you should add the directory containing `r_io.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'r_io' found
    src/io_frida.c:3:10: fatal error: 'r_io.h' file not found
    #include <r_io.h>
             ^
    1 error generated.
    Makefile:35: recipe for target 'src/io_frida.o' failed
    gmake: *** [src/io_frida.o] Error 1
    Package r_io was not found in the pkg-config search path.
    Perhaps you should add the directory containing `r_io.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'r_io' found
    cc -c -I/Users/dukebarman/.config/radare2/prefix//include/ -fPIC  -Iext/frida src/io_frida.c -o src/io_frida.o
    Package r_io was not found in the pkg-config search path.
    Perhaps you should add the directory containing `r_io.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'r_io' found
    Package r_io was not found in the pkg-config search path.
    Perhaps you should add the directory containing `r_io.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'r_io' found
    src/io_frida.c:3:10: fatal error: 'r_io.h' file not found
    #include <r_io.h>
             ^
    1 error generated.
    Makefile:35: recipe for target 'src/io_frida.o' failed
    gmake: *** [src/io_frida.o] Error 1
    
    opened by dukebarman 9
  • script_error_android10

    script_error_android10

    script_error_android10

    burning@burning-RedmiBook-14-APCS:~$ r2 frida://BH93001BDE/com.android.chrome DetachReason: FRIDA_SESSION_DETACH_REASON_PROCESS_TERMINATED CrashReport: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Build fingerprint: 'KDDI/SOV39_jp_kdi/SOV39:10/52.1.C.0.217/052001C000021700726438165:userdebug/dev-keys' Revision: '0' ABI: 'arm' Timestamp: 2020-04-30 01:25:41+0900 pid: 8225, tid: 16459, name: Thread-4 >>> com.android.chrome <<< uid: 10272 signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xb667b0f8 (*pc=0x71b4f500) r0 b9f8f980 r1 00000008 r2 00000004 r3 d37166b0 r4 d37166b8 r5 00000004 r6 00000008 r7 b9f8f970 r8 b9f8fc10 r9 d3706100 r10 d3596018 r11 b66f402b ip 40000000 sp b9f8f8d0 lr 00000539 pc b667b0f8

    backtrace: #00 pc 001240f8 /data/local/tmp/re.frida.server/frida-agent-32.so

    Target process terminated error: Script is destroyed

    opened by BurningTeng 8
  • Bump json5 and tsconfig-paths

    Bump json5 and tsconfig-paths

    Bumps json5 and tsconfig-paths. These dependencies needed to be updated together. Updates json5 from 1.0.1 to 2.2.3

    Release notes

    Sourced from json5's releases.

    v2.2.3

    v2.2.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)

    v2.2.0

    • New: Accurate and documented TypeScript declarations are now included. There is no need to install @types/json5. (#236, #244)

    v2.1.3 [code, diff]

    • Fix: An out of memory bug when parsing numbers has been fixed. (#228, #229)

    v2.1.2

    • Fix: Bump minimist to v1.2.5. (#222)

    v2.1.1

    • New: package.json and package.json5 include a module property so bundlers like webpack, rollup and parcel can take advantage of the ES Module build. (#208)
    • Fix: stringify outputs \0 as \\x00 when followed by a digit. (#210)
    • Fix: Spelling mistakes have been fixed. (#196)

    v2.1.0

    • New: The index.mjs and index.min.mjs browser builds in the dist directory support ES6 modules. (#187)

    v2.0.1

    • Fix: The browser builds in the dist directory support ES5. (#182)

    v2.0.0

    • Major: JSON5 officially supports Node.js v6 and later. Support for Node.js v4 has been dropped. Since Node.js v6 supports ES5 features, the code has been rewritten in native ES5, and the dependence on Babel has been eliminated.

    • New: Support for Unicode 10 has been added.

    • New: The test framework has been migrated from Mocha to Tap.

    • New: The browser build at dist/index.js is no longer minified by default. A minified version is available at dist/index.min.js. (#181)

    • Fix: The warning has been made clearer when line and paragraph separators are

    ... (truncated)

    Changelog

    Sourced from json5's changelog.

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1 [code, diff]

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)

    v2.2.0 [code, diff]

    • New: Accurate and documented TypeScript declarations are now included. There is no need to install @types/json5. (#236, #244)

    v2.1.3 [code, diff]

    • Fix: An out of memory bug when parsing numbers has been fixed. (#228, #229)

    v2.1.2 [code, diff]

    • Fix: Bump minimist to v1.2.5. (#222)

    v2.1.1 [code, [diff][d2.1.1]]

    ... (truncated)

    Commits
    • c3a7524 2.2.3
    • 94fd06d docs: update CHANGELOG for v2.2.3
    • 3b8cebf docs(security): use GitHub security advisories
    • f0fd9e1 docs: publish a security policy
    • 6a91a05 docs(template): bug -> bug report
    • 14f8cb1 2.2.2
    • 10cc7ca docs: update CHANGELOG for v2.2.2
    • 7774c10 fix: add proto to objects and arrays
    • edde30a Readme: slight tweak to intro
    • 97286f8 Improve example in readme
    • Additional commits viewable in compare view

    Updates tsconfig-paths from 3.9.0 to 3.10.1

    Changelog

    Sourced from tsconfig-paths's changelog.

    [3.10.1] - 2021-07-06

    Fixed

    • Add register.js to published files

    [3.10.0] - 2021-07-06

    Added

    • feat(tsconfig-loader): extends config from node_modules (#106). Thanks to @​zorji for this PR!

    Fixed

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • R2 isn't working on windows

    R2 isn't working on windows

    Here is the installation process : IssueWithDebugger Although i didn't use the VC compiler as written in the instructions . When i write r2 in cmd it 's fine and no errors,but when i write "r2 'frida://0'" i get an error saying "ERROR: Cannot open ''frida://0''" Anybody knows how to solve this ? Also, i downloaded the r2frida-5.7.8-w64 from release ,and put the io-frida.dll file in the radare2 's bin folder,but still the error is there . Any help with this ?

    opened by Abdelrahmanamhawy 7
  • Android: Improve `:dm` to find DEX files mapped in memory

    Android: Improve `:dm` to find DEX files mapped in memory

    image

    image

    R2Frida memory maps listing doesn't show up the filetype

    [0x00000000]> :dm~0x7baa1dd000
    [0x00000000]> :dm~7baa1dd000
    0x0000007baa1bd000 - 0x0000007baa1dd000 rw-
    0x0000007baa1dd000 - 0x0000007baa1fe000 r--
    [0x00000000]> x 16 @ 0x7baa1dd000
    - offset -     0 1  2 3  4 5  6 7  8 9  A B  C D  E F  0123456789ABCDEF
    0x7baa1dd000  6465 780a 3033 3700 4283 41de bc18 0649  dex.037.B.A....I
    [0x00000000]> x 16 @ 0x7c2cc71000
    - offset -     0 1  2 3  4 5  6 7  8 9  A B  C D  E F  0123456789ABCDEF
    0x7c2cc71000  6465 780a 3033 3700 66ce 2964 f478 4193  dex.037.f.)d.xA.
    [0x00000000]> :dm~7c2cc71000
    0x0000007c2cc70000 - 0x0000007c2cc71000 r-- /apex/com.android.art/lib64/libopenjdkjvm.so
    0x0000007c2cc71000 - 0x0000007c2cc75000 r--
    

    DEX files in memory maps

    $ adb shell
    $ grep dalvik-DEX /proc/25943/maps
    7b8cf77000-7b8cf89000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7bab48e000-7bab4af000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c1cfb0000-7c1cfc0000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c1d203000-7c1d21c000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c1d220000-7c1d224000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c23d19000-7c23d21000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c24a73000-7c24a79000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c24fa3000-7c24fa7000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c2c566000-7c2c56a000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c2c998000-7c2c99c000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c2cc3a000-7c2cc3e000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c2cc71000-7c2cc75000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c2e4fe000-7c2e502000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c2e531000-7c2e535000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c2e6c0000-7c2e6c4000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    7c2e71c000-7c2e720000 r--p 00000000 00:00 0                              [anon:dalvik-DEX data]
    

    Workaround

    image

    opened by enovella 0
  • Search `:/` spits out an error: ReferenceError: 'process' is not defined

    Search `:/` spits out an error: ReferenceError: 'process' is not defined

     -- I accidentally radared my filesystem today.
    [0x00000000]> :dc
    INFO: resumed spawned process
    [0x00000000]> :/
    ERROR: Unhandled message: {"type":"error","description":"ReferenceError: 'process' is not defined","stack":"ReferenceError: 'process' is not defined\n    at h (/lib/r2.js:1)\n    at e (/index.js:1)\n    at <anonymous> (frida/runtime/message-dispatcher.js:53)\n    at i (frida/runtime/message-dispatcher.js:39)\n    at forEach (native)\n    at s (frida/runtime/message-dispatcher.js:29)\n    at c (frida/runtime/message-dispatcher.js:23)","fileName":"/lib/r2.js","lineNumber":1,"columnNumber":1}
    
    opened by enovella 0
Releases(5.7.8)
  • v5.7.2(Jul 24, 2022)

  • v5.7.0(May 31, 2022)

    • Update Frida 15.1.23 to support Android 12
    • hook.backtrace=false by default
    • Expose modulename boundaries as flags to handle search.in=flag in r2
    • Support building without wget installed (curl also works as fallback if available)
    • Update node dependencies for security reasons
    • Support 5.7.0 API/ABI changes (Still compatible with 5.6.x)
    • Fix deadlock caused on reloading a session
    • Update precompiled agent
    Source code(tar.gz)
    Source code(zip)
    r2frida-5.7.0-w64.zip(20.86 MB)
    r2frida-5.7.0.pkg(14.84 MB)
    r2frida_5.7.0_amd64.deb(34.16 MB)
    _agent.js(167.06 KB)
  • v5.6.2(Mar 9, 2022)

    • Fix deadlock when attaching a second instance to the same target process
    • Fix null derefs and improve error handling in all message passing functions
    • Add r2frida.puts helper for local logging
    • Dont fill with empty rows the output of :i
    • Parse macho stubs and provide plt flags for the imports
    • Fix symbol names (sym.sec.main -> sym.main)
    • Fix reloc flag names on darwin targets
    • Update to Frida 15.1.17
    Source code(tar.gz)
    Source code(zip)
    _agent.js(166.99 KB)
  • v5.6.0(Mar 9, 2022)

  • v5.5.6(Jan 10, 2022)

    • Add allow.swift eval var (disabled by default) to fix crash caused on some protected iOS apps
    • Fix :e getter issue when retrieving boolean values
    • Improve flag and command sanitizes, fixes anoying error messages on .:init* and :dmm*
    • Fix null derefs on message parsing
    • Consider any Android api to be missing at init time (let r2frida debug kitkat devices)

    Thanks to @enovella @as0ler @apkunpacker and @trufae for contributing to this release!

    Source code(tar.gz)
    Source code(zip)
  • v5.5.4(Dec 16, 2021)

    • Add --with-precompiled-agent configure option flag
    • Sanitize flagnames for iE, il and others
    • il output now shows library end address (derived from size)
    • Update to the latest Frida 15.1.14
    • Speedup file transfer limits, raising the mtu to 4MB
    Source code(tar.gz)
    Source code(zip)
    _agent.js(162.77 KB)
  • v5.5.0(Nov 15, 2021)

  • v5.4.4(Sep 22, 2021)

    • Fix uninitialized T issue
    • Add remote logging feature via TCP
    • Add ansi and utf16 string types for the dtf command (thanks @unabomber78 !)
    • Fix global Swift object issue when using Frida15.0 or below
    • Remove the swift-frida submodule
    • Add intercept logic for java: and fix di0/dif0 behaviour (thanks @as0ler !)
    Source code(tar.gz)
    Source code(zip)
  • v5.4.2(Sep 22, 2021)

    • Support unnamed methods for Swift
    • Add the :t* command to import swift data types into r2
    • Suggest the use of : instead of =!
    • Added support for the new Swift APIs as commands, starting on Frida 15.1
    • Fix script name to make error messages more readable
    • Fix crash when spawning apps on iOS caused by running ObjC code in suspend state
    • Update to use Frida 15.1
    Source code(tar.gz)
    Source code(zip)
  • v5.4.0(Aug 20, 2021)

    General

    • Improved GNUBoy plugin example with stepping support
    • Android supports attaching by pkgid instead of processid or processname ( kudos @as0ler )
    • Fix null deref and UAF bugs that were causing random crashes
    • Fix a bug in :dmm that was causing some regions to be hidden
    • :i on iOS now shows several more useful paths like tmpdir, bundledir and homedir
    • Support r2 command execution in queue mode using the new &w command

    New Commands

    • Implement :?E command for agent-side alerts() useful for demos
    • New ich command to list classes as Frida hook script syntax
    • Improved afs command to import function signatures for ObjC methods into r2
    • The dxo command now assumes last instance when calling a method without passing this
    • Support float and double types in dxc and dxo commands
    • Added icw, icv, ics and ica commands to list classes and modules
    • Added /i and /ij to search for objc and java class instances

    Build stuff

    • make install now puts the plugin system wide. Use make user-install for the old default behaviour
    • Switch to the latest Frida 15.0.16
    Source code(tar.gz)
    Source code(zip)
  • v5.3.0(May 31, 2021)

    • Improve java trace output readability
    • Backslash command has been deprecated in r2. Use =! everywhere
    • Add dii command to inject integers
    • Load =!dmm* in =!init
    • Fix =!pd
    • Fix build for android-arm32
    Source code(tar.gz)
    Source code(zip)
  • v5.2.1(May 18, 2021)

    • Fix bug where traceMessage didnt exist in the javatraceret function (android only) =!dtf
    • Show iOS app details (app name, bundle id, version, app home directory, ...) in =!i
    • Update to the latest Frida 14.2.18
    • Fix packaging scripts for Windows, macOS and Ubuntu
    Source code(tar.gz)
    Source code(zip)
  • v5.1.3(Mar 26, 2021)

    • Upgrade to Frida 14.2.14 and frida-compiler-G10.1
    • Use the RTable API to list apps/processes/devices
    • Remove unused mjolner dependency
    • Fix regression on spawn/launch
    Source code(tar.gz)
    Source code(zip)
  • v5.1.1(Feb 24, 2021)

    • Guard ObjC references when the runtime is available
    • Add =!e symbols.module to workaround a bug in Frida for Android
    • Update to the latest Frida 14.2.12
    • Fix build on Termux
    • Filter special chars from flags from all symbols/methods to avoid code injection vuln
    • Fix oLj command to let frida:// to be picked from r2cutter
    Source code(tar.gz)
    Source code(zip)
  • continuous(Mar 14, 2021)

  • v5.0.0(Dec 14, 2020)

    • Upgrade to Frida14
    • Rewrite the URI parser and add tests for it
    • Add R2FRIDA_DEBUG env to test it
    • Remove CYLANG
    • Use r2 instead of xxd
    • SafeIO workaround removed as its not needed with Frida14
    • Fix several issues in the host and agent sides.
    Source code(tar.gz)
    Source code(zip)
  • 4.4.0(May 2, 2020)

  • v4.3.1(Mar 5, 2020)

  • v4.2.0(Jan 23, 2020)

    • Upgrade to Frida 12.8.8 (and r2pipe and frida-compile dependencies)
    • Make breakpoints work in the right way (initial implementation)
    • Add the new .. command to eternalize scripts in the agent side
    • Make use of the new .pkgname field of LibStruct to make r2pm happy
    • Add 's' command in the agent side to avoid having to use backticks in r2
    • Fixed some null derefs in the JSON parser in the host side
    Source code(tar.gz)
    Source code(zip)
  • v4.0.0(Oct 28, 2019)

  • v3.9.0(Sep 20, 2019)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v3.8.0(Sep 3, 2019)

    • 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)
    Source code(tar.gz)
    Source code(zip)
  • v3.7.0(Sep 3, 2019)

    • 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
    Source code(tar.gz)
    Source code(zip)
  • v3.6.0(Sep 3, 2019)

    • 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)
    Source code(tar.gz)
    Source code(zip)
  • v3.5.1(Sep 3, 2019)

    • 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)
    Source code(tar.gz)
    Source code(zip)
  • v3.4.1(Apr 9, 2019)

    • 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
    Source code(tar.gz)
    Source code(zip)
    r2frida_3.4.1_amd64.deb(23.22 MB)
  • v3.4.0(Apr 2, 2019)

    Without the following people, that release wouldn't be here. Thanks!

    • Francesco Tamagni @mrmacete
    • Eduardo Novella @enovella
    • Ole Andre @oleavr
    • Sergi Àlvarez @trufae

    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
    Source code(tar.gz)
    Source code(zip)
    r2frida_3.4.0_amd64.deb(23.23 MB)
Owner
NowSecure
We secure Mobile Devices, Enterprises, & Mobile Apps
NowSecure
Using CoreLocation and MapKit Together

Using_CoreLocation_and_MapKit_Together CoreLocation and Mapkit were used togethe

S.Tunahan ÜSTÜNTEPE 1 Sep 13, 2022
React Native utility library around image and video files for getting metadata like MIME type, timestamp, duration, and dimensions. Works on iOS and Android using Java and Obj-C, instead of Node 🚀.

Qeepsake React Native File Utils Extracts information from image and video files including MIME type, duration (video), dimensions, and timestamp. The

Qeepsake 12 Oct 19, 2022
LinkedLog is a Xcode plugin that includes a Xcode PCH header file template that adds the macros `LLog` and `LLogF` and parses their output to link from the console to the corresponding file and line.

LinkedLog Xcode Plugin LinkedLog is a Xcode plugin that includes a Xcode PCH file template that adds the macros LLog and LLogF. The LLog macro will wo

Julian F. Weinert 22 Nov 14, 2022
BioViewer - Protein (.pdb, .cif and .fasta) viewer for iPhone, iPad and Mac, using SwiftUI + SceneKit

BioViewer - Protein (.pdb, .cif and .fasta) viewer for iPhone, iPad and Mac, using SwiftUI + SceneKit

Raúl Montón 16 Dec 21, 2022
Custom MacBook login screen and pam modules using multipeer connectivity and usb hardware checks with iOS app for sign in.

Custom MacBook login screen and pam modules using multipeer connectivity and usb hardware checks with iOS app for sign in.

null 2 Aug 17, 2022
A simple, reliable and scalable delivery API for transactional push notifications for websites and applications

Catapush is a simple, reliable and scalable delivery API for transactional push notifications for websites and applications. Ideal for sending data-dr

Catapush 0 Dec 29, 2021
Kotlin Multiplatform sample with SwiftUI and Compose (Desktop and Android) clients. Heavily inspired by Wordle game.

WordMasterKMP Kotlin Multiplatform sample heavily inspired by Wordle game and also Word Master and wordle-solver samples. The main game logic/state is

John O'Reilly 56 Oct 4, 2022
Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. Forum: https://discourse.joplinapp.org/

Joplin® is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are sea

Laurent 33.7k Dec 30, 2022
KnockToReact is an iOS library written in Swift and Objective-C that brings an exclusive feature to interact with users just by receiving and recognizing "knocks" in the device.

KnockToReact is an iOS library written in Swift and Objective-C that brings an exclusive feature to interact with users just by receiving and recognizing "knocks" in the device.

Matheus Cavalca 25 Feb 10, 2022
Blazing⚡️Fast BTC and ETH Wallet Generator library for React Native, Android and iOS

Blazing ⚡️ Fast BTC and ETH Wallet Generator library for React Native, Android and iOS.

Coingrig 3 Feb 21, 2022
Pendo captures product usage data, gathers user feedback, and lets you communicate in-app to onboard, educate, and guide users to value

Pendo SDK for IOS The Pendo Mobile SDK is a code-less, retro-active analytics collector across all of your app's versions. The SDK also allows present

Pendo 30 Jan 4, 2023
Free and open source manga reader for iOS and iPadOS.

Aidoku A free and open source manga reading application for iOS and iPadOS. Features Ad free Robust WASM source system Online reading through external

null 421 Jan 2, 2023
XCSnippetsApp - macOS application to explore code snippets from the Swift and iOS community, view and edit the snippets before adding them conveniently to Xcode

XCSnippetsApp macOS application to explore code snippets from the Swift and iOS community, view and edit the snippets before adding them conveniently

Marco Eidinger 119 Dec 27, 2022
Fridax enables you to read variables and intercept/hook functions in Xamarin/Mono JIT and AOT compiled iOS/Android applications.

Fridax is a Node package for dealing with Xamarin applications while using the Frida API. Goal • Installation • Usage • Examples • Issues • License Bu

Northwave 125 Jan 3, 2023
A Swift package that provides convenient Lorem Ipsum text, images, colors and other placeholders for rapidly prototyping, building and testing your iOS applications.

Lorem Introducing Lorem, a placeholder generator library for iOS to help you rapidly prototype, build and test your iOS applications. By leveraging Sw

Thirdfort Limited 10 Dec 5, 2022
AuroraEditor is a IDE built by the community, for the community, and written in Swift for the best native performance and feel for macOS.

AuroraEditor AuroraEditor is a IDE built by the community, for the community, and written in Swift for the best native performance and feel for macOS.

Aurora Editor 704 Jan 8, 2023
Example how to make, update and end Live Activity. With Dynamic Island and Lock Screen.

Live Activity Example Example how to make, update and end Live Activity. With Dynamic Island and Lock Screen. Full tutorial available at sparrowcode.i

Sparrow Code 9 Dec 8, 2022
Command line tool for exporting resources and generating code from your Figma files

Fugen Fugen is a command line tool for exporting resources and generating code from your Figma files. Currently, Fugen supports the following entities

Almaz Ibragimov 69 Dec 17, 2022
OpenAPI/Swagger 3.0 Parser and Swift code generator

SwagGen SwagGen is a library and command line tool for parsing and generating code for OpenAPI/Swagger 3.0 specs, completely written in Swift. Swagger

Yonas Kolb 568 Jan 5, 2023