就是对那些官方说不行的东西特别来劲。前几天,我在老群里看到有人又聊起《城市恶魔:重启》这破玩意儿,说官网又更新了点东西。我一听,火就上来了,这都多少年了,它还能搞出啥花样?不亲自摸一遍,心里总有个疙瘩。
本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.me
挖土三尺,找个下手点
官方网站是肯定没戏的,都是些宣传图,糊弄人的玩意儿。我直接去那些早就荒了的贴、论坛里翻箱倒柜。真是绝了,我足足花了两个晚上,硬是让我从一个十年前的私服群里,挖出来一个据说是什么“内部测试版”的压缩包,大得要命,十几个G,差点把我的小水管网速给跑断气。
我屁颠屁颠地解压,找到主程序。双击!报错了!弹出来一个我听都没听过的什么鬼版本库,说必须是那个版本才能跑。当时我就想骂人。折腾了一整个白天,又是装虚拟机,又是找补丁,愣是没搞定,彻底给我整麻了。
跑不起来游戏,我就换个思路。不能从客户端攻,我就去盯官网后台!我把官网的流量数据全给抓了一遍包。那些什么乱七八糟的CSS、JS我全扔一边,我就盯着那些跟服务器交互的“登录”、“心跳”、“重启”的接口看。
抓包分析,柳暗花明又一村
你猜怎么着?那个所谓的“重启”接口,牛皮吹得震天响,但点开一看,就是一个超级简单的POST请求,只要你传过去一个正确的设备ID和一个加密的密匙,它就给你返回一个“成功”信号。压根儿就不是什么高科技,完全靠前端传个认证码,后端应一句“对”。
为什么我非要跟它死磕到底?
很多人觉得为了这么个破游戏浪费三天,不值得。但对我来说,这就跟我以前在公司里搞那个老项目一样,不是能不能成,是咽不下那口气。
我以前有个极品老板,要求我把一个半成品项目在两天内推给客户。我不眠不休,硬是挤出时间把那些烂代码给捋顺了。结果?项目是交了,但结算的时候,他非说我这个功能那个功能没做完美,给我扣了三分之一的尾款。我当时就火了,但没辙,为了生活只能忍着,当时我就发誓:我给你做出来是我的本事,你算计我是你的问题,但下次你越是想拦我,我越要给你搞出来。
这回的《城市恶魔:重启》也是一样。它不是要看钥匙吗?我直接用脚本硬怼,伪造了一个最完美的包,啪一下,甩给服务器。我要让它后台收到一个来自真实用户的“重启”请求,尽管我根本没跑客户端。
最终战果与实践体会
最终的结果是:
- 我没有运行起来那个十几年前的测试版。
- 我也没看到官网有什么新内容。
- 但我成功地让官网后台收到了一个来自我设备的“重启并成功上线”的虚假报告。
对我来说,这就够了。我把这个从“客户端-抓包-伪造请求-欺骗服务器”的流程,彻底地打通了。从头到尾走一遍,比光听别人说得天花乱坠强一百倍。这才是实践的乐趣,把那些官方的、复杂的、不讲人话的东西,用最土、最粗暴的办法,给自己整明白了。