day01.全局变量赋值语句



day01.全局变量赋值语句

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int   gi;
void   main()
{
     _asm mov eax,eax;    //伪代码使用ollydbg定位到这行
     gi = 12;
     return   0;
 
}

使用ollydbg工具调试在window里情况:

0041139E    8BC0            MOV EAX,EAX    ###伪代码

004113A0    C705 54754100 0>MOV DWORD PTR DS:[417554],0C


004113A0是gi存的地址,0C是对应10进制的12,将12存入417554这个内存地址里面

使用gcc工具调试在linux里情况:

使用命令: gcc -S -masm=intel  gi.c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.LFB0:
         .cfi_startproc
         push    rbp
         .cfi_def_cfa_offset  16
         .cfi_offset  6 , - 16
         mov     rbp, rsp
         .cfi_def_cfa_register  6
         mov     DWORD PTR gi[rip],  12      //12的值
         mov     eax, DWORD PTR gi[rip]
         mov     esi, eax
         mov     edi, OFFSET FLAT:.LC0
         mov     eax,  0
         call    printf
         mov     eax, DWORD PTR gi[rip]
         pop     rbp
         .cfi_def_cfa  7 8
         ret
         .cfi_endproc
.LFE0:
         .size   main, .-main
         .ident   "GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609"
         .section        .note.GNU-stack, "" ,@progbits

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随行之旅

python国产化自动化

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值