- 提示:
大概意思是:这个mp3播放器被限制到了一分钟,你必须要让它播放超过1分钟,这有一些一分钟的检测点,在通过了所有检测点之后就会看到flag。
- 程序运行:
最上面的是文件选择选项,中间的是1分钟的进度条,最下面从左到右依次是:播放键、暂停键、停止键、音量
1分钟之后弹窗:
- 查壳显示无壳,VB5.0/6.0:
- 拖进IDA分析
没什么头绪,看到有大佬在用VB Decompiler,回头试试
接着OD动态调试 - 智能搜索字符串,1 处有对应着弹出框的 1? ?????
- 下个断点,往下就有MsgBox弹窗函数:
- 向上翻找到进行跳转的函数,它是通过比较进行的,我们直接改成无条件转移:jmp 004045FE 直接跳过弹窗
- 保存一下,并运行,报错:
- 重新加载这个已经修改的程序,在原先跳转的地方下断点。将歌曲播放至59秒,之后暂停,这个时候,会发现,程序运行不动,那是因为没有点击 播放 按钮,再次点击播放按钮后会运行至断点处。
- 单步调试,找到第二个弹窗函数,004046B9处
- 向上翻,找到跳转点,004046AB,直接改成 jmp 004046BF,跳过弹窗
- 保存一下,并运行:
知识点
- MsgBox (Prompt [,Buttons] [,Title] [,Helpfile,Context]) VB弹窗函数
第一个是弹出的字符串,第二个是多少个button,第三个是标题,第四个是字符串表达式,用来向对话框提供上下文相关帮助的帮助文件,第五个是数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。
这里文件中显示的是rtcMsgBox