Questions tagged [cydia-substrate]

Cydia Substrate is a framework that allows third party developers to provide run-time patches to system functions on mobile devices.

Cydia Substrate (formerly Mobile Substrate) is a framework developed by SaurikIT, LLC that allows third party developers to provide run-time patches to system functions on mobile devices. ON iOS devices, it also allows third party developers to hook non-system functions, e.g., objective C or swift methods, and replace them with alternative logic. It may be used in conjunction with frameworks like Theos (on iOS devices) for easier syntax, compiling, packaging and distribution.

Cydia Substrate is currently supported on jailbroken iOS and rooted Android devices.

Read more:

120 questions
22
votes
3 answers

iOS Patch program instruction at runtime

How would one go about modifying individual assembly instructions in an application while it is running? I have a Mobile Substrate tweak that I am writing for an existing application. In the tweak's constructor (MSInitialize), I need to be able to…
C0deH4cker
  • 3,959
  • 1
  • 24
  • 35
6
votes
1 answer

How can I get SEL (@selector()) from object file (Mach-o)? how SEL stored in Mach-o?

From objc sources we can see that SEL is defined as typedef struct objc_selector *SEL; I have disassembly my dylib with idaq, and I did finde call of _MSHookMessageEx function, that is linked from libsubstrate.dylib _MSHookMessageEx has following…
BergP
  • 3,453
  • 4
  • 33
  • 58
5
votes
1 answer

Is Swift resistant against hooking?

Cycript is a console based application that is a blend of Objective-C and JavaScript. Cycript is very useful for dynamic analysis of iOS applications. If you write any methods or the complete ipa with Swift is it still possible to hook the…
4
votes
1 answer

Hook home button press

What method should I hook to register a home button press? SpringBoard's menuButtonUp isn't working for me. All of the answers I have seen on this site so far are not helpful since this would be using the private API.
twodayslate
  • 2,803
  • 3
  • 27
  • 43
3
votes
0 answers

How would I use SharedInstance correctly in a Cydia Tweak?

I am developing a tweak and I wanted to add some in chat functions, and example would be opening a users profile/kicking a user/etc with a command (similar to skype) I have found the method that sends messages within the chat but I cant seem to…
niro
  • 63
  • 2
3
votes
1 answer

Symbol redefinition error between libxml2 and theos

I am using libxml2 in a tweak, but I get a symbol redefinition error. Looks like some DataAccess-structs.h from theos uses the same xmlNode struct similar to libxml. Since, both of these are shared libraries that maybe used by other applications, I…
Antony Thomas
  • 3,576
  • 2
  • 34
  • 40
3
votes
2 answers

How does Android Substrate work?

In Android world, there are two popular injection/hijack/hooking frameworks : Xposed and Android Substrate The Xposed's mechanism is described in a development tutorial. The author of Android Substrate compared the two frameworks in FAQ and here,…
xmllmx
  • 39,765
  • 26
  • 162
  • 323
3
votes
1 answer

Using bundle resource in mobilesubtrate tweak

I am trying to make a tweak which uses plist file to save some data. But the app crashes during launch. Tweak.xm: #define hackBundlePath @"/Library/MobileSubstrate/DynamicLibraries/testBundle.bundle" NSMutableDictionary *modsDict =…
junyi00
  • 792
  • 3
  • 8
  • 28
3
votes
1 answer

iOS key logger implementation

I want to understand how to implement a key logger for iOS. And how can I avoid logging keys in my application, if there is iKeyMonitor (for example) installed on device? After research I found that ikeyMonitor installs the following files on the…
BergP
  • 3,453
  • 4
  • 33
  • 58
2
votes
1 answer

Jail broken iOS: Communication between tweak and application

I have my iOS application (standard application with legitimate configuration). It gets information about phone number from network and shows to user. Application can work with network, has storage and it's very clever :). Also I have a tweak for…
D.Tyagniy
  • 55
  • 1
  • 5
2
votes
0 answers

Why does IDA show a method that a class-dump can't? And why can't I hook it?

When doing a class-dump on Instagram (v7.7), I am confused on why in this class, the method declaration for "sponsoredContext" is missing. In comparison, IDA shows the "-(char)sponsoredContext" method. Class Dump result: @interface…
2
votes
0 answers

Does any know how to bypass entitlements in iOS 8?

As you aware that the famous _XPConnectionHasEntitlement has no longer works in iOS 8, is there anyother way to bypass the entitlements with the tweaks that requires entitlements? I come to know that _BSAuditTokenTaskHasEntitlement might solve the…
prathumca
  • 410
  • 8
  • 25
2
votes
1 answer

iosopendev - preferences framework file not found error

I want to create a preferencesLoader bundle using iOSOpenDev but when I create a new project, in the .h file there is an error : #import //Error: File not found I tried to import the framework manually after downloading…
2
votes
4 answers

How to hide statusbar icons in iOS

I want to create a simple mobilesubstrate tweak that hides and shows status bar icons like battery or Carrier or wifi signal indecator. I've seen libstatusbar project but i can't find out how to hide iOS's icons. Is there any other way to do this…
Hamed
  • 297
  • 3
  • 21
2
votes
1 answer

Root privileges for mobile substrate tweak

I'm developing a tweak that when internet is reachable it does something. This is done with Apple's reachability API. The tweak is loaded in SpringBoard. I have a .plist file containing some information in /MyTweaksFolder. I can read it but I can't…
user3519705
  • 105
  • 9
1
2 3 4 5 6 7 8