日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android 逆向】x86 汇编 ( push / pop 入栈 / 出栈 指令 | ret / retn 函数调用返回指令 | set 设置目标值指令 )

發(fā)布時(shí)間:2025/6/17 Android 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 逆向】x86 汇编 ( push / pop 入栈 / 出栈 指令 | ret / retn 函数调用返回指令 | set 设置目标值指令 ) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、push / pop 入棧 / 出棧 指令
  • 二、ret / retn 函數(shù)調(diào)用返回指令
  • 三、set 設(shè)置目標(biāo)值指令
  • 總結(jié)





一、push / pop 入棧 / 出棧 指令



push / pop 入棧 / 出棧 指令 , 可以有如下選項(xiàng) :

  • f : 表示 161616 位標(biāo)志位 , 下面列舉幾個(gè)常用的標(biāo)志位 ;

    • C 對(duì)應(yīng) 進(jìn)位 位 , 此處指的是減法操作是否有借位 ;
    • P 對(duì)應(yīng) 奇偶 位 , 運(yùn)算結(jié)果 的 奇偶 , 檢測(cè)結(jié)果最后一個(gè)位是 000 還是 111 ;
    • A 對(duì)應(yīng) 輔助進(jìn)位 位 , 323232 位的整型中 , 低 161616 位是否發(fā)生了 借位 或 進(jìn)位 ;
    • Z 對(duì)應(yīng) 零標(biāo)志 , 如果 減法操作 最后的結(jié)果是 000 , 該 零標(biāo)志位 會(huì)被設(shè)置成 111 , 如果 減法操作 結(jié)果不為 000 , 該 零標(biāo)志位 會(huì)被設(shè)置成 000 ;
    • O 對(duì)應(yīng) 溢出標(biāo)志 , 減法操作是否會(huì)導(dǎo)致溢出 , 負(fù)數(shù) - 負(fù)數(shù) 會(huì)出現(xiàn)溢出 ;
    • S 對(duì)應(yīng) 符號(hào)標(biāo)志位 , 計(jì)算結(jié)果如果是負(fù)數(shù) , 該標(biāo)志位設(shè)置成 000 , 計(jì)算結(jié)果如果是正數(shù) , 該標(biāo)志位設(shè)置成 111 ;
  • fd : 表示 323232 位標(biāo)志位 ;

  • fq : 表示 646464 位標(biāo)志位 ;

  • a : 表示 161616 位的通用寄存器 ;

  • ad : 表示 323232 位的通用寄存器 ;





二、ret / retn 函數(shù)調(diào)用返回指令



ret / retn 是 函數(shù)調(diào)用返回指令 ;

222 個(gè)指令的機(jī)器碼都是相同的 ;





三、set 設(shè)置目標(biāo)值指令



set 指令 用于 設(shè)置 目標(biāo)值為 000111 ;

set a eax

eax 是目標(biāo)值 , 設(shè)置成 000111 ;

上述代碼中 a 表示無符號(hào)大于 , 如果 a 條件達(dá)成 , eax 設(shè)置為 111 , 如果不滿足 , 則設(shè)置為 000 ;

  • a : above , 無符號(hào) 大于 跳轉(zhuǎn) ;

  • b : below , 嗎無符號(hào) 小于 跳轉(zhuǎn) ;

  • g : great , 有符號(hào) 大于 跳轉(zhuǎn) ;

  • l : less , 有符號(hào) 小于 跳轉(zhuǎn) ;

  • e : equal , 等于 ;

  • n : negative , 反條件 ;

  • o : 對(duì)應(yīng) 溢出標(biāo)志 , 減法操作是否會(huì)導(dǎo)致溢出 ; ( 與運(yùn)算不存在進(jìn)位 , 沒有溢出 )

  • p : 對(duì)應(yīng) 奇偶 位 , 運(yùn)算結(jié)果 的 奇偶 , 檢測(cè)結(jié)果最后一個(gè)位是 000 還是 111 ;

  • s : 對(duì)應(yīng) 符號(hào)標(biāo)志位 , 計(jì)算結(jié)果如果是負(fù)數(shù) , 該標(biāo)志位設(shè)置成 000 , 計(jì)算結(jié)果如果是正數(shù) , 該標(biāo)志位設(shè)置成 111 ;

  • z : 對(duì)應(yīng) 零標(biāo)志 , 如果 與操作 最后的結(jié)果是 000 , 該 零標(biāo)志位 會(huì)被設(shè)置成 111 , 如果 與操作 結(jié)果不為 000 , 該 零標(biāo)志位 會(huì)被設(shè)置成 000 ;





總結(jié)



align 字節(jié)對(duì)齊 , db 聲明字符 / 字符串 , nop 空指令
cmp 比較 , test 比較
call 子函數(shù)調(diào)用指令 , jmp 跳轉(zhuǎn)指令 ( 可選參數(shù) a , b , c , g , l , o , p , s , z , e , n)
lea 加載指令 , lds , les , lfs , lgs , lss , mov 數(shù)據(jù)傳送指令
push , pop , pushf , popf , pushd , popd , pushad , popad , pusha , popa
ret , retn , set
add , sub , mul , div
xor , not , shl , shr , sal , sar , rol , ror , rcl , rcr

總結(jié)

以上是生活随笔為你收集整理的【Android 逆向】x86 汇编 ( push / pop 入栈 / 出栈 指令 | ret / retn 函数调用返回指令 | set 设置目标值指令 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。