出息了!做的月饼游戏被985大学老师拿去当案例了!

昨天有位小伙伴告诉我,上一次我的中秋吃月饼游戏的程序,居然被他们大学老师拿去做逆向课的案例了,还是985的高校。

图片

想想还有点小激动,难道这位高校老师也关注了我?

话说回来,到底要怎样才能吃到这块月饼呢?

图片

首先来看一下正规的解法,然后给大家看一下各位粉丝的骚操作,真的是让人哭笑不得。

很多小伙伴第一反应拿IDA反编译看看有没有什么字符串口令啥的。这一次我做了一点小操作,口令通过二维码图片的形式藏在了月饼后面,所以直接用字符串大法啥也看不到。

这个程序运行起来之后,会出现一个月饼的窗口,文字提示:点击吃月饼。然而当鼠标移动上去之后,窗口会消失,随后随机出现在另一个地方。

实现这一功能的原理,需要程序响应鼠标移动的消息,让窗口移动到另一个地方。

知道了原理,那破解的方法就有了:

方法1:禁止月饼窗口移动

我们可以用IDA打开程序,然后定位到响应鼠标移动消息的地方,也就是WM_MOUSEMOVE消息,把这个消息的响应给它去除掉。去除的方法很简单,可以把消息值换一下,或者直接把这一段指令换成nop指令或者ret指令,这样,程序便没法响应鼠标移动消息了从而改变位置了。

图片

图片

方法2:直接强制点击月饼窗口

要点击一个窗口,通常情况下是需要先把鼠标移动上去,然后再点击。但现在鼠标没法移动上去,它要跑。那能不能跳过这一步,不把鼠标移动上去,也能点击呢?

虽然这有点违背常识,但在计算机的世界里是可行的。所谓点击,其实也是一个消息,我们可以直接编程,发送一个鼠标点击的消息过去:

图片

这样,同样可以点击到月饼,拿到隐藏在月饼背后的二维码。

好了,上面介绍了两种从逆向的角度破解的方法,接下来是粉丝朋友们脑洞大开的环节了。

方法3:利用拖动点击月饼

在Windows操作系统上,除了直接移动鼠标光标,还有一种也能移动鼠标光标,那就是按住然后拖动。这两种操作产生的消息是不一样的。而这个程序里面只处理了普通的鼠标移动消息,而对于拖动情况,是没有处理的。这就导致了一个骚操作:

有一些粉丝就发现:按住桌面空白区域,然后拖动光标到月饼上,这时候月饼不会跑,等移动到月饼窗口之上后,随即按下右键,随后再点击左键,同样也能点击到月饼。

图片

方法4:调小分辨率,让月饼无处可逃

这位粉丝的操作就更骚了,之所以点不了,是因为屏幕区域太大了,程序可以随机到处跑。他在虚拟机里面,把系统分辨率调到足够小,这样即使随机跑,也跑不远,多运行几个,总能逮到:

图片

不得不说,网友们的脑洞真是大啊。

最后提一下,这一次的月饼程序是我用ChatGPT写的,生成的代码质量真的很不错,除了换一下图片资源,基本无需改动即可使用。ChatGPT真的很不错!

程序下载地址在这里了,还没玩过的朋友可以下载来玩玩,看看你有没有更清奇的思路:

链接: https://pan.baidu.com/s/1USieEJnFZ-674vtctw-VdA?pwd=724f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值