亚洲乱码一卡二卡四卡乱码新区_亚洲乱码中文字幕小综合_亚洲人成电影在线播放_亚洲性色AV一区二区三区_亚洲一区二区三区影院_亚洲中文字幕久久精品无码A_亚洲中文字幕无码专区_伊人热热久久原色播放WWW_在线观看AV永久免费_最新欧洲大片免费在线,欧美日韩成人三级免费看,久久黄色网址,欧美激情内射喷水高潮

首頁
社區(qū)
課程
招聘
有關(guān)局部變更返值的問題

提問者:suaqer 2020-3-2

 

想請問一下就是在課程中代碼段里面:

1
2
3
4
5
6
   0x8048401  <test+11>        add        eax,  0x1bff
    0x8048406  <test+16>        mov        edx,  dword  ptr  [ebp  +  8]
    0x8048409  <test+19>        mov        eax,  dword  ptr  [ebp  +  0xc]
    0x804840c  <test+22>        add        eax,  edx
    0x804840e  <test+24>        mov        dword  ptr  [ebp  -  4],  eax
0x8048411  <test+27>        mov        eax,  dword  ptr  [ebp  -  4]

mov dword ptr [ebp - 4], eax 這里不是剛把eax的值寫入到ebp - 4么,,為什么下一步還要mov eax, dword ptr [ebp - 4],,再將ebp - 4中的值返回給eax呢,eax中不已經(jīng)是3了嗎?辛苦啦

收藏
2條回答
Roger 2023-5-23

這個問題問得好,,首先eax里面存放的是計算出來的一個值,,把他放到ebp-4的意思是存放到局部變量中,再從局部變量中取出來放回eax,,這兩步是編譯器寫出來的,,編譯器不會像人類大腦那樣智能,可能會有一些重復(fù)性的操作,,具體你可以找一本編譯原理的書來看看

回復(fù) 已采納
Roger 2023-5-23

而且,,您仔細(xì)看這個語句,我們做一個假設(shè),,假如eax里面存放的是一個字符串的地址,,那么ebp-4里面存放的就是eax這個地址所對應(yīng)的字符串內(nèi)容,然后再把字符串內(nèi)容的前四個字節(jié)放回到eax中,,經(jīng)過這兩步,,eax里面存放的數(shù)據(jù)變化為:地址→地址所對應(yīng)的內(nèi)容

回復(fù)
零基礎(chǔ)入門pwn
  參與學(xué)習(xí)     1818 人
  提問次數(shù)     36 個
《零基礎(chǔ)入門pwn》,,短時間內(nèi)踏入漏洞利用的大門,,快速成為一名合格的pwn題選手
0
我的提問
0
我的回答
0
學(xué)習(xí)收益