下载此文档

iOS实践课:修改SpringBoard.doc


文档分类:IT计算机 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
[JavaScript] 纯文本查看 复制代码functionprintMethods(className){varcount=newnewType("I");varmethods=class_copyMethodList(objc_getClass(className),count);varmethodsArray=[];for(vari=0;i<*count;i++){varmethod=methods[i];({selector:method_getName(method),implentation:method_getImplementation(method)});}free(methods);free(count);returnmethodsArray;},效果如下图:代码:[JavaScript] 纯文本查看 复制代码functiontryPrintIvars(a){varx={};for(iin*a){try{x[i]=(*a)[i];}catch(e){}}returnx;}准备工作都做好了,将两个函数都先输入进去因为最后的目标是应用图标,所以,现在我们从主界面开始着手打印它的UI布局代码:[Objective-C] 纯文本查看 复制代码[[UIApplicationsharedApplication].] 然后出来了一大片,红呦呦的代码,看着都眼睛疼,4点钟时看得眼睛都瞎了啊。此时应想,主界面可以滚动,是一个scrollView,是scrollView就得有contentSize,然后一看手机的页面,总共有5页,由于5s机型的宽度是320,所以这时候可以大胆猜测它的contentSize的最大宽度是1600,mond+F***准确命中,同时,还注意到,它的contentOffset是960又此时我的页面正是第4页,基本锁定目标,查找frame的坐标是960,0的view,此时可以得到大量信息了,SBRootIconListView,这个就是用来装一页所有图标的View,SBIconListModel这个里边,我猜是装了该view里边的模型信息,注意,11icons,正好是我们页面所有的图标数,此时再看后边SBIconView的size62,62  这和图标尺寸的差距只有2个点,基本锁定,它就是我们要找的目标此时,让我们找到是什么在处理SBIconView的事件,我们所知道的,view一般是用来展示的,事件的发生一般都会交给代{过}{滤}理来负责。让我们使用nextResponder,或者寻找他们的代{过}{滤}理,来定位到一个controller文件,很幸运,直接一步就找到了,就是它:SBIconController!附件101269此时,我们可以class-dump出SpringBoard的头文件了,去查看一下它的里边都有些什么方法和属性,如果想偷懒,去github直接搜索也行。。。根据关键词和方法名译的意思大致锁定出来以下几个方法ps:  这儿的char是BOOL类型代码:[Objective-C] 纯文本查看 复制代码-(void)_handleShortcutMenuPeek:(id)arg1;-(SBApplicationShortcutMenu*)presentedShortcutMenu;-(char)_canRevealShortcutMenu;-(id)_aggregateLoggingAppKeyForShortcutMenu:(id)arg1;-(void)applicationShortcutMenu:(id)arg1activateShortcutItem:(id)arg2index:(int)arg3;-(void)applicationShortcutMenu:(id)arg1startEditingForIconView:(id)arg2;-(void)applicationShortcutMenu:(id)arg1launchApplicationWithIconView:(id)arg2;-(void)applicationShortcutMenuDidPresent:(id)arg1;-(void)_revealMenuForIconView:(id)arg1presentImmediately:(char)arg2;自己写一个tweak,hook所有的这些函数,给他们所有的实现之前加上一个NSLog(),查看调用的顺序,和传进来的值的类型。以及一次Peek事件所关联到了哪些方法。代码

iOS实践课:修改SpringBoard 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人tmm958758
  • 文件大小44 KB
  • 时间2019-05-25