导航:首页 > 软件知识 > od如何暂停程序

od如何暂停程序

发布时间:2023-03-15 15:32:05

❶ 易语言怎么停止一个程序又不关闭程序

如唯团果是在编辑模式 就用暂停命令 如果打算 编译了然后在暂停 可以挂起线程 那么这睁雀个程序就会假死悉山早 后面的代码就不在执行了

❷ 请教OD如何给新线程下鼠标双击消息断点

默认情况下,在调试多顷陵线程程序时,当遇到断点时(breakpoint),当前线程暂停,而其它线程继续运行,有些情况下,这是我们不想要看到的。比如戚枯下面的例子:除第21个线程以外,其余都是Running状态。修改:Window->Preferences->Java->Debug:在红色区域内,将默认的SuspendThread改为SuspendVM再调试多线程程序:可以看到所有线程都高乎洞Suspend了。

❸ 求教,OD载入程序后运行调试,一按暂停就停留在ntdll,而不是程序的领空。 80分求解决方法,解决了加分。

第一: OD载入后会停留在程序入口,刚开始就是暂停的.

第二: 如果你按f9后OD会开圆隐判始执行你的程序,这时候除非碰到断点是不会停止的,如果你是按了f9后停留在ntdll说明程序此时遇到中段或者进入了更高级别的段,OD是调试r3级别程序的利器但是无法对r0级别的代码携余进行调试.

第三: 许多程序都会用一个小小的手橘改段来迷惑调试者,那就是seh结构化异常处理来进行程序的跳转或者判断程序是否给调试. 此情况比较多,但是OD会有提示.

第四: 而不是程序的领空这句话说的我很蛋疼,你并没有告诉我你的程序执行情况,是否断点,是否异常,或者OD是否提示IO指令等等.

所以请你把od的提示弄清楚后在发问,详细的代码段,执行环境,断点数量.和出现问题.

❹ od输入要跟随的快捷键是什么

这里是全部的详细类容 你自己看看

快捷键

无论当前的OllyDbg窗口是什么,这些快捷键均有效:

Ctrl+F2 - 重启程序,即重新启动被调试程序。如果当前没有调试的程序,OllyDbg会运行历史列表[history

list]中的第一个程序。程序重启后,将会删除所有内存断点和硬件断点。

译者注:从实际使用效果看,硬件断点在程序重启后并没有移除。

Alt+F2 - 关闭,即关闭被调试程序。如果程序仍在运行,会弹出一个提示信息,询问您是否要关闭程序。

F3 - 弹出“打开32位.EXE文件”对话框[Open 32-bit .EXE file],您可以选择可执行文件,并可以输入运行参数。

Alt+F5 -

让OllyDbg总在最前面。如果被调试程序在某个断点处发生中断,而这时调试程序弹出一个总在最前面的窗口(一般为模式消息或模式对话框[modal
message

or dialog]),它可能会遮住OllyDbg的一部分,但是我们又不能移动最小化这个窗口。激活OllyDbg(比如按任务栏上的标签)并按

Alt+F5,OllyDbg将设置成总在最前面,会反过来遮住刚才那个窗口。如果您再按一下Alt+F5,OllyDbg会恢复到正常状态。

OllyDbg是否处于总在最前面状态,将会保存,在下一次调试时依然有效。当前是否处于总在最前面状态,会显示在状态栏中。

F7 -

单步步入到下一条命令,如果当前命令是一个函数[Call],则会停在这个函数体的第一条命令上。如果当前命令是是含有REP前缀,则只执行一次重复操作。

Shift+F7 -

与F7相同,但是如果被调试程序发生异常而中止,调试器会首先尝试步入被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。

Ctrl+F7 -

自动步入,在所有的函数调用中一条一条地执行命令(就像您按住F7键不放一样,只是更快一些)。当您执行其他一些单步命令,或者程序到达断点,或者发生异常时,自动步入过程都会停止。每次单步步入,OllyDbg都会更新所有的窗口。所以为了提高自动步入的速度,请您关闭不必要成窗口,对于保留的窗口最好尽量的裤皮小。按Esc键,可以停止自动步入。

