-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Q&A
Q: 一个工程放了一个应用后,再放另外一个应用,第一个应用的内容没有删除?(已解决)
A: 同一个工程在放不同的应用,要先Product - Clean
一下,快捷键是Command + Shit + k
。
Q: 编译提示找不到到libxxxDylib.dylib
A: 先指定一下依赖,选择Build Phases
,点击Target Dependencies
增加需要注入的动态库即可。如下:
如果已加依赖,切换到动态库单独编译,应该是有错误没解决的。
Q: 运行出现_dyld_debugger_notification
这样的崩溃(默认注释)
A: 把AntiAntiDebug.m
这个文件的
rebind_symbols((struct rebinding[1]){{"sysctl", my_sysctl, (void*)&orig_sysctl}},1);
这行代码注释。
Q: 本机有多个证书,报错如下错误:
codesign...iPhone Developer: ambiguous(matches "iPhone Developr: xxxx@xxx.com" and "iPhone Developr: xxxx@xxx.com") in xxx login.keychain-db
A: 先在keychain里面删除其它证书,只保留一个证书,或者关闭auto signing,在build settings指定证书。
Q: 安装Tweak后看不到Log输出。(默认build安装)
A: 设置MonkeyDevInstallOnAnyBuild
为YES,然后按快捷键Commonand + B
安装到手机,这种才是Debug模式,才能看到Log。
Q: 支持Bundle资源和storyboard吗?
A: 当然支持! 把你需要嵌入的Bundle资源和storyboard拷贝到这个目录就可以了哦~
Q: CaptainHook Tweak项目安装出现错误 MS:Error: failure to check xxx.dylib
A: 把过滤plist文件里面没有设置过滤项的参数删除(新版只会留一个bundle id的设置项)
Q: 加了自己的framework之后,出现Could not inspect the application package.
A: 是不是把静态放在/opt/MonkeyDev/Frameworks/下面啦? 这里只能放动态库呢! 静态库自己随便放哪或者放/opt/MonkeyDev/Librarys哦!
怎么看是动态库还是静态库呢?
otool -hv xxxx(可执行文件) 动态库会显示DYLIB 静态库是显示一堆OBJECT
Q: 放入ipa之后,报错 process launch failed : Unspecified/Disabled/xxx
A: 没有砸壳!!!或者你砸的是armv7的,运行在64bit的设备,可以通过lipo xxx -thin armv7 -output xxx_armv7瘦身!
Q: 集成pod后运行提示: No code signature found!
A: 尝试给集成的pod选择一下自动签名试试,都要同一证书。
Q: 运行后出现dyld: Library not loaded: xxxx mremap_encrypted() => -1 , errorno=1
。
A: framwork没有砸壳,使用https://github.com/AloneMonkey/frida-ios-dump 给framwork砸壳。
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
- brew install ruby@2.0
- 把/usr/local/Cellar/ruby@2.0/2.0.0-p648_2/lib/libruby.2.0.0.dylib拷贝到Cycript.lib目录下
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);
}