又要到四六级考试了,眼看自己单词量不够需要多背单词。各种软件对比过后呢,博主个人还是觉得墨墨背单词比较好用。但是免费的单词量又觉得不够用,于是就来破解一下单词量上限和用户等级。

工具及环境

  • iPhone XR 13.2
  • 黑苹果 10.15
  • Xcode
  • MonkeyDev

MonkeyDev的安装教程可以看我的上一篇文章(https://www.kwok.fun/ios-reverse/89.html


项目创建

打开Xcode,新建项目,选择MonkeyApp

1.png

然后,填写项目名,这里的名称可以随意。

2.png

项目创建完成之后,我们将脱壳后的默默背单词APP放入target目录。(脱壳教程可自行百度,或者使用PP助手电脑端下载越狱版的APP,越狱版APP是已经脱壳好的。)

3.png

4.png


代码编写

项目创建完成后,我们在momoDylib.m中写入我们的hook代码。

5.png

代码如下:

#import "momoDylib.h"
#import <CaptainHook/CaptainHook.h>
#import <UIKit/UIKit.h>
#import <Cycript/Cycript.h>
#import <MDCycriptManager.h>
CHDeclareClass(SettingViewController)
CHDeclareClass(InfTb)
CHDeclareClass(UserLevel)
CHOptimizedMethod0(self, long long,InfTb,wordsLimit){
    return 99999;
}
CHOptimizedMethod0(self, long long,InfTb,usableWordLimit){
    return 99999;
}
CHOptimizedMethod1(self, void, UserLevel, setLevel,long long,arg1){
    CHSuper1(UserLevel, setLevel, 999);
}

CHOptimizedMethod0(self, void, SettingViewController, loadTheme){
    UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"Tips" message:@"Hook successed! \n By Kwok" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alert show];
    CHSuper0(SettingViewController, loadTheme);
}
CHConstructor{
    CHLoadLateClass(SettingViewController);
    CHClassHook0(SettingViewController, loadTheme);
    CHLoadLateClass(InfTb);
    CHClassHook0(InfTb,wordsLimit);
    CHClassHook0(InfTb,usableWordLimit);
    CHLoadLateClass(UserLevel);
    CHClassHook1(UserLevel, setLevel);
}

真机运行

最后,我们将项目运行在手机上,我们可以看到单词量上限已经破解完成了。

5.png

版权声明: 本博客所有文章除特别声明外,均采用署名-非商业性使用-相同方式共享 4.0 国际CC BY-NC-SA 4.0 )许可协议。转载请注明出处!
最后修改:2022 年 11 月 09 日 12 : 55 PM
如果觉得我的文章对你有用,请随意赞赏