preface
MonkeyDev is a new version based on iOSOpenDev. The original version supports CaptainHook Tweak and Logos Tweak with Xcode 9 and the latest TheOS. A Command line Tool has been added.
If you want to debug a third party application using Xcode or a non-jailbroken machine, you need to do a lot of integration steps, such as injecting dylib, integrating Reveal, Cycript, etc. These steps are actually repeatable work, so now we bring you MonkeyDev support, in one step!
So what do you need to do?
Install MonkeyDev
Just read the first article, or read the Github documentation.
A lot of people are not carefully look at the document, and then do not know how to solve the error, so carefully look at the document first.
Use: In one step
The use of CaptainHook Tweak, Logos Tweak and Command line Tool will not be covered here, if there are any I will write a separate article.
The main feature here is MonkeyDev’s one-step integration with non-jailbreak debugging.
Have an IPA or app ready to crack
The first step is to get your IPA or app ready, either from the third-party app marketplace or www.iphonecake.com.
Create the MonkeyApp project
Go to file-new-project… To create an iOS project, select MonkeyApp.
Once created, you should have a project like this:
MonkeyApp = MonkeyApp = MonkeyApp = MonkeyApp = MonkeyApp = MonkeyApp
MonkeyAppDylib this is the target App will be injected into the dynamic library, your own hook code can be written in the monkeyAppdylib. m file, I wrote some Demo code in the inside, support OC Runtime hook, C function fishhook.
AntiAntiDebug is the anti-debugging code.
Fishhook This is the automatically integrated Fishhook module.
Framewroks below has automatically integrated Reveal. Framework with Cycript.framework.
Compiled into
I prepared a cracked IPA file, then I right-click the project insideTargetApp
folderShow in Finder
,ipa
Drag the file into the following location (of course the app folder can also be used):put ipa or app here
Do not delete this file.
All right. Anything else to do? No, that’s all right. Compile and run to non-jailbroken phones.
Open the Reveal on your computer and you can see the screen:
Cycript also has no problem viewing the interface:
The default Cycript port is 6666.
More functions
Dynamic library debugging
After writing your own code in monkeyAppdylib. m, you can directly debug the breakpoint, and the effect is as follows:
Demo App
MonkeyApp will have a default App that you can test for yourself without dragging in App or IPA. It will look something like this
You can modify the code in monkeyAppdylib. m by yourself.
CHDeclareClass(CustomViewController)
CHOptimizedMethod(0, self, NSString*, CustomViewController,getMyName){
//get origin value
NSString* originName = CHSuper(0, CustomViewController, getMyName);
NSLog(@"origin name is:%@",originName);
//get property
NSString* password = CHIvar(self,_password,__strong NSString*);
NSLog(@"password is %@",password);
//change the value
return @"AloneMonkey";
}
CHConstructor{
CHLoadLateClass(CustomViewController);
CHClassHook(0, CustomViewController, getMyName);
}Copy the code
The default integrated library
This tool integrates Reveal. Framework and Cycript.framework by default. .
Integrated pass Reveal. The framework is the latest version, so you may need the latest pass Reveal, or use your own pass Reveal the framework to replace/opt/MonkeyDev/frameworks pass Reveal below. The framework.
Cycript.framework is in /opt/MonkeyDev/library.
You can remove the default integrated libraries in the following locations:
Add your own library
Emmm…
Dynamic library, put your *. The framework file copy to/opt/MonkeyDev/frameworks directory below, and then in the position of the below the add in, emmm… That’s it.
For static libraries, add it directly to the top and specify the search path.
Increase your resources
If you want to add storyboard or bundle resources, copy them to the following directory!