能力值:
( LV2,RANK:10 )
2 楼
沙发,顶,多谢分享~~
能力值:
( LV15,RANK:340 )
3 楼
赞一个!前几天AppSync不稳定,还在想研究下怎么回事呢。
关于作者没有和以前版本一样用Cydia Substrate直接写劫持,原因是iOS8上Cydia Substrate无法正确注入代码到守护进程中:
However, there is still a major roadblock - which is Cydia Substrate. As of Cydia Substrate version 0.9.5016, Cydia Substrate cannot properly inject code into daemons that are running as mobile, installd being one of them. Therefore, AppSync Unified 5.0 has to inject itself via a rather hacky method, which is basically just calling cynject manually
当时想了好久也没理解怎么手动调用cynject插入installd,今天开了LZ分析的过程豁然开朗!
顺带一说,作者2天前更新了AppSync,
asu_inject的源码 在这里。还有个新的
appinst ,看上去用于命令行安装IPA
能力值:
( LV4,RANK:40 )
4 楼
哈哈,谢谢啊,AppSync里有些东西我还没看完全明白,有源码组号啊~
能力值:
( LV2,RANK:10 )
5 楼
前排,学习一下哈.
能力值:
( LV15,RANK:340 )
6 楼
读完了iOS8的
https://github.com/angelXwind/AppSync 的代码,
依然有2个不明白的地方,求各位大侠解惑
1. AppSyncUnified.x里的 SignerCertificate = <a113> 是什么?为什么伪造签名用这个kSecMagicBytes就可以绕过?
通过DEBUG输出的伪造签名如下:
Nov 14 19:01:00 heimaodekaifaji installd[61] <Warning>: AppSync Unified: Ahh, nil info, fake it Nov 14 19:01:00 heimaodekaifaji installd[61] <Warning>: AppSync Unified: Security.framework injected Nov 14 19:01:00 heimaodekaifaji installd[61] <Warning>: AppSync Unified: bundle path: /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.ZhSh9J/extracted/Payload/RankingLog.app Nov 14 19:01:00 heimaodekaifaji installd[61] <Warning>: AppSync Unified: bundle id: com.zzz.RankingLog Nov 14 19:01:00 heimaodekaifaji installd[61] <Warning>: AppSync Unified: bundle exec: /var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.ZhSh9J/extracted/Payload/RankingLog.app/RankingLog Nov 14 19:01:00 heimaodekaifaji installd[61] <Warning>: AppSync Unified: faked info: { Entitlements = { "application-identifier" = "my.company.RankingLog"; "get-task-allow" = 1; }; SignerCertificate = <a113>; SigningID = "com.zzz.RankingLog"; SigningTime = "2014-11-14 11:01:00 +0000"; ValidatedByProfile = 0; }
SigningID和Entitlements是用新加的dump.cpp从IPA里读的,
不过SignerCertificate却不明白为什么是 0xA1, 0x13 ?
正常程序的签名:
Nov 14 19:05:48 heimaodekaifaji installd[61] <Warning>: AppSync Unified: Hooray, info is okay Nov 14 19:05:48 heimaodekaifaji installd[61] <Warning>: AppSync Unified: orig info: { Entitlements = { "application-identifier" = "H8GX49UM4B.com.jonathanlanis.boost"; "keychain-access-groups" = ( "H8GX49UM4B.com.jonathanlanis.boost" ); }; SignerCertificate = <30820383 3082026b a0030201 0202011e 300d0609 ...>; SigningID = "com.jonathanlanis.boost"; SigningTime = "2014-11-14 11:05:47 +0000"; ValidatedByProfile = 0; }
2. asu_inject.c 为什么不像postinst/misc.c 里一样,cynject MobileSubstrate.dylib而是直接注入AppSyncUnified.dylib?是有什么特殊用意吗?