关于汇编的debug入门问题

yujianxueren 2003-10-09 04:26:27
环境: windows 2000 advancd server
问题:
1. 开始-->运行--->debug:
运行 a 100
inc ax
可以正确汇编,但是运行
a 100
mov ax 100
却是erro,为什么??

2. 我想对c;\winnt\notepad 进行debug,怎么操作?
(请写出详细步骤,我照着书上试了很多遍,都不行)

谢谢!!
3. 请问大家用的是什么编辑器??
(注意:我问的是编辑器,不是编译器)


...全文
40 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
W32API 2003-10-11
  • 打赏
  • 举报
回复
不过如你所说的应该是效验字节的问题。
我想可能是累加和效验
W32API 2003-10-11
  • 打赏
  • 举报
回复
是的。
这种情况可通过调试,跟踪其执行,在其对检测结果的判断流程。
dunkel 2003-10-10
  • 打赏
  • 举报
回复
如果你能确认修改的地方是合适的话, 那就是 .exe 文件本身有自我完整性检测的功能, 一来就是防止象你这样的修改, 二来还有防病毒的作用.
jianjun081 2003-10-10
  • 打赏
  • 举报
回复
to dunkel(内心和夜 哪个黑)、W32API(李诚) :
我试着用UltraEdit修改过,但是修改保存后,运行exe文件,提示文件已损坏,但是改回去后有好了,为什么?
W32API 2003-10-09
  • 打赏
  • 举报
回复
试着自己对 PE 文件内容进行定位。
修改是完全可以的。

就如 dunkel(内心和夜 哪个黑) 所说的。
DEBUG 确实无法调试 PE 文件,应用 ICE 等调试工具。
Lymtics 2003-10-09
  • 打赏
  • 举报
回复
仅可以临时更改。。
方法:

-a xxxx:xxxx
//输入指令

注意这样会覆盖以后的代码
最好使用jmp [disp]xxxx
然后再跳回来。。。

如果是DOS程序,那么第二个要求就可以作到
修改完毕后:
-r cx
//输入修改后文件大小

-n [文件名]
//注意文件将被放在当前目录下

-w
-q

如果是WIN程序,使用了PE文件格式。。
看到的内存代码和实际硬盘上文件的内容不一致
因而无法修改。。
simclock 2003-10-09
  • 打赏
  • 举报
回复
你说的那个修改只能在DEBUG里用E命令修改内存中的值,并不能存回EXE文件应该
dunkel 2003-10-09
  • 打赏
  • 举报
回复
notepad.exe 是 windows 下的程序, 用 debug 的话, 只能对其 dos-stub 部分进行操作, 没有什么意义. 调试 windows 下的程序应用 SoftICE for Windows , W32DASM 之类的软件.

to jianjun081(jianjun):
你提的这个修改要求, 简单地说 debug 做不到. 要对 .exe 的修改, 一般都是通过调试软件确定修改的地方, 再用十六进制类的编辑软件(如 hiew, UltraEdit等)对 .exe 文件进行修改.
spbabyba 2003-10-09
  • 打赏
  • 举报
回复
debug c:\winnt\notepad.exe
jianjun081 2003-10-09
  • 打赏
  • 举报
回复
请问可不可以将一个编译好的exe文件,在debug时修改exe文件的内容,如
有一段代码调试时如下:
0B60:0000 mov ax,10
我可以将其修改成
0B60:0000 mov ax,50
吗?并且保存到exe文件,exe文件执行时,就执行mov ax,50而不是mov ax,10
simclock 2003-10-09
  • 打赏
  • 举报
回复
debug c:\winnt\notepad.exe
yujianxueren 2003-10-09
  • 打赏
  • 举报
回复
debug c;\winnt\notepad.exe
erro???
dove01 2003-10-09
  • 打赏
  • 举报
回复
要用文件的全名的,扩展名都要加的
yujianxueren 2003-10-09
  • 打赏
  • 举报
回复


simclock:
1. 哦,的确可以,以后我可要小心点
2. 我开始-->运行--->debug(回车)
-debug c;\winnt\notepad 或者
-debug notepad
都不行呀?
simclock 2003-10-09
  • 打赏
  • 举报
回复
1,应该写mov ax,100吧
2,就直接debug notepad.exe就行了吧

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