软件加了反调试的功能,根据你的描述,应该是加了TMD的壳,在用没有内核补丁的OD调试这个壳的时候OD就会直接退出,可以下载一个海风月影的StrongOD插件,能很好的解决不能调试的Bug。
第一: OD载入后会停留在程序入口,刚开始就是暂停的
第二: 如果你按f9后OD会开始执行你的程序,这时候除非碰到断点是不会停止的,如果你是按了f9后停留在ntdll说明程序此时遇到中段或者进入了更高级别的段,OD是调试r3级别程序的利器但是无法对r0级别的代码进行调试
第三: 许多程序都会用一个小小的手段来迷惑调试者,那就是seh结构化异常处理来进行程序的跳转或者判断程序是否给调试 此情况比较多,但是OD会有提示
第四: 而不是程序的领空这句话说的我很蛋疼,你并没有告诉我你的程序执行情况,是否断点,是否异常,或者OD是否提示IO指令等等
所以请你把od的提示弄清楚后在发问,详细的代码段,执行环境,断点数量和出现问题
以下命令适用于 OllyDbg 的快捷命令栏插件(显示于程序的状态栏上方)
CALC
判断表达式
WATCH
添加监视表达式
AT / FOLLOW
Disassemble at address
在地址进行反汇编
ORIG
Disassemble at EIP
反汇编于 EIP
DUMP
Dump at address
在地址转存
DA
Dump as disassembly
转存为反汇编代码
DB
Dump in hex byte format
转存在十六进制字节格式
DC
Dump in ASCII format
转存在 ASCII 格式
DD
Dump in stack format
转存在堆栈格式
DU
Dump in UNICODE format
转存在 UNICODE 格式
DW
Dump in hex word format
转存在十六进制字词格式
STK
Go to address in stack
前往堆栈中的地址
AS + 地址 + 字符串
Assemble at address
在地址进行汇编
L + 地址 + 字符串
Label at address
在地址进行标号
C + 地址 + 字符串
Comment at address
在地址进行注释
BP
Break with condition
使用条件中断
BPX
Break on all calls
中断在全部调用
BPD
Delete break on all calls
清除位于全部调用的断点
BC
Delete breakpoint
清除断点
MR
Memory breakpt on access
内存断点于访问时
MW
Memory breakpt on write
内存断点于写入时
MD
Remove memory breakpoint
清除内存断点
HR
HW break on access
硬件中断在访问
HW
HW break on write
硬件中断在写入
HE
HW break on execution
硬件中断在执行
HD
Remove HW breakpoint
清除硬件断点
STOP
停止运行程序调试
PAUSE
暂停程序调试
RUN
Run program
运行程序进行调试
Run till address
运行到地址
GE
Run and pass exception
运行和通过例外
SI
Step into
步入
SO
Step over
步过
TI
Trace in till address
跟踪进入直到地址
TO
Trace over till address
跟踪步过直到地址
TC
Trace in till condition
跟踪进入直到条件
TOC
Trace over till condition
跟踪步过直到条件
TR
Till return
直到返回
TU
Till user code
直到用户代码
LOG
View Log window
查看记录窗口
MOD
View Modules window
查看模块窗口
MEM
View Memory window
查看内存窗口
CPU
View CPU window
查看 CPU 窗口
CS
View Call Stack
查看 Call 堆栈
BRK
View Breakpoints window
查看断点窗口
OPT
Open Options
打开选项
EXIT / QUIT
Quit OllyDbg
退出 OllyDbg
OPEN
Open executable file
打开可执行文件
CLOSE
Close executable
关闭程序
RST
Restart current program
恢复当前程序
HELP
Help on API function
API 函数的帮助
DASM
Disassemble immediate opcode
反汇编直接的机器码
FR
Find reference to selected command/address
查找参考到选定的命令/地址
AC
Analyse code
分析代码
SN
Search for Name(label) in current module
在当前模块中搜索名称(标号)
SOB
Scan object files
扫描项目文件
OllyDbg 常用快捷热键
打开一个新的可执行程序 (F3)
重新运行当前调试的程序 (Ctrl+F2)
当前调试的程序 (Alt+F2)
运行选定的程序进行调试 (F9)
暂时停止被调试程序的执行 (F12)
单步进入被调试程序的 Call 中 (F7)
步过被调试程序的 Call (F8)
跟入被调试程序的 Call 中 (Ctrl+F11)
跟踪时跳过被调试程序的 Call (Ctrl+F12)
执行直到返回 (Ctrl+F9)
显示记录窗口 (Alt+L)
显示模块窗口 (Alt+E)
显示内存窗口 (Alt+M)
显示 CPU 窗口 (Alt+C)
显示补丁窗口 (Ctrl+P)
显示呼叫堆栈 (Alt+K)
显示断点窗口 (Alt+B)
打开调试选项窗口 (Alt+O)
ollydbg,ring3级别的调试软件基本上,调试自己的程序因为有源码,一般用vc,破解别人的程序用ollydbg,而调试驱动可用softice,这个原则虽不绝对,但在大多数情况下是行得通的以下列举几个比较有用的破解工具
1调试工具softice
2调试工具Trw2000
3反汇编工具Wdasm893
4Hiew
5Visual Basic程序调试工具Smartcheck
6十六进制编辑器(如:Ultraedit、WinHex、Hex Workshop 等)
7注册表监视工具RegShot、regmon或RegSnap
8侦测文件类型工具TYP、gtw或FileInfo等
9 脱壳工具PROCDUMP
10调试工具IceDump
11注册机制作crackcode2000
12备份windows配制文件工具ERU
13文件监视工具 filemon
以上就是关于【求助】用OD调试某软件,一运行连OD一起退出全部的内容,包括:【求助】用OD调试某软件,一运行连OD一起退出、求教,OD载入程序后运行调试,一按暂停就停留在ntdll,而不是程序的领空。 80分求解决方法,解决了加分。、OD的命令断点问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)