首先观察程序的结构
查壳后并未发现有壳
接下来OD载入开始你的操作
最先的是一个nag窗口 所以直接命令行BP MessageBoxA
开始运行程序,程序停在了MessageBoxA中
点击nag窗口
直接Nop后发现程序奔溃了 深入了解后发现nop方法并不能达到效果 所以在调用窗户处执行到返回 看有没有关键跳转
并未发现再次执行到返回
还是未发现再执行到返回
找到了nag窗口的关键跳 程序在此处判断了程序是否第一次运行程序 如果是则不跳转 否则跳转不显示nag窗口
随意输入然后check弹窗处暂停OD可查看OD窗口中程序的句柄处找到调用 也可以工具栏中K查看事件调用的进程
也可一直执行到返回找到关键跳
找到到关键判断call cmp中hello Dude
接下来继续解决最后一个问题继续使用上面的方法找到关键call和 关键跳转
解决之 完工!