本帖最后由 柒月 于 2023-6-4 14:04 编辑
将crackme.exe拖入OD
SmileWp
使用插件在messageboxA处下断点
SmileWp
运行crackme,输入xuenixiang/123456
SmileWp
SmileWp
在堆栈跟随栈顶地址到返汇编窗口
SmileWp
下断点在messagebox函数
SmileWp
跟随栈顶指针地址,找到关键跳转
SmileWp
当cmp执行使zf标志位为1时,je发生跳转到成功,所以要让eax和ebx值相等
SmileWp
在处理账号的call函数下断点
SmileWp
进入函数中
SmileWp
分析本函数中的汇编指令
SmileWp
发现数据异或0x5678后返回并压入栈中,在处理密码的call下断点进入函数
SmileWp
分析本函数中的汇编指令
SmileWp
发现密码经过处理异或0x1234后存在ebx中,与账号异或后的值进行比较,相等就成功
SmileWp
由此得出exp
SmileWp
SmileWp
|