F8 -

单步步过到下一条命令。如果当前命令是一个函数,则一次执行完这个函数(除非这个函数内部包含断点,或发生了异常)。如果当前命令是含有REP前缀,则会执行完重复操作,并停在下一条命令上。

Shift+F8 -

与F8相同,但是如果被调试程序发生异常而中止,调试器会首先尝试步过被调试程序指定毁纯衫的异常处理(请参考忽略Kernel32中的内存非法访问)。

Ctrl+F8 -

自动步过,一条一条的执行命令,但并不进入函数调用内部(就像您按住F8键不放一样,只是更快一些)。当您执行其他一些单步命令,或者程序到达断点,或者发生异常时,自动步过过程都会停止。每次单步步过,OllyDbg都会更新所有的窗口。所以为了提高自动步过的速度,请您关闭不必要成窗口,对于保留的窗口最好尽量的小。按Esc键,可以停止自动步过。

F9 - 让程序继续执行。

Shift+F9 -

与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。

Ctrl+F9 -

执行直到返回,跟踪程序直到遇到返回,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条命令执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。

Alt+F9 -

执行直到返回到用户代码段,跟踪程序直到指令所属于的模块不在系统目录中,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。

Ctrl+F11

-Run跟踪步入,一条一条执行命令,进入每个子函数调用,并把寄存器的信息加入到Run跟踪的存储数据中。Run跟踪不会同步更新CPU窗口。

F12 - 停止程序执行,同时暂停被调试程序的所有线程。请不要手动恢复线程运行,最好使用继续执纤腔行快捷键或菜单选项(像 F9)。

Ctrl+F12 - Run跟踪

步过,一条一条执行命令,但是不进入子函数调用,,并把寄存器的信息加入到Run跟踪的存储数据中。Run跟踪不会同步更新CPU窗口。

Esc - 如果当前处于自动运行或跟踪状态,则停止自动运行或跟踪;如果CPU显示的是跟踪数据,则显示真实数据。

Alt+B - 显示断点窗口。在这个窗口中,您可以编辑、删除、或跟进到断点处。

Alt+C - 显示CPU窗口。

Alt+E - 显示模块列表[list of moles]。

Alt+K - 显示调用栈[Call stack]窗口。

Alt+L - 显示日志窗口。

Alt+M - 显示内存窗口。

Alt+O - 显示选项对话框[Options dialog]

Ctrl+P - 显示补丁窗口。

Ctrl+T - 打开 暂停 Run跟踪 对话框

Alt+X - 关闭 OllyDbg。

大多数窗口都支持以下的键盘命令:

Alt+F3 - 关闭当前窗口。

c.&vWmLSGE

Ctrl+F4 - 关闭当前窗口。

F5 - 最大化当前窗口或将当前窗口大小改为正常化。

F6 - 切换到下一个窗口。

Shift+F6 - 切换到前一个窗口。

F10 - 打开与当前窗口或面板相关的快捷菜单。

左方向键 - 显示窗口左方一个字节宽度的内容。

Ctrl+左方向键 - 显示窗口左方一栏的内容。

右方向键 - 显示窗口右方一个字节宽度的内容

Ctrl+右方向键 - 显示窗口右方一栏的内容

反汇编窗口中的快捷键[Disassembler shortcuts]

当CPU窗口中的反汇编面板[Disassembler pane]处于激活状态时,您可以使用以下快捷键:

回车键 - 将选中的命令添加到命令历史[command
history]中,如果当前命令是一个跳转、函数或者是转换表的一个部分,则进入到目的地址。

退格键 - 移除选中部分的自动分析信息。如果分析器将代码误识别为数据,这个快捷键就非常有用。请参考解码提示[decoding hints].

