欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

IPhone 平台下破解:Crack Firewall ip

IPhone 平台下破解:Crack Firewall ip

PS:仙果代朋友而发
目录:
0x1.题记
0x2.调试环境及工具
0x3.破解过程
0x4.结语
作者相关
afdsft@gmail.com
http://hi.baidu.com/afdsft
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秒钟。

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功