首页
社区
课程
招聘
[原创]iOS逆向实践记录-让非6s机型在SpringBoard拥有3DTouch
发表于: 2015-11-10 04:09 73520

[原创]iOS逆向实践记录-让非6s机型在SpringBoard拥有3DTouch

2015-11-10 04:09
73520

首先先给我这困难的语言表达能力道个歉哈,真的尽力了。
本章排版是参照http://bbs.pediy.com/showthread.php?t=205133大神的来排的,第一次写心得文,也把所学到的分享给大家
最近才接触不久的逆向工程,刷夜,爆肝,把《iOS应用逆向工程》这本书的工具,全部看了一遍,并且尝试了一遍,感觉需要点什么。 那就是实践!  最近6s手机出了3DTouch,无奈手中没有这款机型,恰好最近对逆向小有心得,又听说过已经有插件能实现同样的需求,证明确实有可行性,于是开动。根据点击的判断和出现,初步感觉,这应该不需要多少行代码就能搞定,应该只要添加一个手势,或者是更改一个手势的点击事件,让系统认为发生了3DTouch点击事件,就可以了。

所需工具: cycript,openSSH,class-dump
测试环境:iOS9.0.2,iPhone5s
备注:因为自身没有3DTouch,所以需要下载一个插件,让机器拥有3DTouch功能,我使用的是forcy,通过覆盖长按手势,实现

通过查阅官方文档,得到关键词  Shortcut Menu peek pop
这个词将来就是要在找关键方法时刻所要用到的

现在开始!
通过ssh连接到手机,然后将cycript注入到SpringBoard
huangjipingde-iPhone:~ root# cycript -p SpringBoard

首先 先隆重介绍1个方法,2个函数
1方法 [view recursiveDescription]  该方法可以当做是Reveal的文字版,用来查看当前页面的布局
2函数,原理均是runtime,但是第二个没有怎么看懂。。。
1. printMethods 打印出该类所有的方法,后边接的是实现的地址,在这儿补充一下,如果想对某个方法打断点,但是又不想使用ida查看方法偏移,可以直接在这实现的地址处,添加断点,虽然不知道断在什么地方,但是可以肯定一定是在执行该方法的时候。效果如下图:

function printMethods(className){
var count = new new Type("I");
var methods = class_copyMethodList(objc_getClass(className),count);
var methodsArray = [];
for (var i = 0; i < *count; i++){
var method = methods[i];
methodsArray.push({selector:method_getName(method), implentation:method_getImplementation(method)});
}
free(methods);
free(count);
return methodsArray;
}
function tryPrintIvars(a){ 
var x={}; 
for(i in *a){ 
try{ 
x[i] = (*a)[i]; 
} catch(e){} 
}
 return x;}
    [[UIApplication sharedApplication].keyWindow.rootViewController.view recursiveDescription]

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 3
支持
分享
最新回复 (15)
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢楼主分享,学习一下。
2015-11-10 07:09
0
雪    币: 601
活跃值: (256)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
3
学习,期待下文
2015-11-10 10:31
0
雪    币: 70
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
学习了,谢谢分享
2015-11-10 11:08
0
雪    币: 95
活跃值: (30)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
现在写完了哈
2015-11-10 23:12
0
雪    币: 44
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习了好东西谢谢分享!
2015-12-2 19:54
0
雪    币: 259
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
给力,我也马上看完这本书。
2015-12-17 08:57
0
雪    币: 237
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我在尝试学习,请问一下,你的5S是越狱的么?
2015-12-24 15:20
0
雪    币: 259
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
肯定是越狱的啦。

感谢楼主分享。
2015-12-25 09:11
0
雪    币: 191
活跃值: (848)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
10
感谢分享
2015-12-25 09:23
0
雪    币: 269
活跃值: (906)
能力值: ( LV12,RANK:345 )
在线值:
发帖
回帖
粉丝
11
这边帖子不应该加精?
2016-1-17 20:45
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
联系方式留个啊
2016-11-11 12:51
0
雪    币: 325
活跃值: (186)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
你怎么老是问人要联系方式
2016-11-15 16:53
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
在招人啊
2016-11-17 11:56
0
雪    币: 325
活跃值: (186)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
哪个城市啊,招人不留hr邮箱?
2016-11-17 18:59
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
北京呀,80113366@qq.com
2016-11-21 11:16
0
游客
登录 | 注册 方可回帖
返回
//