简书APP Hook 绕过 HTTPS 证书验证 失败

本来目的是开一下 简书APP的快速加载HTML的逻辑,就用抓包软件抓取请求 发现简书做了HTTPS证书校验,本身自己公司的证书效验就是用的AF进行配置的,觉得可以通过砸壳APP Hook相应的代码进行证书校验绕过,但是重签名之后所有的请求就无法进行网络请求了

2017-08-28 12:27:39.715135+0800 Hugo[7648:6494881] [SensorsAnalytics] <SensorsAnalyticsSDK: 0x1701def00> initialized the instance of Sensors Analytics SDK with server url 'https://events.jianshu.io:4006/sa?project=production', configure url 'https://events.jianshu.io:4006/config/iOS.conf', debugMode: 'DebugOff'
2017-08-28 12:27:40.268270+0800 Hugo[7648:6494881] Reachability Flag Status: -R ------- networkStatusForFlags
2017-08-28 12:27:40.300266+0800 Hugo[7648:6494881] [Crashlytics] Version 3.8.4 (121)
2017-08-28 12:27:40.343419+0800 Hugo[7648:6494881] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2017-08-28 12:27:40.347608+0800 Hugo[7648:6494881] [MC] Reading from public effective user settings.
2017-08-28 12:27:40.748017+0800 Hugo[7648:6494881] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
2017-08-28 12:27:40.750392+0800 Hugo[7648:6494881] Could not signal service com.apple.WebKit.Networking: 113: Could not find specified service
2017-08-28 12:27:40.793662+0800 Hugo[7648:6494971] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:40.814129+0800 Hugo[7648:6494881] [WC] WCSession is not paired
2017-08-28 12:27:40.814227+0800 Hugo[7648:6494881] [WC] -[WCSession updateApplicationContext:error:]_block_invoke failed due to WCErrorCodeDeviceNotPaired
2017-08-28 12:27:40.828619+0800 Hugo[7648:6494984] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:40.829150+0800 Hugo[7648:6494971] [WC] -[WCSession onqueue_handleUpdateSessionState:]_block_invoke dropping as pairingIDs no longer match. pairingID (null), client pairingID: (null)
2017-08-28 12:27:40.830653+0800 Hugo[7648:6494971] [WC] WCSession is not paired
2017-08-28 12:27:40.835768+0800 Hugo[7648:6494984] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:40.838184+0800 Hugo[7648:6494984] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:40.840565+0800 Hugo[7648:6494984] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:40.842618+0800 Hugo[7648:6494984] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:40.846693+0800 Hugo[7648:6494996] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:40.850174+0800 Hugo[7648:6494971] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:40.855026+0800 Hugo[7648:6494996] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:40:863 Hugo[7648:6494996] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v2/admin/splash_screens.json
2017-08-28 12:27:40:872 Hugo[7648:6494996] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v1/admin/notice.json
2017-08-28 12:27:40:873 Hugo[7648:6494996] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v2/admin/ab_settings.json
2017-08-28 12:27:40:874 Hugo[7648:6494996] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v2/device_infos.json
2017-08-28 12:27:40:875 Hugo[7648:6494996] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v2/admin/app_release.json
2017-08-28 12:27:40:876 Hugo[7648:6494996] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v2/admin/idfa_records.json
2017-08-28 12:27:40:878 Hugo[7648:6494996] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v3/mobile_app/templates/note.json
2017-08-28 12:27:40:879 Hugo[7648:6494996] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v2/pts/setting.json
2017-08-28 12:27:41.004690+0800 Hugo[7648:6494881]  INFO: Reveal Server started (Protocol Version 40).
2017-08-28 12:27:41.020173+0800 Hugo[7648:6494881] retryHandleOpenURL
2017-08-28 12:27:41.106114+0800 Hugo[7648:6494881] Presenting view controllers on detached view controllers is discouraged <HGHomepageHotNoteTableViewController: 0x15be51dd0>.
2017-08-28 12:27:41.138963+0800 Hugo[7648:6495015] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.142021+0800 Hugo[7648:6494984] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41:174 Hugo[7648:6495015] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v3/trending/daily.json?count=15&limit=15&page=1
2017-08-28 12:27:41.179269+0800 Hugo[7648:6495015] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.183670+0800 Hugo[7648:6494972] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41:187 Hugo[7648:6494970] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v2/admin_banners.json?count=15&limit=15
2017-08-28 12:27:41:190 Hugo[7648:6494984] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v2/collection_categories.json?count=15&limit=15&type=for_app
2017-08-28 12:27:41:191 Hugo[7648:6494984] Error: -1004
Status Code:0
Request URL: https://s0.jianshuapi.com/v2/subscriptions/recommended_collections.json
2017-08-28 12:27:41:480 Hugo[7648:6494881] Fail to register for remote notifications: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo={NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}
2017-08-28 12:27:41:482 Hugo[7648:6494881] Fail to register for remote notifications: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo={NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}
2017-08-28 12:27:41.486867+0800 Hugo[7648:6494996] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.500956+0800 Hugo[7648:6494996] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.513817+0800 Hugo[7648:6494997] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.521216+0800 Hugo[7648:6495019] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.525152+0800 Hugo[7648:6495019] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.529527+0800 Hugo[7648:6495014] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.599619+0800 Hugo[7648:6495019] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.603129+0800 Hugo[7648:6494970] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.608536+0800 Hugo[7648:6494997] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.616146+0800 Hugo[7648:6494997] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.621170+0800 Hugo[7648:6494997] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.626511+0800 Hugo[7648:6494997] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.646125+0800 Hugo[7648:6494996] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.652063+0800 Hugo[7648:6495014] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.655427+0800 Hugo[7648:6494984] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.658990+0800 Hugo[7648:6494978] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.661573+0800 Hugo[7648:6494978] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:41.666314+0800 Hugo[7648:6494970] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:42.573423+0800 Hugo[7648:6494881] Unbalanced calls to begin/end appearance transitions for <HGTabBarController: 0x15c883a00>.
2017-08-28 12:27:52.474860+0800 Hugo[7648:6494971] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:52.482274+0800 Hugo[7648:6494971] [Fabric] failed to download settings Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo={NSUnderlyingError=0x170256380 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo={_kCFStreamErrorCodeKey=64, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://settings.crashlytics.com/spi/v2/platforms/ios/apps/com.jianshu.Hugo/settings?build_version=1707211539&display_version=3.7.0&instance=08e5a5b9b535d80d232d03df1dc7b2af04e92aaa&icon_hash=f3cc9ece6be0c8f2d56f2ebc047763c4b4d84c78&source=1, NSErrorFailingURLKey=https://settings.crashlytics.com/spi/v2/platforms/ios/apps/com.jianshu.Hugo/settings?build_version=1707211539&display_version=3.7.0&instance=08e5a5b9b535d80d232d03df1dc7b2af04e92aaa&icon_hash=f3cc9ece6be0c8f2d56f2ebc047763c4b4d84c78&source=1, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=64, NSLocalizedDescription=Could not connect to the server.}
2017-08-28 12:27:56.573944+0800 Hugo[7648:6494978] [] nw_socket_connect connectx failed: [64] Host is down
2017-08-28 12:27:56.578483+0800 Hugo[7648:6494978] [SensorsAnalytics] <SensorsAnalyticsSDK: 0x1701def00> network failure: Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo={NSUnderlyingError=0x1702561d0 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo={_kCFStreamErrorCodeKey=64, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://events.jianshu.io:4006/sa?project=production, NSErrorFailingURLKey=https://events.jianshu.io:4006/sa?project=production, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=64, NSLocalizedDescription=Could not connect to the server.}

本人觉得这个防护挺新颖的 所以贴出来一起讨论

我也遇到过 这种情况 重签之后 app就无法网络请求了。