果然还是防不胜防啊
感谢。学习了,文章对我这种小白太有价值了。
读取文件的方式太多,mmap,等等。。。
感谢。学习了,文章对我这种小白太有价值了。
读取文件的方式太多,mmap,等等。。。
如果把加密的str 用ida什么的改了肿么办
用syscall来读取embedded.mobileprovision,检测开发者证书有没有被替换?
检查mach-o文件的有没有被修改…
好像记得以前讨论过,可以静态patch… 用张总黑科技,也不能防静态patch吧
玩的溜,膜…
请问syscall如何读取embedded 来校验app签名是否被替换?
他的意思就是普通的文件读取。不过为了逃避hook改写成了syscall而已
- 因为类簇的关系,文中替换NSDictionary的objectForKey方法应该是不起作用的。若是MUHook做了兼容,那就没有这个问题。
- 若这么替换的话,那NSMutableDictionary和CFDictionaryRef是否也考虑替换下。
- 有没有更好的替代方法,比如判断是谁打开Info.plist,如果可行可以避开替换方法太多的问题。
666, 小白学习了
666,小白学习了
我当时听说62的时候也懵逼了一下,后来一想,bin开头不是0x62吗,无语……
经测试iOS10/iOS11中所有对NSDictionary的访问都会调用-[__NSCFDictionary objectForKey:]
测试内容包括:
- [dict objectForKey:]
- [dict valueForKey:]
- dict[@“key”]
- NSBundle.mainBundle.bundleIdentifier
- [[NSBundle mainBundle] objectForInfoDictionaryKey:@“CFBundleIdentifier”];
- [NSBundle mainBundle].infoDictionary[@“CFBundleIdentifier”];
- [dict objectForKeyedSubscript:]
但是有个坑,hook的方法要这样写:
-(id)objectForKey:(void *)aKey
否则iOS11上容易crash,其原因是aKey有可能是0x1!根据0x1这个地址读取内容肯定会crash。
我比较赞成用这个办法
话说楼主的微信多开方法,能够持续运行超过2周嘛?
目前很少见到第三方的微信分身,能够存活超过2周的,一般一周左右微信就会自动弹出警告了,不知道微信是怎么检测的。。。
微信有一千种方法检测你的插件,仅仅只是干掉多开检测是远远不够的。最主要的还是看人品。。。
你还是转发杨超越吧。
张大,我直接调用dladdr里面的__ dladdr,找不到定义,是这个函数没有对外开放接口么?
我SB了,dyld里面的dladdr实现跟其它UNIX不一样
我这边只要key是CFBundleIdentifier 就直接崩溃