NYNUCTF-魂斗罗

魂斗罗

nynu-re-魂斗罗(2021年ISCCre题)

动态调试通过搜索字符串找到三个关键点
在这里插入图片描述
在这里插入图片描述
最后输出字符串的判断要自己向下找
在这里插入图片描述

程序启动后通过键入特定键盘按键会出现提示
eax通过键入按键获得一个值,通过cmp与ebx中储存的值进行比较
在赋值出和比较处断点
在这里插入图片描述

在这里插入图片描述

断点在比较处断下时转到ebx可以看到它将要比较的值
这时可以直接修改也可以不断测速按键得到正确字符
(按键和对应的值就不列举了自己试试吧doge)
输入wankkoree得到:
在这里插入图片描述

输入↑↑↓↓←→←→BABA得到:
在这里插入图片描述
给了个进度条可以用来要键入什么
测速可知f11是第一个按键
在这里插入图片描述
断下判断处的断点后转入ebx的内存窗口发现有些值是不能通过键盘键入的
这时就需要在判断前修改eax的值达到目的
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
不断的修改可以看到进度不断增长(改错一个值就得重来就很要命)
当进度条满了就会得到flag

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
》是一款经典的射击游戏,而Python是一种优秀的编程语言。那么,如何用Python来制作一个游戏呢? 首先,使用Python的pygame库作为游戏开发的工具,因为pygame是一种专门用于制作游戏的库,提供了丰富的功能和接口。 然后,我们需要创建游戏窗口。通过pygame的display模块,我们可以方便地创建一个窗口,并设置窗口的大小和标题等属性。 接下来,我们需要加载游戏所需的资源,如背景图、角色图片、敌人图片等。通过pygame的image模块,我们可以很方便地加载这些资源,并在游戏中使用。 然后,我们需要处理游戏的各种事件,比如按键操作、碰撞检测等。通过pygame的event模块,我们可以监听和处理这些事件,并作出相应的反应,使游戏能够根据玩家的操作进行变化。 接着,我们需要设置游戏的逻辑。比如控制角色的移动、射击、敌人的生成和行为等。通过编写逻辑代码,可以让游戏具有丰富的玩法和挑战性。 最后,我们需要循环地更新游戏的状态,并实时绘制游戏界面。通过pygame的clock模块,可以控制游戏的帧率,并实现平滑的动画效果。 综上所述,用Python制作一个游戏需要使用pygame库来实现游戏窗口的创建、资源的加载、事件的处理、逻辑的设置和游戏状态的更新等功能。通过编写相应的代码,我们可以让Python拥有一样的魅力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值