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 insideTargetAppfolderShow in Finder,ipaDrag the file into the following location (of course the app folder can also be used):



put ipa or app hereDo 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!