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:
I hereby claim:
To claim this, I am signing this object:
[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 class DeviceManager : GLib.Object { | |
public DeviceManager (); |
[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, |
var frida = require('frida'); | |
frida.attach('cat') | |
.then(function (session) { | |
console.log('attached:', session); | |
return session.createScript( | |
'function onMessage(message) {' + | |
'send({ name: "pong", payload: message });' + | |
'recv(onMessage);' + | |
'}' + |
#include <stdint.h> | |
#include <stdio.h> | |
#include <string.h> | |
#include <sys/syspage.h> | |
int | |
main(int argc, char *argv[]) | |
{ | |
struct asinfo_entry *entries = SYSPAGE_ENTRY(asinfo); | |
size_t count = SYSPAGE_ENTRY_SIZE(asinfo) / sizeof(struct asinfo_entry); |
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) { |
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: { |
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 \ |
'use strict'; | |
Module.enumerateExports('libssl.so', { | |
onMatch(e) { | |
if (e.type === 'function') | |
Interceptor.attach(e.address, createHook(e.name, e.address)); | |
}, | |
onComplete() { | |
} | |
}); |