首页
社区
课程
招聘
[原创]IPhone 平台下破解:Crack Firewall ip
发表于: 2010-3-30 11:41 9715

[原创]IPhone 平台下破解:Crack Firewall ip

2010-3-30 11:41
9715

PS:仙果代朋友而发
目录:
0x1.题记
0x2.调试环境及工具
0x3.破解过程
0x4.结语

0x1.题记
手上拿到一台港台行货的IPhone,随即开始摆弄,进过一系列的越狱等工作,终于可以把玩。
由于大意电话没有通过wifi上网而是通过GPRS,又没有GPRS流量,所以
白白浪费了一些话费.于是萌生了安装防火墙的念头.
来到Rock App的主页,很快就发现了Firewall ip这款软件,评价还不错,
于是就装到了电话上.迅速浏览下程序的设置页面,发现”block if not on
wifi”这项功能正是我需要的,呵呵.
由于这是Rock App上面的一个付费软件,只能试用10天,程序启动时也会显示
“Trial expires x day”. 恩,这个嘛.........抄家伙:

0x2.调试环境及工具
1.Firewall ip 1.3.9
2.IDA pro 5.5
3.010 Editor
4.vc 2008
5.windows 7_En

0x3.破解过程
一.推测验证:程序如何计算试用期剩于天数?
当然,我们的电话还没有先进到自己去测某个分子的原子周期来计算距离
1900年已经过去多久,那么一般办法有两种:通过网络到指定服务器或是本地取
得当前日期,取得日期后与保存在“某个地方”的安装日期做比较。验证一下,
在“设置->通用->日期”与时间菜单里,将日期调后一天,重新运行软件,发
现原来显示还有10天试用期,现在已经变成了还有11天。那么证明程序是通
过本地来取得日期的。那么这样就可以简单达到延长试用期的目的了,如果我
告诉你文章这里就结束了,你会鄙视我的,呵呵,继续。

二. 程序通过调用什么函数取得当前日期?
对iphone SDK 我的前置知识为零,我更不清楚系统层级别的一些函数。那么又只
有猜测了,通过iphone SDK某个函数取得当前日期,那么函数名字里面得有个关键
字“date”吧,(啥,这也猜不到,-_-#),用ida 将主程序FirewallGUI载入(此处
省去将程序拷到windows主机N个步骤),在 ida 导入函数表里面找到了这个函数,
如图:


然后查看了下这个函数的引用情况,如图:


还好调用的情况不是很复杂,查看下反汇编代码:如图:


黄色高亮的那一行就是引用NSDate的地方,继续往下看,看到什么问题没有?
86400.0这个数字比较可疑,这是一个程序中使用的常量,什么常量呢?(作者身高
的浮点数,薪水......), 3600 X 24 = 86400,就是一天有24个小时有86400秒钟。

FLDD D7,=86400.0
FDIVD D6,D5,D7

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (12)
雪    币: 56
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
图都挂了~~
2010-3-30 11:44
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
3
你刷新下,我这里显示的是正常的
2010-3-30 11:46
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
4
如果显示不了图片
大家登陆上论坛就可以看到了
2010-3-30 12:07
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
5
我这边图片显示正常
2010-3-30 13:03
0
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
6
objective-C....膜拜
2010-3-30 13:19
0
雪    币: 364
活跃值: (91)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
精彩 呵呵 才看到:86400也能唤起LZ的灵感,还有用vc 2008看172800双精度浮点在内存中的“样子”。
  收获不小。
2010-5-26 21:54
0
雪    币: 178
活跃值: (159)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
学习楼主的iphone相关的crack,在做iphone的东西,却没去关注crack,呵呵
2010-5-27 20:55
0
雪    币: 204
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
羡慕楼主的iphone。呵呵
2010-5-27 23:34
0
雪    币: 2166
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
用VC去看浮点数在内存中的位置,好主意啊,学习了
2010-5-28 10:30
0
雪    币: 421
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
文章写的深入浅出。幽默风趣。大家风范。

86400修改为 86400 X 2 = 172800 的话,那
么在程序看来,要过172800秒才算是过一天,86400 X 365,86400 X 365 X 20(二十
年又是一好汉),86400 X 2012 (-_-#)....

看到这里狂笑数秒。
2010-5-28 11:14
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习了,标记下
2012-9-5 00:04
0
雪    币: 163
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
不错,膜拜楼主
2012-9-5 09:35
0
游客
登录 | 注册 方可回帖
返回
//