Alt+退格键 - 撤消所选部分的修改,以备份数据的相应内容替换所选部分。仅当备份数据存在且与所选部分不同时可用。

Ctrl+F1 -如果API帮助文件已经选择,将打开与首个选择行内的符号名相关联的帮助主题。

F2 -在首个选择的命令上开关INT3 断点[Breakpoint],也可以双击该行第二列。

Shift+F2 -在首个选择命令设置条件断点,参见忽略Kernel32中内存访问异常[Ignore memory access violations

in Kernel32]。

F4

-执行到所选行,在首个选择的命令上设置一次性断点,然后继续执行调试程序,直到OllyDbg捕获到异常或者停止在该断点上。在程序执行到该命令之前,该一次性断点一直有效。如有必要,可在断点窗口[Breakpoints

window]中删除它。

Shift+F4 -设置记录断点(一种条件断点,当条件满足时一些表达式的值会记录下来), 详情参见断点[Breakpoint]。

Ctrl+F5 -打开与首个选择的命令相对应的源文件。

Alt+F7 -转到上一个找到的参考。

Alt+F8 -转到下一个找到参考。

Ctrl+A -分析当前模块的代码段。

Ctrl+B - 开始二进制搜索。

Ctrl+C -复制所选内容到剪贴板。复制时会简单地按列宽截断不可见内容,如果希望排除不需要的列,可把这些列的宽度调整到最小。

Ctrl+E -以二进制(十六进制)格式编辑所选内容。

Ctrl+F -开始命令搜索。

Ctrl+G -转到某地址。该命令将弹出输入地址或表达式的窗口。该命令不会修改 EIP。

Ctrl+J -列出所有的涉及到该位置的调用和跳转,在您用这个功能之前,您必须使用分析代码功能。

Ctrl+K - 查看与当前函数相关的调用树[Call tree]。在您用这个功能之前,您必须使用分析代码功能。

Ctrl+L - 搜索下一个,重复上一次的搜索内容。

Ctrl+N - 打开当前模块的名称(标签)列表。

Ctrl+O -

扫描object文件。扫描Object文件。该命令会显示扫描Object文件对话框,您可以在该对话框中选择Object文件或者lib文件,并扫描这个文件,试图找到在实际代码段中用到的目标模块。

Ctrl+R

-搜索所选命令的参考。该命令扫描激活模块的全部可执行代码,以找到涉及到首个选中的命令的全部相关参考(包括:常量、跳转及调用),您可以在参考中使用快捷键

Alt+F7 和 Alt+F8来浏览这些参考。为便于您使用,被参考的命令也包含在该列表中。

Ctrl+S -命令搜索。该命令显示命令查找[Find command]对话框供您输入汇编命令,并从当前命令开始搜索。

星号[Asterisk](*) -转到原始位置(激活线程的EIP处)。

Ctrl+星号(*) - 指定新的起始位置,设置当前所选线程的EIP为首个选择字节的地址。您可以在选择EIP并撤消该操作。

加号[Plus](+) -如果run跟踪[run trace] 没有激活,则根据命令历史[command

history]跳到下一条运行过命令的地方;否则跳到Run跟踪的下一个记录。

Ctrl+加号 - 跳到前一个函数开始处。(注意只是跳到,并不执行)

减号[Minus](-) - 如果run跟踪[run trace] 没有激活,则根据命令历史[command

history]跳到前一条运行过命令的地方;否则跳到Run跟踪的前一个记录。

Ctrl+减号 - 跳到下一个函数开始处。(注意只是跳到,并不执行)

空格[Space] -

修改命令。您可在显示对话框中以汇编语言修改实际指令或输入新指令,这些指令将替换实际代码,您也可以在想要修改的指令处双击鼠标。

