• 提示:

          Reversing.kr Music Player

大概意思是:这个mp3播放器被限制到了一分钟,你必须要让它播放超过1分钟,这有一些一分钟的检测点,在通过了所有检测点之后就会看到flag。

  • 程序运行:

                            Reversing.kr Music Player

最上面的是文件选择选项,中间的是1分钟的进度条,最下面从左到右依次是:播放键、暂停键、停止键、音量

1分钟之后弹窗:

                                       Reversing.kr Music Player

  • 查壳显示无壳,VB5.0/6.0:

                                         Reversing.kr Music Player

  • 拖进IDA分析
    没什么头绪,看到有大佬在用VB Decompiler,回头试试
    接着OD动态调试
  • 智能搜索字符串,1 处有对应着弹出框的 1? ?????

                   Reversing.kr Music Player

  • 下个断点,往下就有MsgBox弹窗函数:
    Reversing.kr Music Player
  • 向上翻找到进行跳转的函数,它是通过比较进行的,我们直接改成无条件转移:jmp 004045FE   直接跳过弹窗

    Reversing.kr Music Player

    Reversing.kr Music Player
  • 保存一下,并运行,报错:

                                         Reversing.kr Music Player

  • 重新加载这个已经修改的程序,在原先跳转的地方下断点。将歌曲播放至59秒,之后暂停,这个时候,会发现,程序运行不动,那是因为没有点击 播放 按钮,再次点击播放按钮后会运行至断点处。

    Reversing.kr Music Player
  • 单步调试,找到第二个弹窗函数,004046B9处

    Reversing.kr Music Player
  • 向上翻,找到跳转点,004046AB,直接改成   jmp 004046BF,跳过弹窗

    Reversing.kr Music Player

    Reversing.kr Music Player
  • 保存一下,并运行:  

                               Reversing.kr Music Player

 

 

知识点

  • MsgBox (Prompt [,Buttons] [,Title] [,Helpfile,Context])                    VB弹窗函数
    第一个是弹出的字符串,第二个是多少个button,第三个是标题,第四个是字符串表达式,用来向对话框提供上下文相关帮助的帮助文件,第五个是数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。
    这里文件中显示的是rtcMsgBox

 

相关文章: