Skip to content
AloneMonkey edited this page Jun 26, 2020 · 32 revisions

one

Q: 一个工程放了一个应用后,再放另外一个应用,第一个应用的内容没有删除?(已解决)

A: 同一个工程在放不同的应用,要先Product - Clean一下,快捷键是Command + Shit + k

two

Q: 编译提示找不到到libxxxDylib.dylib

A: 先指定一下依赖,选择Build Phases,点击Target Dependencies增加需要注入的动态库即可。如下:

如果已加依赖,切换到动态库单独编译,应该是有错误没解决的。

three

Q: 运行出现_dyld_debugger_notification这样的崩溃(默认注释)

A: 把AntiAntiDebug.m这个文件的

rebind_symbols((struct rebinding[1]){{"sysctl", my_sysctl, (void*)&orig_sysctl}},1);

这行代码注释。

four

Q: 本机有多个证书,报错如下错误:

codesign...iPhone Developer: ambiguous(matches "iPhone Developr: [email protected]" and "iPhone Developr: [email protected]") in xxx login.keychain-db

A: 先在keychain里面删除其它证书,只保留一个证书,或者关闭auto signing,在build settings指定证书。

five

Q: 安装Tweak后看不到Log输出。(默认build安装)

A: 设置MonkeyDevInstallOnAnyBuild为YES,然后按快捷键Commonand + B安装到手机,这种才是Debug模式,才能看到Log。

six

Q: 支持Bundle资源和storyboard吗?

A: 当然支持! 把你需要嵌入的Bundle资源和storyboard拷贝到这个目录就可以了哦~

seven

Q: CaptainHook Tweak项目安装出现错误 MS:Error: failure to check xxx.dylib

A: 把过滤plist文件里面没有设置过滤项的参数删除(新版只会留一个bundle id的设置项)

eight

Q: 加了自己的framework之后,出现Could not inspect the application package.

A: 是不是把静态放在/opt/MonkeyDev/Frameworks/下面啦? 这里只能放动态库呢! 静态库自己随便放哪或者放/opt/MonkeyDev/Librarys哦!

怎么看是动态库还是静态库呢?

otool -hv xxxx(可执行文件) 动态库会显示DYLIB 静态库是显示一堆OBJECT

nine

Q: 放入ipa之后,报错 process launch failed : Unspecified/Disabled/xxx

A: 没有砸壳!!!或者你砸的是armv7的,运行在64bit的设备,可以通过lipo xxx -thin armv7 -output xxx_armv7瘦身!

ten

Q: 集成pod后运行提示: No code signature found!

A: 尝试给集成的pod选择一下自动签名试试,都要同一证书。

eleven

Q: 运行后出现dyld: Library not loaded: xxxx mremap_encrypted() => -1 , errorno=1

A: framwork没有砸壳,使用https://github.com/AloneMonkey/frida-ios-dump 给framwork砸壳。

twelve

Q: 10.13系统下用cycript报错:

dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
Referenced from: /Users/Jveryl/Desktop/Crash/cycript_0/Cycript.lib/cycript-apl
Reason: image not found
Abort trap: 6

A: 先关闭系统的SIP,然后运行如下命令,把原来引用的位置创建符号链接到现在新版本的位置:

sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/
sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib

or

  1. brew install [email protected]
  2. 把/usr/local/Cellar/[email protected]/2.0.0-p648_2/lib/libruby.2.0.0.dylib拷贝到Cycript.lib目录下

thirteen

Q: 重签后因为证书不一样,导致keychain保存出错,Couldn't add the Keychain Item.

A: Hook 修改 accessGroup 即可:

CHDeclareClass(KeychainItemWrapper)

CHOptimizedMethod2(self, id, KeychainItemWrapper,initWithIdentifier,NSString*,identifier,accessGroup,NSString*,accessGroup){
    return CHSuper2(KeychainItemWrapper, initWithIdentifier, identifier, accessGroup, nil);
}

CHConstructor{
    CHLoadLateClass(KeychainItemWrapper);
    CHClassHook2(KeychainItemWrapper, initWithIdentifier, accessGroup);
}