CreateProcess
,在中断在该函数处,设置eip指针到函数的retn,使堆栈平衡。eax
返回值
,可以设置为一个非0值,表示创建进程成功。
此时可以用另一个od打开新的进程即可。
第一:OD载入后会停留在程序入口,刚开始就是暂停的.第二:如果你按f9后OD会开始执行你的程序,这时候除非碰到断点是不会停止的,如果你是按了f9后停留在ntdll说明程序此时遇到中段或者进入了更高级别的段,OD是调试r3级别程序的利器但是无法对r0级别的代码进行调试.第三:许多程序都会用一个小小的手段来迷惑调试者,那就是seh结构化异常处理来进行程序的跳转或者判断程序是否给调试.此情况比较多,但是OD会有提示.第四:而不是程序的领空这句话说的我很蛋疼,你并没有告诉我你的程序执行情况,是否断点,是否异常,或者OD是否提示IO指令等等.所以请你把od的提示弄清楚后在发问,详细的代码段,执行环境,断点数量.和出现问题.确定在进行OD调试时注入的DLL何时出现了错误,可以使用OD的DebugView窗口来查看调试信息。可以按照以下步骤进行 *** 作:1、在OD中打开您要调试的程序,并在程序启动后暂停程序执行。
2、在OD的“调试控制台”窗口中输入以下命令,以加载您的注入DLL,按下回车键后,OD应该会显示“DLL已加载”的消息。
3、在OD的“调试控制台”窗口中输入以下命令,以附加到您的注入DLL,按下回车键后,OD应该会显示“附加成功”的消息。
4、在OD的“调试控制台”窗口中输入以下命令,以继续程序执行。
5、在OD的“调试控制台”窗口中观察输出信息,查看您的注入DLL在执行过程中是否出现了错误。
6、如果您的注入DLL出现了错误,您可以使用OD的调试器功能来定位错误的位置,例如使用断点、单步执行等方式进行调试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)