把点滴想法拾起来,汇聚一块,连成自己的成长足迹 -----zzzevazzz
我的日志
学校二号楼的“电子阅览室”是我以前经常光顾的地方。进去的时候,首先需要在门口刷一次卡,然后用自己的卡号登陆系统。下机的时候,先在电脑上选择“注销”,然后出门刷卡付费。整个过程做得正儿八经的。
登陆管理软件经查实是本大学自创的,一进去就缩小成一个黄色醒目标示的“IC”托盘图标,一看就不爽。我首先想到的就是:把XP的任务管理器抬上场!于是,我小心按下Ctrl-Alt-Del......当~~~说是管理员禁止了此项功能,想必肯定是管理员修改了注册表。运行regedit看看......当~~~又禁止了,我忍。看来人家从基层就提防着。不过没关系,我运行mmc,居然顺顺利利地进入了组策略管理,这让我高兴了许多,谁叫学校一用就是Professional版本呢?很快找到了“禁用Ctrl-Alt-Del”项,禁用该项过后,再试Ctrl ...熟悉的任务管理器立即浮现在眼前。从进程列表中一看就看到了醒目的黄色“IC”图标,进程是hrclient.exe。那么快就找到了攻击目标,单从这一点我就不看好这个软件。这时候,是人的都会冲动地按下“结束任务”按钮,IC立即就烟消云散了。可是没几秒钟,IC又重新出现在进程列表中~~~晕,这么老土的防御,我还指望它是立即关机以示抗议呢!本以为我可以不借助第三方工具的,可是没辙,只得去下了个Filemon再结束掉IC看看,很快掘出了地方保护组织。接下来,先端掉地方保护,再端掉hrclient。果然一命呜呼啦
,皆大欢喜!!很明显事情没有这么简单:
注意到我刷卡之后>>登陆>>端掉hrclient>>注销!#$%^^^。可没有hrclient,我怎么注销啊?我的钱还扣着呢^^^^^^不过这都不属于软件研究的范畴了,那个看门的软件那么容易就被攻破,显然保护没有到位。不过做事要做到底,我又支一招——让Windows开机不加载它。这样的话我就有空选择“注销”,然后和它说再见,重新启动计算机了。而且试验发现他们没有在硬盘还原上施招,这使得工作起来简便很多。
为了禁止它自动启动,我到注册表的Run子项下把它连同它的地方保护组织,管它三七二十一一齐删掉。重新启动......就当快要胜利的时候我看见它又浮现出来了~~~倒!......好,我运行msconfig,把里面除微软的服务和启动项全部删除,重启.......我又看见了那熟悉的面孔!!再次设置msconfig,改为诊断性启动,连同微软的服务也一并抛弃掉,重启......天哪,又出现了,真是阴魂不散,这怎么可能?我使出我的绝招,在开机的时候抓住关键瞬间按下亲爱的F8
,进入了保护模式。很快屏幕漆黑,就剩下左上角一个光标。信而硬盘灯狂闪,我的心也狂跳。许久,硬盘灯不怎么亮了,屏幕还是一片漆黑,怎么办?再许久,我只好重新启动,祈求天主保佑......完了,这次还没进Win XP就蓝屏死在那里了。看来我遇到了从来没有见过的高深莫测的保护技术,这下完蛋了,身边什么工具都没有。反复几次还是没指望,只好厚着脸皮去叫管理员叔叔。管理员叔叔和蔼地走过来帮我恢复了,此后由于风险原因我停止了研究。其实是由于好奇,而且我以为是那台计算机存在个体差异,于是尝试在其它机器上进入保护模式。结果由于我上一次故作诚实,没有偷看还原密码,又只好请管理员叔叔,管理员叔叔又和蔼地走过来。我看我都快被他认出了,而且事情一直没有什么进展,自己宣布攻击暂时告一段落。这件离奇的事情一直困扰着我,致使我的研究变简单为复杂,严重影响了我的逻辑。因此破解这个愚蠢的程序竟成为我有生以来最失败的作品。
几个星期后,当我再次来到二号楼“电子阅览室”,心情都平静了。为达到同一目的,我开始着手试验B计划。谁知道,B计划实现起来是如此的容易,以至于它理所当然地成为了最终的破解方案。
B计划:将功能核心hrclient.exe的代码给偷换掉,这个计划完全寄希望于hrclient.exe的“帮凶”比较愚蠢,启动了一个毫无功能的替代品自己却不知道。
B计划的实现与优化:首先是试运行,都知道著名的notepad.exe。好,正常启动计算机后什么都别动,把%systemroot%\system32\hrclient.exe偷偷地更名换成hrclient.exe.bak,然后把%systemroot%\notepad.exe更名成hrclient.exe并复制到system32下。OK!注销,重新启动......很好,我很高兴地看到我们的记事本不断地从屏幕上涌出来,此时如果解决掉地方保护组织,它就不会不断跳出来了。这也暗中向我们揭示了地方保护程序的单纯性:每隔一定时间间隔,启动hrclient.exe。而hrclient.exe进程是启动互斥的,从而我们只看到有1个hrclient.exe在运行。虽然程序这样写很简单,但显而易见安全性很低。为了每次不那么麻烦,我使用VB只用独独几行语句实现窗体互斥,然后放个替身,搞定!
详尽的时间测试表明,计费不像我原先想象的那么人性化,其实是自我第一次刷卡开始,第二次刷卡结束滴。根本与计算机上的那套软件系统毫无关系。那套软件系统仅仅起到防止小人不刷卡溜进来上机的作用。失望ing......当然,由于软件系统被攻破,我可以很方便地实现一卡上多台计算机。要偷税漏税也不是不可以,只是有点麻烦。不过你不要骗我去做那么不光彩的事情。嘿嘿~~~~~
收获:经过后来的分析发现,为了实现比较隐蔽的自动启动,hrclient.exe修改了注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell项。该项本应是字符串值"Explorer.exe",被修改为"Explorer.exe hrclient.exe",用以随微软系统进程Explorer.exe一并启动。另外msconfig不会更改该项的值。
当然,知道了如何攻破,我也应该提出软件保护的建议。我会归纳起来,在以后的日志中一并记载下来。
你可以通过这个链接引用该篇文章:http://iedi.bokee.com/viewdiary.10109528.html
我的广告
我的搜索
定制广告