Skip to content

Instantly share code, notes, and snippets.

@leptos-null
Last active December 15, 2018 23:31
Show Gist options
  • Save leptos-null/1b934d1b5ae521e5147bd410d2dbd9f6 to your computer and use it in GitHub Desktop.
Save leptos-null/1b934d1b5ae521e5147bd410d2dbd9f6 to your computer and use it in GitHub Desktop.
InspectiveC module for Cycript
/* InspectiveC by DavidGoldman
* Place this file in `/usr/lib/cycript0.9/com/golddavid/inspectivec.cy`
* Run `@import com.golddavid.inspectivec` in cycript to use.
*
* This file has been adapted from
* https://github.com/DavidGoldman/InspectiveC/blob/master/cycript/InspectiveC.cy
* to use new cycript module features.
*
* This module is based on
* https://github.com/limneos/classdump-dyld/blob/master/classdumpdyldlib/classdumpdyld.cy
*
* InspectiveC will need to be installed. It is availible on
* DavidGoldman's Cydia Repository: http://apt.golddavid.com/
*/
dlopen("/usr/lib/libinspectivec.dylib", RTLD_NOW);
extern "C" void InspectiveC_setMaximumRelativeLoggingDepth(int);
extern "C" void InspectiveC_watchObject(id);
extern "C" void InspectiveC_unwatchObject(id);
extern "C" void InspectiveC_watchSelectorOnObject(id, SEL);
extern "C" void InspectiveC_unwatchSelectorOnObject(id, SEL);
extern "C" void InspectiveC_watchInstancesOfClass(Class);
extern "C" void InspectiveC_unwatchInstancesOfClass(Class);
extern "C" void InspectiveC_watchSelectorOnInstancesOfClass(Class, SEL);
extern "C" void InspectiveC_unwatchSelectorOnInstancesOfClass(Class, SEL);
extern "C" void InspectiveC_watchSelector(SEL);
extern "C" void InspectiveC_unwatchSelector(SEL);
/* logging */
extern "C" void InspectiveC_enableLogging();
extern "C" void InspectiveC_disableLogging();
extern "C" void InspectiveC_enableCompleteLogging();
extern "C" void InspectiveC_disableCompleteLogging();
extern "C" void InspectiveC_flushLogFile();
module.exports = {
setMaximumRelativeLoggingDepth: InspectiveC_setMaximumRelativeLoggingDepth,
watchObject: InspectiveC_watchObject,
unwatchObject: InspectiveC_unwatchObject,
watchSelectorOnObject: InspectiveC_watchSelectorOnObject,
unwatchSelectorOnObject: InspectiveC_unwatchSelectorOnObject,
watchInstancesOfClass: InspectiveC_watchInstancesOfClass,
unwatchInstancesOfClass: InspectiveC_unwatchInstancesOfClass,
watchSelectorOnInstancesOfClass: InspectiveC_watchSelectorOnInstancesOfClass,
unwatchSelectorOnInstancesOfClass: InspectiveC_unwatchSelectorOnInstancesOfClass,
watchSelector: InspectiveC_watchSelector,
unwatchSelector: InspectiveC_unwatchSelector,
enableLogging: InspectiveC_enableLogging,
isableLogging: InspectiveC_disableLogging,
enableCompleteLogging: InspectiveC_enableCompleteLogging,
disableCompleteLogging: InspectiveC_disableCompleteLogging,
flushLogFile: InspectiveC_flushLogFile
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment