解决 Cycript 信息显示不全的问题
通过 cycript 注入进程,打印出 UI 结构信息,但是有时会发现显示信息不全,如下所示:
# cycript -p Cydia
cy# UIApp.keyWindow.recursiveDescription().toString()
`<UIWindow: 0x727430; frame = (0 0; 320 568); gestureRecognizers = <NSArray: 0x706e90>; layer = <UIWindowLayer: 0x504bf0>>| <UILayoutContainerView: 0x4ee2a0; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x4edcb0>>| | <UITransitionView: 0x72aab0; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x700650>>| | | <UIViewControllerWrapperView: 0x12860b30; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x12824700>>| | | | <UILayoutContainerView: 0x74f140; frame = (0 0; 320 568); autoresize = W+H; gestureRecognizers = <NSArray: 0x4f8500>; layer = <CALayer: 0x74ae10>>| | | | | <UINavigationTransitionView: 0x4e75b0; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x4cd4f0>>| | | | | | <UIViewControllerWrapperView: 0xe89b700; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0xe88df70>>| | | | | | | <CyteWebView: 0xe90f020, https://cydia.saurik.com/ui/ios~iphone/1.1/home/>| | | | | | | | <_UIWebViewScrollView: 0x878200; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = H; gestureRecognizers = <NSArray: 0xe912340>; layer = <CALayer: 0xe911d80>; contentOffset: {0, -64}; contentSize: {320, 835}>| | | | | | | | | <UIWebBrowserView: 0x87ba00; frame = (0 0; 320 835); text = '\u6b22\u8fce\u4f7f\u7528 Cydia\u2122
\u5f00\u53d1\u8005\uff1aJay Freem...'; opaque = NO; gestureRecognizers = <NSArray: 0xe90f8a0>; layer = <UIWebLayer: 0x4ee060>>| | | | | | | | | | <LegacyTileHostLayer: 0x4802220> (layer)| | | | | | | | | | | <LegacyTileLayer: 0x128410f0> (layer)| | | | | | | | | | | <LegacyTileLayer: 0x12829060> (layer)| | | | | | | | | <UIImageView: 0x483a6b0; frame = (3 449.5; 314 2.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; laye
cy# UIApp.keyWindow.recursiveDescription().toString()
`<UIWindow: 0x727430; frame = (0 0; 320 568); gestureRecognizers = <NSArray: 0x706e90>; layer = <UIWindowLayer: 0x504bf0>>| <UILayoutContainerView: 0x4ee2a0; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x4edcb0>>| | <UITransitionView: 0x72aab0; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x700650>>| | | <UIViewControllerWrapperView: 0x12860b30; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x12824700>>| | | | <UILayoutContainerView: 0x74f140; frame = (0 0; 320 568); autoresize = W+H; gestureRecognizers = <NSArray: 0x4f8500>; layer = <CALayer: 0x74ae10>>| | | | | <UINavigationTransitionView: 0x4e75b0; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x4cd4f0>>| | | | | | <UIViewControllerWrapperView: 0xe89b700; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0xe88df70>>| | | | | | | <CyteWebView: 0xe90f020, https://cydia.saurik.com/ui/ios~iphone/1.1/home/>| | | | | | | | <_UIWebViewScrollView: 0x878200; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = H; gestureRecognizers = <NSArray: 0xe912340>; layer = <CALayer: 0xe911d80>; contentOffset: {0, -64}; contentSize: {320, 835}>| | | | | | | | | <UIWebBrowserView: 0x87ba00; frame = (0 0; 320 835); text = '\u6b22\u8fce\u4f7f\u7528 Cydia\u2122
\u5f00\u53d1\u8005\uff1aJay Freem...'; opaque = NO; gestureRecognizers = <NSArray: 0xe90f8a0>; layer = <UIWebLayer: 0x4ee060>>| | | | | | | | | | <LegacyTileHostLayer: 0x4802220> (layer)| | | | | | | | | | | <LegacyTileLayer: 0x128410f0> (layer)| | | | | | | | | | | <LegacyTileLayer: 0x12829060> (layer)| | | | | | | | | <UIImageView: 0x483a6b0; frame = (3 449.5; 314 2.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; laye
可以使用 writeToFile 将信息保存为文件,下载文件查看信息是完整的,并且中文也能显示清楚
cy# [Uiapp.keyWindow.recursiveDescription().toString() writeToFile:"/var/mobile/viewdump.txt" atomically:NO encoding:4 error:NULL];
还有一种方法是降级 Cycript,查看当前版本号是 0.9.954,尝试降级到 0.9.590, 再打印信息就没问题了
# cycript -p Cydia
cy# UIApp.keyWindow.recursiveDescription().toString()
`<UIWindow: 0x739250; frame = (0 0; 320 568); gestureRecognizers = <NSArray: 0x71d9a0>; layer = <UIWindowLayer: 0x71d1c0>>| <UILayoutContainerView: 0x5cfa90; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x5ce060>>| | <UITransitionView: 0x5d7470; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x5d7650>>| | | <UIViewControllerWrapperView: 0x5f6cb0; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x5fa040>>| | | | <UILayoutContainerView: 0x766540; frame = (0 0; 320 568); autoresize = W+H; gestureRecognizers = <NSArray: 0x5f6290>; layer = <CALayer: 0x48041e0>>| | | | | <UINavigationTransitionView: 0x4803e40; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x5c7630>>| | | | | | <UIViewControllerWrapperView: 0xe707ea0; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0xe707f80>>| | | | | | | <CyteWebView: 0x763ae0, https://cydia.saurik.com/ui/ios~iphone/1.1/home/>| | | | | | | | <_UIWebViewScrollView: 0x10abc00; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = H; gestureRecognizers = <NSArray: 0xe5f8fb0>; layer = <CALayer: 0xe5f9e90>; contentOffset: {0, -64}; contentSize: {320, 835}>| | | | | | | | | <UIWebBrowserView: 0x8e0600; frame = (0 0; 320 835); text = '\u6b22\u8fce\u4f7f\u7528 Cydia\u2122
\u5f00\u53d1\u8005\uff1aJay Freem...'; opaque = NO; gestureRecognizers = <NSArray: 0x5d53d0>; layer = <UIWebLayer: 0x748fc0>>| | | | | | | | | | <LegacyTileHostLayer: 0x7137d0> (layer)| | | | | | | | | | | <LegacyTileLayer: 0xe6f9870> (layer)| | | | | | | | | | | <LegacyTileLayer: 0x75f4c0> (layer)| | | | | | | | | <UIImageView: 0xe6bda10; frame = (3 449.5; 314 2.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0xe6bdb50>>| | | | | | | | | <UIImageView: 0xe6bebb0; frame = (314.5 3; 2.5 374); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0xe6becf0>>| | | | | <UINavigationBar: 0x765a00; frame = (0 20; 320 44); opaque = NO; autoresize = W; gestureRecognizers = <NSArray: 0x429f00>; layer = <CALayer: 0x7666c0>>| | | | | | <_UIBarBackground: 0x765d00; frame = (0 -20; 320 64); userInteractionEnabled = NO; layer = <CALayer: 0x7660a0>>| | | | | | | <UIImageView: 0x765f20; frame = (0 64; 320 0.5); userInteractionEnabled = NO; layer = <CALayer: 0x764790>>| | | | | | | <UIVisualEffectView: 0x766730; frame = (0 0; 320 64); layer = <CALayer: 0x766860>>| | | | | | | | <_UIVisualEffectBackdropView: 0x766a30; frame = (0 0; 320 64); autoresize = W+H; userInteractionEnabled = NO; layer = <UICABackdropLayer: 0x766b30>>| | | | | | | | <_UIVisualEffectFilterView: 0x74ab60; frame = (0 0; 320 64); autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x75d340>>| | | | | | <UINavigationButton: 0xe6e68a0; frame = (242 7; 70 30); opaque = NO; layer = <CALayer: 0xe6d56a0>>| | | | | | | <UIButtonLabel: 0xe7add30; frame = (0.5 5; 69.5 20.5); text = '\u91cd\u65b0\u52a0\u8f7d'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0xe716c10>>| | | | | | | | <_UILabelContentLayer: 0xe70c040> (layer)| | | | | | <UINavigationButton: 0xe6a8d50; frame = (8 7; 35 30); opaque = NO; layer = <CALayer: 0xe6a8850>>| | | | | | | <UIButtonLabel: 0xe7013d0; frame = (0 5; 35 20.5); text = '\u5173\u4e8e'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0xe701610>>| | | | | | | | <_UILabelContentLayer: 0xe701be0> (layer)| | | | | | <<UINavigationItemView: 0xe719280; frame = (142.5 8; 35 27); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0xe719210>>: item=<<UINavigationItem: 0x5f9430>: title:'\u4e3b\u9875'> title=\u4e3b\u9875>| | | | | | | <UILabel: 0xe719380; frame = (0 3.5; 35 21.5); text = '\u4e3b\u9875'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0xe7194e0>>| | | | | | | | <_UILabelContentLayer: 0xe7892d0> (layer)| | | | | | <_UINavigationBarBackIndicatorView: 0x7680e0; frame = (8 11.5; 13 21); alpha = 0; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x7682f0>>| | <UITabBar: 0x5ce0e0; frame = (0 519; 320 49); autoresize = W+TM; layer = <CALayer: 0x5ce480>>| | | <_UIBarBackground: 0x5cfef0; frame = (0 0; 320 49); userInteractionEnabled = NO; layer = <CALayer: 0x5ce650>>| | | | <UIImageView: 0x5d4bb0; frame = (0 -0.5; 320 0.5); userInteractionEnabled = NO; layer = <CALayer: 0x5cd770>>| | | | <UIVisualEffectView: 0x5d4820; frame = (0 0; 320 49); layer = <CALayer: 0x5bc0c0>>| | | | | <_UIVisualEffectBackdropView: 0x5d69f0; frame = (0 0; 320 49); autoresize = W+H; userInteractionEnabled = NO; layer = <UICABackdropLayer: 0x5d6d70>>| | | | | <_UIVisualEffectFilterView: 0xe6be200; frame = (0 0; 320 49); autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0xe6be2e0>>| | | <UITabBarButton: 0x5f4390; frame = (2 1; 60 48); opaque = NO; layer = <CALayer: 0x5f7480>>| | | | <UITabBarSwappableImageView: 0x5f76e0; frame = (9 2.5; 41 31); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x5f7950>>| | | | <UITabBarButtonLabel: 0x5f4620; frame = (16 35; 27.5 12); text = 'Cydia'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x5f49d0>>| | | <UITabBarButton: 0x4800580; frame = (66 1; 60 48); opaque = NO; layer = <CALayer: 0x4800ea0>>| | | | <UITabBarSwappableImageView: 0x48197d0; frame = (9.5 2.5; 41 31); opaque = NO; userInteractionEnabled = NO; tintColor = UIDeviceWhiteColorSpace 0.572549 1; layer = <CALayer: 0x4801120>>| | | | <UITabBarButtonLabel: 0x48006f0; frame = (14.5 35; 31 12); text = '\u8f6f\u4ef6\u6e90'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x4800500>>| | | | | <_UILabelContentLayer: 0xe5f99f0> (layer)| | | | <_UIBadgeView: 0xe5f8340; frame = (45.5 2; 18 18); text = ''; userInteractionEnabled = NO; layer = <CALayer: 0x4827500>>| | | | | <UIImageView: 0xe703e20; frame = (0 0; 18 18); opaque = NO; userInteractionEnabled = NO; tintColor = UIDeviceRGBColorSpace 1 0.231373 0.188235 1; layer = <CALayer: 0xe5f4fd0>>| | | | | <UIActivityIndicatorView: 0x5d7870; frame = (2 2; 14 14); layer = <CALayer: 0x5ceb00>>| | | | | | <UIImageView: 0x5d7c30; frame = (0 0; 14 14); opaque = NO; userInteractionEnabled = NO; animations = { contents=<CAKeyframeAnimation: 0xdb0a4a0>; }; layer = <CALayer: 0x5d7d30>>| | | <UITabBarButton: 0x760010; frame = (130 1; 60 48); opaque = NO; layer = <CALayer: 0x761970>>| | | | <UITabBarSwappableImageView: 0x760930; frame = (9 2.5; 41 31); opaque = NO; userInteractionEnabled = NO; tintColor = UIDeviceWhiteColorSpace 0.572549 1; layer = <CALayer: 0x761ae0>>| | | | <UITabBarButtonLabel: 0x7601a0; frame = (19.5 35; 20.5 12); text = '\u53d8\u66f4'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x760310>>| | | | | <_UILabelContentLayer: 0xe5f91e0> (layer)| | | | <_UIBadgeView: 0xe5f5220; frame = (45 2; 27 18); text = '14'; userInteractionEnabled = NO; layer = <CALayer: 0xe5f5470>>| | | | | <UIImageView: 0xe6a6100; frame = (0 0; 27 18); opaque = NO; userInteractionEnabled = NO; tintColor = UIDeviceRGBColorSpace 1 0.231373 0.188235 1; layer = <CALayer: 0xe6a6200>>| | | | | <UILabel: 0xe5f5640; frame = (5 1; 17 16); text = '14'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0xe5f57a0>>| | | <UITabBarButton: 0x760e30; frame = (194 1; 60 48); opaque = NO; layer = <CALayer: 0x75e8d0>>| | | | <UITabBarSwappableImageView: 0x762900; frame = (9.5 2.5; 41 31); opaque = NO; userInteractionEnabled = NO; tintColor = UIDeviceWhiteColorSpace 0.572549 1; layer = <CALayer: 0x761ec0>>| | | | <UITabBarButtonLabel: 0x760fa0; frame = (14.5 35; 31 12); text = '\u5df2\u5b89\u88c5'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x761110>>| | | | | <_UILabelContentLayer: 0xe706ab0> (layer)| | | <UITabBarButton: 0x762a10; frame = (258 1; 60 48); opaque = NO; layer = <CALayer: 0x7632a0>>| | | | <UITabBarSwappableImageView: 0x763ee0; frame = (9 2.5; 41 31); opaque = NO; userInteractionEnabled = NO; tintColor = UIDeviceWhiteColorSpace 0.572549 1; layer = <CALayer: 0x761940>>| | | | <UITabBarButtonLabel: 0x762b80; frame = (19.5 35; 20.5 12); text = '\u641c\u7d22'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x760b30>>| | | | | <_UILabelContentLayer: 0xe706a30> (layer)`
原文地址:https://www.exchen.net/ios-hacker-%E8%A7%A3%E5%86%B3-cycript-%E4%BF%A1%E6%81%AF%E6%98%BE%E7%A4%BA%E4%B8%8D%E5%85%A8%E7%9A%84%E9%97%AE%E9%A2%98.html
解决 Cycript 信息显示不全的问题相关推荐
- NoteExpress文献导入,信息显示不全的问题
NoteExpress文献导入 信息显示不全 问题描述: 利用NoteExpress导入文献全文,但是发现有的文献的作者.时间.期刊信息等无法显示,如图所示. 可以看到,这两个参考文献的年份.作者等都 ...
- IE8 下 select option 内容过长 , 展开时信息显示不全问题解决办法
为什么80%的码农都做不了架构师?>>> /*** IE8 下 select option 内容过长 , 展开时信息显示不全 , 简单折衷的方式就是给 option 加上 ti ...
- html2canvas+jspdf 完美解决html导出且分页 解决图片显示不全问题
html2canvas+jspdf 完美解决html导出且分页 解决图片显示不全问题 参考文章: (1)html2canvas+jspdf 完美解决html导出且分页 解决图片显示不全问题 (2)ht ...
- 电脑ping服务器ip显示数据丢失,Win7系统如何测试网络丢包率解决网页显示不全的问题...
Win7系统在上网过程中打开网页经常遇到网页显示不全,或者玩游戏卡顿的现象,但是过一会儿又恢复了.怎么回事呢?可能是因为网络丢包率太高导致的,我们可以Ping一下网络,找到故障原因.那么接下来小编和大 ...
- 解决ListView显示不全、滑动冲突问题
在开发中,ListView是使用得最多的控件,有时候会遇到ListView因为各种原因引起的数据显示不全,例如,嵌套了ScrollView等.这个解决的办法很多,这里记录一下我自己用过的方法, ...
- RxJava2 堆栈信息显示不全解决方案
本文首发我的博客,github 地址 文章目录 现象 第一种方案,自定义 Hook 解决 RxJavaExtensions 使用 原理 一些思考 参考资料 推荐阅读 现象 大家好,我是徐公,今天为大家 ...
- Csocket OnReceive接收数据部分(解决接收数据不全的问题+获取时间+将数据写入文本文档)
void CDebugDlg::OnReceive() {BYTE cbDataBuffer[1024];BYTE buff;int len,a,leng;CString b,c,d;CString ...
- 永恒之柱2显示服务器,永恒之柱2游戏黑屏是什么原因怎么解决_画面显示不全解决方法教程攻略...
IGN给出了最近发售的<永恒之柱2>8.5分的评价,称游戏中出色地塑造了不少人物形象,也拥有着迷人的海岛景色,虽然略有瑕疵,仍然不失为一款佳作. <永恒之柱2:死亡之火>在&l ...
- 解决html2canvas截图不全问题
最近公司要求做一个生成海报,html2canvas是个不错的选择,随之而来的问题,当页面的滚动条不在顶部的时候出现,截图不全,顶部出现白屏问题,我当时是各种百度各种搜索问题还是没有得到解决. 我知道的 ...
最新文章
- [转]gitHub客户端Desktop的安装使用总结 ---基础篇
- 基于R语言的时间序列分析预测
- vue 中的动态传参和query传参
- 【bzoj4444】[Scoi2015]国旗计划 倍增
- 精选13款Spring Boot 优质GitHub开源项目!
- 调用打码平台api获取验证码 (C#版)
- 【gigabyte】开机循环进入技嘉主板界面、BIOS功能识别不出硬盘
- Redis相关面试题
- winform设置默认打印机
- 2020-11-20
- 【移动光猫H2-2的完全破解心路历程及配置】
- 关于 Python Pip的安装
- 第一篇博客,写给自己
- 2021这一年 | 用数字技术实现普惠金融
- 澳门惊现Google地图街景车
- SAF(Storage Access Framework)使用攻略
- toooomuch和toooomuch2的wp
- spring cloud gateway 与spring cloud版本对应问题
- java中appletviewer是什么意思_自动生成供AppletViewer运行Java Applet的HTML文件
- 【demo】Excel批量设置超链接(java代码实现)
热门文章
- Docker手动构建 nginx+py3+uwsgi环境
- error CS1002: ; expected 错误解决
- C语言-------基础知识小结(1)。
- 类与类之间关系,用C#和JavaScript体现
- 在Vista以上版本运行WTL程序,有时候会提示“这个程序可能安装补正确...”的错误...
- 回首经典的SQL Server 2005
- PageRank算法简介及Map-Reduce实现
- 正则表达式的20个小应用
- JQuery跨站脚本漏洞
- 【数据结构与算法】之深入解析如何确定单链表有环并求环的入口和长度