共计 486 个字符,预计需要花费 2 分钟才能阅读完成。
程序观察
使用 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 按钮的,所以就不写代码了,只分析一下就好了。
正文完