刚开始接触逆向分析,边学边做一些小练习
首先观察一下这个小程序整体
尝试触发一些事件
大体看到他调用了windows下的messageboxw函数
现在对它进行调试分析
对其使用检索字符串命令后,可以发现他像messageboxw函数传递的字符串参数命令的地址
4015b4我们在此设置断点,继续运行调试
在此命令上方不远处,发现了字符串比较函数,猜测是否是用于比较,输入
字符串和密钥
检查传递参数时寄存器的状态确实有
用户输入,和一串未出现过的字符串。
尝试输入字符串调试
成功匹配,说明该字符串为密钥,至此已经可以结束
也可以继续向上分析
上方不远处有一段是用于检查输入字符串是否合法,如果没有输入
则跳转到提示用户输入字符串
追踪密钥在栈中情况,发现上方有此段代码调用密钥所在地址
取地址403020处值传递至寄存器edx,该地址实际存放着密钥的一部分ascii码
检查此地址
由此我们可以改变值,让密钥替换为我们想要的值