{"id":1360,"date":"2018-10-30T10:57:49","date_gmt":"2018-10-30T02:57:49","guid":{"rendered":"http:\/\/www.yusian.com\/blog\/?p=1360"},"modified":"2018-10-30T11:46:30","modified_gmt":"2018-10-30T03:46:30","slug":"%e5%85%b3%e4%ba%8ecycript%e4%b8%ad%e6%89%93%e5%8d%b0%e4%bf%a1%e6%81%af%e4%b8%8d%e5%ae%8c%e6%95%b4%e7%9a%84%e9%97%ae%e9%a2%98","status":"publish","type":"post","link":"https:\/\/www.yusian.com\/blog\/reverse\/2018\/10\/30\/1057491360.html","title":{"rendered":"\u5173\u4e8eCycript\u4e2d\u6253\u5370\u4fe1\u606f\u4e0d\u5b8c\u6574\u7684\u95ee\u9898"},"content":{"rendered":"<p>1\u3001\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<pre lang=\"objc\" line=\"1\">cy# SASubviews(#0x1c32ab60)\r\n`<SBRootIconListView 0x1c32ab60: frame = {{0, 0}, {320, 348}}; Model = <SBIconListModel: 0x17f44c20; 1 icons; folder = <SBRootFolderWithDock: 0x17f45620, (null)>>>\r\n   | <SBFolderIconView: 0x1c1ea570; frame = (16 7; 60 74); opaque = NO; layer = <CALayer: 0x1c1ea870>> Folder: <SBFolder: 0x17f44370, \\u5065\\u5eb7>\r\n   |    | <SBIconLabelView: 0x1c1e9c60; baseClass = _UILegibilityView; frame = (16.5 62.5; 28 19); userInteractionEnabled = NO; layer = <CALayer: 0x1c1eaae0>>\r\n   |    |    | <_UILegibilityImageView: 0x1c1d41b0; frame = (-12 -12; 52 43); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x1c1d4290>>\r\n   |    |    | <_UILegibilityImageView: 0x1c1e7020; frame = (0 0; 28 19); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x1c1e6610>>\r\n   |    | <SBFolderIconImageView: 0x1c1e00d0; frame = (-1 -1; 62 62); userInteractionEnabled = NO; layer = <CALayer: 0x1c1e31f0>>\r\n   |    |    | <SBFolderIconBackgroundView: 0x17fc4a30; frame = (1 1; 60 60); clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x1c184940>>\r\n   |    |    | <UIView: 0x1c2c3cd0; frame = (8.5 8.5; 45 45); clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x1c2babe0>>\r\n   |    |    |    | <_SBIconGridWrapperView: 0x1c2aa7f0; baseClass = UIImageView; frame = (0 0; 45 45); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x1c2c11d0>>\r\n   |    |    |    | <_SBIconGridWrapperView: 0x1c2bae90; baseClass = UIImageView; frame = (51 0; 45 45); userInteractionEnabled = NO; layer = <CALayer: 0x190dd2a0>>`\r\ncy#<\/pre>\n<p>1.1\u3001SASubviews()\u5185\u90e8\u53ea\u662f\u7b80\u5355\u7684\u8c03\u7528UIView\u7684recursiveDescription\u65b9\u6cd5\uff0c\u8fd9\u91cc\u8f93\u51fa\u5230\u6b62\u65ad\u8282\u4e86\uff0c\u4e8b\u5b9e\u4e0a\u540e\u9762\u8fd8\u6709\u5f88\u591a\u662f\u6ca1\u6709\u6253\u5370\u51fa\u6765\u7684\uff1b<br \/>\n1.2\u3001\u7f51\u4e0a\u627e\u4e86\u4e00\u4e9b\u8d44\u6599\uff0c\u6211\u8fd9\u91cc\u4f7f\u7528\u7684\u662fiTerm2\uff0c\u6709\u7f51\u53cb\u8bf4\u6362\u6210\u7cfb\u7edf\u81ea\u5e26\u7684\u7ec8\u7aef\u5c31\u4e0d\u4f1a\uff0c\u6211\u8bd5\u4e86\u4e5f\u4e00\u6837\uff1b<br \/>\n1.3\u3001\u53c8\u6709\u7f51\u53cb\u8bf4\u5c06Cycript\u964d\u7ea7\u52300.9.505\u5c31OK\u4e86\uff0c\u6211\u4e5f\u8bd5\u4e86\u4e00\u4e0b\uff0c\u786e\u5b9e\u662f\u53ef\u4ee5\u4e86\uff0c\u4f46\u5f88\u591ajs\u65b9\u6cd5\u7528\u4e0d\u4e86\u4e86\uff1b<br \/>\n1.4\u3001\u5f53\u524d\u7248\u672c\u662f0.9.594\uff0c\u6211\u628a\u4e2d\u95f4\u51e0\u4e2a\u7248\u672c\u90fd\u8bd5\u4e86\u4e00\u4e0b\uff0c\u964d\u5230<strong>0.9.592<\/strong>\u662f\u6700\u597d\u7684\uff0c\u6298\u4e2d\u9009\u62e9\u5373\u80fd\u4fdd\u8bc1\u6253\u5370\u5b8c\u6574\uff0c\u53c8\u80fd\u652f\u6301\u5f53\u524d\u6211\u4eec\u5e38\u7528\u7684\u8fd9\u4e9bjs\u65b9\u6cd5\uff1b<br \/>\n1.5\u3001\u53c8\u53d1\u73b0\u4e00\u4e2a\u5751\uff1aiOS9.3.5\u5728Cycript\u964d\u52300.9.592\u7684\u65f6\u5019\uff0cAppStore\u4e0b\u8f7d\u7684\u5e94\u7528\u4f1a\u62a5\u9519<\/p>\n<pre lang=\"bash\" line=\"1\">Sian-iPhone4s:~ root# cycript -p WeChat\r\n*** _syscall(connect(socket, reinterpret_cast<sockaddr *>(&address), sizeof(address))):..\/Handler.cpp(169):CYHandleSocket [errno=1]<\/pre>\n<p>\u6240\u4ee5\uff0c\u6839\u636e\u60c5\u51b5\u5207\u5427&#8230;\u76ee\u524d\u53ea\u80fd\u8fd9\u6837&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1\u3001\u5982\u4e0b\u6240\u793a\uff1a cy# SASubviews(#0x1c32ab60) ` | Folder: | | | | | | | | | | | | | | | | | | | | | | | | ` cy# 1.1\u3001SASubviews()\u5185\u90e8\u53ea\u662f\u7b80\u5355\u7684\u8c03\u7528UIView\u7684recursiveDescription\u65b9\u6cd5\uff0c\u8fd9\u91cc\u8f93\u51fa\u5230\u6b62\u65ad\u8282\u4e86\uff0c\u4e8b\u5b9e\u4e0a\u540e\u9762\u8fd8\u6709\u5f88\u591a\u662f\u6ca1\u6709\u6253\u5370\u51fa\u6765\u7684\uff1b 1.2\u3001\u7f51\u4e0a\u627e\u4e86\u4e00\u4e9b\u8d44\u6599\uff0c\u6211\u8fd9\u91cc\u4f7f\u7528\u7684\u662fiTerm2\uff0c\u6709\u7f51\u53cb\u8bf4\u6362\u6210\u7cfb\u7edf\u81ea\u5e26\u7684\u7ec8\u7aef\u5c31\u4e0d\u4f1a\uff0c\u6211\u8bd5\u4e86\u4e5f\u4e00\u6837\uff1b 1.3\u3001\u53c8\u6709\u7f51\u53cb\u8bf4\u5c06Cycript\u964d\u7ea7\u52300.9.505\u5c31OK\u4e86\uff0c\u6211\u4e5f\u8bd5\u4e86\u4e00\u4e0b\uff0c\u786e\u5b9e\u662f\u53ef\u4ee5\u4e86\uff0c\u4f46\u5f88\u591ajs\u65b9\u6cd5\u7528\u4e0d\u4e86\u4e86\uff1b 1.4\u3001\u5f53\u524d\u7248\u672c\u662f0.9.594\uff0c\u6211\u628a\u4e2d\u95f4\u51e0\u4e2a\u7248\u672c\u90fd\u8bd5\u4e86\u4e00\u4e0b\uff0c\u964d\u52300.9.592\u662f\u6700\u597d\u7684\uff0c\u6298\u4e2d\u9009\u62e9\u5373\u80fd\u4fdd\u8bc1\u6253\u5370\u5b8c\u6574\uff0c\u53c8\u80fd\u652f\u6301\u5f53\u524d\u6211\u4eec\u5e38\u7528\u7684\u8fd9\u4e9bjs\u65b9\u6cd5\uff1b 1.5\u3001\u53c8\u53d1\u73b0\u4e00\u4e2a\u5751\uff1aiOS9.3.5\u5728Cycript\u964d\u52300.9.592\u7684\u65f6\u5019\uff0cAppStore\u4e0b\u8f7d\u7684\u5e94\u7528\u4f1a\u62a5\u9519 Sian-iPhone4s:~ root# cycript -p WeChat *** _syscall(connect(socket, reinterpret_cast(&#038;address), sizeof(address))):..\/Handler.cpp(169):CYHandleSocket [errno=1] \u6240\u4ee5\uff0c\u6839\u636e\u60c5\u51b5\u5207\u5427&#8230;\u76ee\u524d\u53ea\u80fd\u8fd9\u6837&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[120],"tags":[149,161,160],"class_list":["post-1360","post","type-post","status-publish","format-standard","hentry","category-reverse","tag-cycript","tag-iterm2","tag-recursivedescription"],"_links":{"self":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts\/1360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/comments?post=1360"}],"version-history":[{"count":0,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts\/1360\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/media?parent=1360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/categories?post=1360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/tags?post=1360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}