事情是怎么开始的?

项目组里那个老掉牙的系统,跑核心任务的,它有个臭毛病,必须得早上九点整,人工输入一个四位数的动态口令才能启动,晚一秒都不行。我们组的人,包括我,天天九点就像上刑一样,守着电脑。我TM连着被这个破规矩卡了两个月,两个月!天天九点准时在电脑前傻等,像个看门的。

有一天晚上,我跟我老婆抱怨这事儿。她就笑话我,说你不是搞技术的吗,天天被一个破口令拴着,跟个门童似的,能不能想个办法,弄个“自由通行证”让它自己跑?这话突然就给我点醒了。那系统太老了,没有API,不给我活路,那我就自己创造活路。

动手搞定“通行证”

我一开始想的是,既然是动态口令,那我能不能逆向它的算法?我先是抓了一堆包分析了它客户端跟服务器的通讯。结果发现,全TM是私有加密,而且口令生成还得联网同步时间,不是那种标准的TOTP或者HOTP,搞不定。这是个死胡同,我折腾了两天就放弃了。

小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

硬碰硬不行,那就得玩点“绅士游戏”了。

“绅士游戏”的真正玩法

既然代码搞不定算法,那我就搞定输入。系统要的不是那个口令生成过程,它要的只是那个正确的四位数被填进去。我决定绕过生成和验证,直接读取结果。

我的思路是:既然客户端能算出来,那内存里就一定存着。

  • 我打开了一个内存分析工具,直接挂钩了生成口令的那个小小的客户端程序。
  • 我先运行一次,记录了一堆内存地址。然后关闭,再运行一次,对比两次地址空间。
  • 费了半天劲,终于定位到了那块存储口令的内存区域。那块区域里,每隔一段时间,就会出现一个新的四位数。
  • 定位之后就简单了。我写了一个小型的注入模块,这玩意儿一启动,就强行读取主程序内存里的那块地址。
  • 读取到那个四位数后,我写了个模拟输入脚本,通过后台操作,直接填充进老系统的输入框。
  • 然后脚本自动定位那个“确认”按钮,模拟鼠标点击。

全程不到五秒钟。系统以为是我手动输的,它接受了,任务开始跑了。

解放了,这笔账太值了

这套东西跑通之后,我设定了一个定时任务。每天早上八点五十八分五十九秒,脚本自动启动,读取口令,输入,任务启动。

从那天起,我彻底解放了。那个破系统还在那儿老老实实跑着,但我的“自由通行证”已经生效了。这TMD才是真正的绅士游戏,靠脑子,不跟你玩蛮力。现在九点到了,我还在床上躺着,任务自己就完成了。那些还在等着手机上的口令的同事,他们还在骂系统垃圾。我啥也没说,就看着他们干着急。一个简单的内存穿透和模拟输入,省了我多少时间,这笔账太值了。

免责声明:喜欢请购买正版授权并合法使用,此软件只适用于测试试用版本。来源于转载自各大媒体和网络。 此仅供爱好者测试及研究之用,版权归发行公司所有。任何组织或个人不得传播或用于任何商业用途,否则一切后果由该组织及个人承担!我方将不承担任何法律及连带责任。 对使用本测试版本后产生的任何不良影响,我方不承担任何法律及连带责任。 请自觉于下载后24小时内删除。如果喜欢本游戏,请购买正版授权并合法使用。 本站内容侵犯了原著者的合法权益,可联系我们进行处理。