【asm基础】vs下的反汇编

反汇编

对于下面的代码:

为了反汇编,首先需要将代码进行调试运行,这时需要先打点:

之后启动调试:

调试过程中,可以选择调试->窗口->反汇编,进行代码的反汇编:

反汇编的结果如下:

上述反汇编代码是在Debug版本下得到的,即:

其中001313BE(16进制,没有加符号说明)是存放代码的地址,而138154h(16进制,有加符号h说明)是全局变量gi的地址。为了确定这一点,可以通过监视窗口查看:

具体窗口中输入输入名称&gi,可以观察到:

这是变量的值,至于代码存放的位置,通过直接查看1313BE这个内存地址来查看:

在内存监视窗口中查看到的值如下:

由于存放在内存中的是机器码,没法直接看出来mov指令是否在1313BE这个问题,所以先要把mov指令翻译成对应的机器码。具体做法是在代码窗体中右键,并选择“显示代码字节”:

之后得到mov对应的机器码如下:

刚好与内存中的数据一致!

VS2017 是一款功能强大的集成开发环境,其中包含有用的反汇编功能,用于将已编译的程序反汇编为其对应的汇编代码。反汇编可以帮助开发人员了解程序的底层运行过程和逻辑。 使用 VS2017 进行反汇编很简单。首先,打开 Visual Studio 2017,然后在菜单栏上选择“文件”>“打开”>“文件”。在文件选择对话框中,找到你想要反汇编的程序的二进制可执行文件,并将其打开。 一旦你的程序加载到 Visual Studio 中,你可以右键单击项目并选择“属性”来配置项目设置。在“属性”对话框中,导航到“配置属性”>“链接器”>“高级”选项卡。在“生成反汇编列表”中,选择“是 (/FAcs)”或“是(供源分析器使用)(/FAcs /Fa<filename>)”,然后点击“确定”。 然后,编译程序,当编译完成时,你将在项目文件夹中看到名为“<program>.asm”的反汇编代码文件。你可以使用任何文本编辑器打开这个文件,以查看汇编代码。这将帮助你了解程序的结构、指令和运行流程。 通过使用 VS2017 的反汇编功能,开发人员可以更深入地理解程序的底层工作原理,并进行调试和优化。这对于分析和修改第三方程序或进行反向工程也非常有用。反汇编是一种有力的工具,通过它,开发人员可以深入了解程序的内部运行和设计,从而提高程序的性能和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值