shushuihan 发表于 2015-12-29 23:23:42

关健CALL找到了但……

用OD载入程序之后,找到关健CALL,步入的话进去就是系统领空,步过呢未注册窗口就弹出来了,如果nop掉这个CALL,主窗口也出不来了。直接闪退😭😭😭😭😭😭

31513262 发表于 2015-12-31 06:02:57

同求大神现身说法

pengyuwa 发表于 2016-1-2 22:49:46

本帖最后由 pengyuwa 于 2016-1-2 22:50 编辑

要有图啊,估计你的那个call是 一个api函数{:5_109:}如果是有参数的你nop了就会是堆栈不平衡,程序死掉

kingluo123 发表于 2016-2-1 16:33:15

一直跟进去能就是个死循环,建议换个方法
OD调试第二课有讲解

自古天道酬勤 发表于 2016-2-9 23:34:55

学习一下

shushuihan 发表于 2016-2-10 01:35:28

pengyuwa 发表于 2016-1-2 22:49
要有图啊,估计你的那个call是 一个api函数如果是有参数的你nop了就会是堆栈不平衡,程序死掉

shushuihan 发表于 2016-2-10 01:36:20

pengyuwa 发表于 2016-1-2 22:49
要有图啊,估计你的那个call是 一个api函数如果是有参数的你nop了就会是堆栈不平衡,程序死掉

表示看不懂

shushuihan 发表于 2016-2-10 01:50:41

pengyuwa 发表于 2016-1-2 22:49
要有图啊,估计你的那个call是 一个api函数如果是有参数的你nop了就会是堆栈不平衡,程序死掉

pengyuwa 发表于 2016-3-4 21:23:05

你这个是创建进程的api   往上找,看看有没有跳过这个call的,如果没有,看看是哪个call调用到这个call的,也就是段首下段,返回上层call后,看看有没有跳过这个上层call的跳转,一般简单的程序就只有这个思路了

pengyuwa 发表于 2016-3-4 21:34:41

本帖最后由 pengyuwa 于 2016-3-4 21:35 编辑

shushuihan 发表于 2016-2-10 01:36
表示看不懂

解释一下,带参数的call他先push参数,然后push调用处地址的下个地址,当call出来的时候ret就是esp处的地址,然而,你nop了带参数的call(这里的call指的是call里面的call),等于,ret的时候esp没有指向调用处的下个地址,所以导致ret到了未知处,这个危害是要看运气的,这个有点像溢出
页: [1]
查看完整版本: 关健CALL找到了但……