冒号[Colon]( - 添加标签。显示添加标签窗口[Add label]或修改标签窗口[Change

label],您可在此输入与首个选择的命令中的第一个字节相关联的标签(符号名)。注意,在多种编程语言中,冒号可以是标签的一部分。

分号[Semicolon](;) - 添加注释[comment]。显示添加注释窗口[Add label]或修改注释窗口[Change

label],您可在此输入与首条所选命令的第一个字节相关联的注释(注释串会显示在最后一列中)。注意,多种汇编语言使用分号作为注释开始。您也可以在注释列双击需要注释的命令行。

命令行插件支持的命令

CALC

判断表达式

WATCH

添加监视表达式

AT

在指定地址进行反汇编

FOLLOW

跟随命令

ORIG

反汇编于 EIP

DUMP

在指定地址进行转存

DA

转存为反汇编代码

DB

使用十六进制字节格式转存

DC

使用 ASCII 格式转存

DD

转存在堆栈格式

DU

转存在 UNICODE 格式

DW

使用十六进制字词格式转存

STK

AS

(AS + 地址 + 字符串)

在指定地址进行汇编

BP

进行条件中断(有条件的断点)

BPX

中断在全部调用 (Call)

BPD

清除全部调用中的断点

BC

清除断点

MR

内存断点于访问时

MW

内存断点于写入时

MD

清除内存断点

HR

访问时进行硬件中断

HW

写入时进行硬件中断

HE

执行时进行硬件中断

HD

清除硬件断点

STOP

停止运行程序调试

PAUSE

暂停执行程序调试

RUN

运行程序进行调试

GE

运行和通过例外

SI

单步进入 Call 中

SO

步过 Call

TI

跟踪进入直到地址

TO

跟踪步过直到地址

TC

跟踪进入直到满足条件

TOC

跟踪步过直到满足条件

TR

运行直到返回

TU

运行直到用户代码

LOG

查看记录窗口

MOD

查看模块窗口

MEM

查看内存窗口

CPU

查看 CPU 窗口

CS

查看 Call 堆栈

BRK

查看断点窗口

OPT

打开选项设置窗口

EXIT

退出 OllyDbg

QUIT

退出 OllyDbg

OPEN

打开一个可执行文件

CLOSE

关闭可执行文件

RST

重新运行当前程序

HELP

查看 API 函数的帮助

❺ 求od使用断点方法。

一、条件断点:

使用方法(如):
在当前行按[Shift+F2]键->条薯宏件断点(这个不太好用,因为程序BUG偶尔失效)。
在当前行按[Shift+F4]键->条件记录断点(只要设置上条件语句和按什么条件生效就可以了)。

条件语句(如):
EAX == 00401000 ; 当EAX的值为00401000时。
[EAX] == 05201314 ; 比如EAX的值为00401000,而地址00401000处所指向的值等于5201314时,即EAX的值表示为指针。
[[EAX]] == 05201314 ; 比如EAX的值为00401000,地址00401000处所指向的值为00402000,而地址00402000处所指向的值等于5201314时,即EAX的值表示为指针的指针。
EAX == 05201314 && EBX == 0x05201314 ; 当EAX的值等于5201314(十进制),并且EBX的值等于5201314(十六进制)时。
[EBP+8] == WM_COMMAND ;
[[EBP+8]] == 05201314 ;
byte ptr[EAX] == 'y' ;
[EAX] == "coderui" ; 比如EAX的值为00401000,而地址00401000处所指向的字符串为“coderui”时,即EAX的值镇旦表示为指针。
[[EAX+4]+4] == WM_LBUTTONUP ;

二、消息断点:

原理:就是在消息函数上设置条件断点。

步骤:
1、使用[Ctrl+G]呼出“表达式跟随窗口”,输入“TranslateMessage”,然后回车。
2、在“转到”的位置上使用[Shift+F4]呼出“条件记录断点设置窗口”。
3、在“条件”中输入如下语句“[[ESP+4]]==当前按钮句柄&&[[ESP+4]+4]==WM_LBUTTONUP”。
4、把“暂停程序”设置为“按条件”,其他都为默认,然后确定。
5、点击按钮后,程序会停在“TranslateMessage”函数的系统领空中。
6、查看内存,对代码段下“御手扰内存访问断点”,然后经过多次[F9](运行),就会找到关键的处理代码了。

❻ VB程序如何在OD下面的 COMMAND框中下断

vb程序 最难办的第一点就是断点难下啊。因为它是解释执行,调用的多是MSVBVM60( 我是说vb6.0 vb.net可以直接反汇编出来自己让做可以慢慢研究)中的函数,常用的有__vbavartstne,__vbaR8Str,__vbastrcmp,
rtcGetPresentDate,rtcMsgBox等。

如果是明码比较的,一般可以用__vbaStrCmp可以断下。 以vb6来说基本上是这样的

bpMSVBVM60!__vbaVarTstEq

前面要指明模块。。另外比较笨的方法是在在对“注册按钮”下消慧埋息断点 。还有一些手段就是直接推程序二进制偏移码。前滑蚂 我有一次,死活去不掉那个注册窗口,最后直接修改INT,把rtcMsgBox,给换成了一个无所谓的同字符数的函数。。 反正VB程序不太好搞。。主要还是解释执行的问题。

❼ 请教OD 怎样下消息断点

1:用OD打开软件,
2:点击选项——调试选项——异常,把里面的√全部去掉!CTRL+F2重载下程序,
3:一开是程序就是一个跳转,在散乎唤这里我们按SHIFT+F9,直到程序运行,记下从开始按F9到程序运行的次数,
4:CTRL+F2重载程序,按SHIFT+F9(次数为程序运行的次数-1次 ,
5:在OD的右下角我们看见有一个SE 句柄,这顷核时我们按CTRL+G,输入SE 句柄前的地址,冲凯
6:按F2下断点!然后按SHIFT+F9来到断点处,
7:去掉断点,按F8慢慢向下走,
8:到达程序的OEP,脱壳。

❽ 关于OD的bp send断点

71A24C27 就是正确的断点。。。

这个是系统dll的函数,开机后,其函数地址是固定不变的。 在所有的程序里面都是这个地址。

只有你用od加载(或者附加)在某个程序后,巧瞎裂在71A24C27 设置断点后,只神孝要这个程序使用了send函数进行通信,就会被断下。
而且其他的程序,如ie,qq等使孝闭用send函数是不会被od断下的,因为你没有用od附加ie和qq。ollydbg是应用层的调试工具,是与进程相关的,不会跨进程。

❾ 数据挂接证明怎么写

数据挂接证明怎么写步骤如下:
1、在软件上去暂停程序。
2、OD挂接橡枣,让主线程运行,基李其他线程暂停,这样就停掉了搏如迟壳程序。
3、OD跳向WaitForDebugEvent补丁它push进程ID。

阅读全文

与od如何暂停程序相关的资料

热点内容
怎么戒频繁交易 浏览:918
罗氏血糖仪如何删除历史数据 浏览:453
联众不锈钢管代理厂家有哪些 浏览:513
电脑版本的交易猫是什么样 浏览:591
交易状态显示竞价交易什么意思 浏览:427
哪里有宝宝尿裤代理加盟 浏览:313
私处养护产品广告怎么拍 浏览:388
两轮车技术哪里学 浏览:907
微信怎么查在steam交易号 浏览:53
会所如何给顾客发信息 浏览:437
如何读取仪器串口数据 浏览:166
高邮华林有哪些产品 浏览:958
怎么找到重启数据里面的重点 浏览:516
阿里巴巴交易的金额去哪里了 浏览:985
痘痘可以涂抹哪些产品 浏览:985
云南蓝菲酒代理多少钱 浏览:283
定西职业技术学校在哪里 浏览:829
哪个学校的数据库卖的最全 浏览:867
司法程序需要务工证明怎么写 浏览:355
景德镇珠山区有多少个菜市场 浏览:554