首先打开软件
发现这是一个CD-check的题目这里推荐一下《加密与解密 第三版》的5.7节CD-Check还有一个博客
大家可以参考
之后PEID查,没有壳,C++程序,CD-Check我们只能够通过爆破:
OD运行:接下来大致分成三种找到关键位置的方式:
1.正常运行:F9之后弹出对话框,我们点击Check for CD之后,弹出错误对话框,不点击确定,直接F12暂停程序之Alt+K找对话框的函数调用(这是弹出错误对话框类型的处理方式)找到函数调用的部分,show call过去
2.既然是一个CD-Check那么我们就去找关键函数呗,GetDirvertypeA是获取磁盘驱动器类型的关键函数
OD之后,Crtl+N 查找所有调用函数模块 查看调用树,找到调用位置 反汇编窗口跟随过去即可3.最简单使用的,直接找参考文本字符串
失败的成功一起找到,很简单之后找到关键位置,找跳转语句就很轻松了
爆破,更改
无脑跳转
dump下来成一个新文件
成功.向上看一下这个CD-Check的过程:
使用Creatflie()函数从C盘符查找到P盘符,看看有没有 CD_CHECK.DAT这个文件,如果有就打开,但是明显我们没有,所以就失败了。