Crackme046

程序观察

使用 VC 编写,没有壳。

程序打开就是这个样子

点击 File 菜单的按钮就会出现弹窗

猜想这个和 Crackme041 一样,都是让人添加代码使程序可以正常运行。

程序分析

使用 OD 载入程序,搜索字符串,可以看到"Nope doesn't work yet"

跟进代码

其实使用 IDA 可以很直观的看出这几个函数的关系

程序首先调用 GetMenu 函数,然后将其返回结果进行处理,根据不同的值跳转到不同的代码段。

根据实验,点击 load 按钮,处理后的 eax 为 0;
点击 save 按钮,处理后的 eax 为 4;
点击 exit 按钮,处理后的 eax 为 2;
此时会跳转到最左边的代码段,调用 MessageBoxA 函数。

当点击 about 按钮,处理后的 eax 为 3,
此时会跳转到中间的代码段,调用 DialogBoxParamA 函数。

当什么也不点的时候,处理后的 eax 为 1,
此时跳转到最右边的代码段,调用 DefWindowProcA 函数。

知道了程序的逻辑,就可以添加代码让程序可以正常运行了,但由于本人是个代码苦手,实在不知道怎么写 Load按钮 和 Save按钮 的代码,只能写一个 exit按钮的,所以就不写代码了,只分析一下就好了。

你可能感兴趣的:(windows)