马上注册,结交更多易友,享用更多功能,让你轻松玩转觅风论坛。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1.OD中ctrl+f9:运行到返回,就是运行到当前断点所在的函数末尾"retn xxx"处,若xxx=10,那么
10等于10进制的16,就是说这个函数有4个参数,一个参数默认是占4字节,所以就是retn 10。
2.调试程序时,在OD内部小窗口左上角会显示当前断点所在的函数层,是在系统领空还是某个应用程序领空。
3.call前出现lea edx,dword ptr ss:[ebp-x]的分析方法:
当在call处出现类似于下面,在call内部存在对edx的使用时:
call处:
lea edx,dword ptr ss:[ebp-8] ;将ebp-8堆栈地址赋给edx,注意是堆栈地址,不是堆栈地址上存储的数据。
call 0045255c
call内部:
mov esi,edx
...
push esi
那么在写call调用的时候,怎么办呢?
只需要查看当程序停在call处时,edx寄存器的数值,然后去找到edx数值代表的堆栈地址处存储的数据是什么。
是1,所以我们就可以通过ce查找出当前为0的值,为0可能就是无关数据,选择一个地址,修改为1,然后将该地址
赋给edx。
就是mov edx, xxxxx
call 0045255c
|
|