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
黄色高亮的那一行就是引用NSDate的地方,继续往下看,看到什么问题没有?
86400.0这个数字比较可疑,这是一个程序中使用的常量,什么常量呢?(作者身高
的浮点数,薪水......), 3600 X 24 = 86400,就是一天有24个小时有86400秒钟。
FLDD D7,=86400.0
FDIVD D6,D5,D7
结合这两条指令来看,第一条指令是将86400.0赋给D7,下一条指令是用D5的值除
以D7然后将结果保存到D6中,小学生现在都清楚了,它是在计算有多少天。那么修
改这里就可以达到我们的目的了,我们虽然尚不清楚被除数D5怎么得来的,但是我
可以修改86400这个常量,如果我把86400修改为 86400 X 2 = 172800 的话,那
么在程序看来,要过172800秒才算是过一天,86400 X 365,86400 X 365 X 20(二十
年又是一好汉),86400 X 2012 (-_-#)....