先F9下断 F10调试 然后 下面会有调用 堆栈 的观察窗口 对观察窗口 右键 进入反汇编 就可以了
还有个比较方便的方法 就是在程序 关键代码处 写入
__asm
{
mov eax,eax
mov eax,eax
mov eax,eax
}
花指令
拉到OD中 直接ctrl+s搜索 汇编代码 直接走到关键点 下断调试
此方法 可以快速 定位 到代码用DOS的EDIT可以写源代码,然后保存,汇编,连接,即可生成汇编程序 具体方法是: 进入DOS,输入EDIT,FILE,NEW,编辑汇编源代码,然后保存(注意扩展名为 asm),在通过MASM或者TASM即可生成目标文件(obj),再通过LINK即可生成可执行文件(exe)1
首先打开一个程序,点击编译按钮。
2
然后点击调试按钮,进入调试界面。
3
在需要暂停调试的语句旁鼠标右键,添加断点。(注:只有在灰色区域才能添加断点,灰色区域表示有语句部分,其不包括空白行和括号)
4
点击运行按钮,程序会运行到断点处(断点行的程序并没有运行)linux可以使用shell来编写代码
当你登录至shell之后。
可以使用输入vim XXXsh或者为XXX(XXX代表名字)。当你输完之后你就会进入编写代码的界面,进入之后必须按个小a才能编写(⊙o⊙)哦(左下角有提示的)。
当你编写完后按键盘左上角的ESC退出编辑模式,随后在按shift+:键,在输入wq就是保存退出咯(w是保存,q是退出)
如果想运行编写的代码在shell界面输入命令:
bash XXX或者XXXsh在dos下输入
D:\MAMS615\>debug djexe
-g
-d100
----------------你会看到0,1,8,27,64,125,216,343,512,729 这串字符,不过都是以16进制显示的,比如729显示为 D9 02。那么在其后你会看到你输入的字符,再后面你会看到你输入字符的立方的数据,不过是以16进制显示的,比如你输入的是9那么你会看到:D9 02 09 D9 02这几个。
因为729(10进制)=2D9(16进制),低位在前,高位在后,所以显示 D9 02
-------
-q
退出debug程序。你可以先在
masm文件夹里建一个新的文件夹,名为nm
然后
将masm文件夹里的masmexe和linkexe复制到新建的文件夹
调用dos命令
如果你的masm文件在d盘
先用d:
接着d;>\cd
masm
d;\masm\cd
nm
d;\masm\nm
\edit
进入编辑界面
写好程序后
程序命名为123asm
退出
d;\masm\nm\masm
123asm
d;\masm\nm\link
123obj
生成可执行文件
d;\masm\nm\123exe
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)