Skip to content

Instantly share code, notes, and snippets.

@oleavr
oleavr / example.js
Last active June 9, 2016 23:19
Interceptor context example
'use strict';
Module.enumerateExports('libssl.so', {
onMatch(e) {
if (e.type === 'function')
Interceptor.attach(e.address, createHook(e.name, e.address));
},
onComplete() {
}
});
BKAccelerometer_server
BKAccelerometer_server_routine
SBAcquireApplicationTerminationAssertion
SBActivateAssistantWithContext
SBAddAlertItemsSuppressionAssertion
SBAddBiometricUnlockSuppressionAssertion
SBAddDownloadingIconForDisplayIdentifier
SBAddDownloadingIconForDisplayIdentifierWithSoftwareType
SBAddThermalWarningSuppressionAssertion
SBAddWallpaperAnimationSuspensionAssertion
@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:

@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 / 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);');
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 / 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();
@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: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 / 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,