初步分析简单的汇编代码

1 篇文章 0 订阅

初步分析简单的汇编代码

一、C语言源代码

这里注意一点:目前IDA对C++代码的分析很不友好,因此初学者分析汇编最好是分析C语言,写脚本可以使用C++或Python

提供一段简单的C语言代码

#include<stdio.h>
int getsum(int x)
{
	int sum=0,i;
	for(i=0;i<x;i++)
		sum+=i;
	return sum;
}
int main()
{
	int n=10,ans;
	ans=getsum(n);
	printf("%d\n",ans);
	return 0;
}

二、分析汇编

当我们使用VC6.0或更高版本时,VC是内置反汇编的,并支持查看内存和寄存器等,这就更利于我们去学习汇编(与C语言每一条语句一一对应)
打开方式如下:(我使用的版本时VC2010)

  1. 打开上方工具选项,点击设置,选中专家模式
    在这里插入图片描述
  2. 设置断点,F5进行调试
    在这里插入图片描述
  3. 按图示打开反汇编,内存,寄存器窗口
    在这里插入图片描述
  4. 完成
    在这里插入图片描述

下面分析反汇编
在这里插入图片描述
在这里插入图片描述
函数比较简单,上图分析的应该比较清楚了(包括我在分析过程中遇到的一些问题)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值