Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am oleavr on github.
  • I am oleavr (https://keybase.io/oleavr) on keybase.
  • I have a public key whose fingerprint is 4C04 3651 FBE7 3BE0 A755 1F4C EE8B 45E9 7675 076F

To claim this, I am signing this object:

@oleavr
oleavr / frida-core-1.0.vapi
Created February 18, 2015 01:38
The frida-core VAPI consumed by bindings
[CCode (cheader_filename = "frida-core.h", cprefix = "Frida", lower_case_cprefix = "frida_")]
namespace Frida {
public static void init ();
public static void shutdown ();
public static void deinit ();
public static unowned GLib.MainContext get_main_context ();
public enum DeviceType {
LOCAL,
TETHER,
@oleavr
oleavr / gist:47d02312ea5676677a53
Created June 3, 2015 00:52
ObjC class creation API draft 1
const NSAutoreleasePool = ObjC.classes.NSAutoreleasePool;
const pool = NSAutoreleasePool.alloc().init();
const MyConnectionDelegateProxy = ObjC.registerClass({
name: 'MyConnectionDelegateProxy',
protocols: [ObjC.protocols.NSURLConnectionDelegate, ObjC.protocols.NSURLConnectionDataDelegate],
methods: {
'- connection:didReceiveResponse:': {
retType: 'void',
argTypes: ['object', 'object'],
implementation: function (connection, response) {
@oleavr
oleavr / gist:8c24293c53f9ea8c07bd
Created June 3, 2015 19:41
ObjC class creation API draft 2
const NSAutoreleasePool = ObjC.classes.NSAutoreleasePool;
const pool = NSAutoreleasePool.alloc().init();
const NSObject = ObjC.classes.NSObject;
const NSURLConnectionDataDelegate = ObjC.protocols.NSURLConnectionDataDelegate;
const MyConnectionDelegateProxy = ObjC.registerClass({
name: 'MyConnectionDelegateProxy',
parent: NSObject,
protocols: [NSURLConnectionDataDelegate],
overrides: {
@oleavr
oleavr / gist:dfd568c2fb3315f3a7fc
Last active August 29, 2015 14:22
ObjC class creation API draft 3
const NSObject = ObjC.classes.NSObject;
const NSURLConnectionDataDelegate = ObjC.protocols.NSURLConnectionDataDelegate;
const MyConnectionDelegateProxy = ObjC.registerClass({
name: 'MyConnectionDelegateProxy',
super: NSObject,
protocols: [NSURLConnectionDataDelegate],
methods: {
'- init': function () {
console.log('- init');
const self = this.super.init();
diff --git a/glib/Makefile.am b/glib/Makefile.am
index e022c30..8a1f942 100644
--- a/glib/Makefile.am
+++ b/glib/Makefile.am
@@ -209,6 +209,8 @@ libglib_2_0_la_SOURCES = \
gwakeup.c \
gprintf.c \
gprintfint.h \
+ frida-log.c \
+ frida-log.h \
@oleavr
oleavr / rpc.js
Last active August 29, 2015 14:26
RPC
#!/usr/bin/env iojs --harmony_arrow_functions
'use strict';
const co = require('co');
const frida = require('frida');
co(function *() {
const session = yield frida.attach('cat');
const script = yield session.createScript('(' +
agent.toString() + ').call(this);');
@oleavr
oleavr / frida-5.0
Last active September 17, 2015 00:36
Frida 5.0
$ frida-ls-devices
Id Type Name
---------------------------------------- ------ ---------------------------------------------------------
local local Local System
emulator-5554 tether Android Emulator 5554
192.168.57.101:5555 tether Genymotion Samsung Galaxy S5 - 4.4.4 - API 19 - 1080x1920
03157df369703a2a tether Samsung SM-G925F
af87839fdec193814e23a59a867d02d08f4a6e1d tether iPhone
tcp remote Local TCP
$ frida-ps -D 03157df369703a2a
@oleavr
oleavr / keybase.md
Last active September 27, 2015 18:28
keybase.md

Keybase proof

I hereby claim:

  • I am oleavr on github.
  • I am oleavr (https://keybase.io/oleavr) on keybase.
  • I have a public key whose fingerprint is 8831 9572 8E5A 6FA7 C4DE 2ADC D7F0 D062 8F33 186D

To claim this, I am signing this object:

BKAccelerometer_server
BKAccelerometer_server_routine
SBAcquireApplicationTerminationAssertion
SBActivateAssistantWithContext
SBAddAlertItemsSuppressionAssertion
SBAddBiometricUnlockSuppressionAssertion
SBAddDownloadingIconForDisplayIdentifier
SBAddDownloadingIconForDisplayIdentifierWithSoftwareType
SBAddThermalWarningSuppressionAssertion
SBAddWallpaperAnimationSuspensionAssertion