加密與解密 筆記


64位軟件逆向技術

寄存器

64位通用寄存器的名稱第一個字母從'E'改為'R',大小擴展到64位,數量增加了8個(R8~R15),擴充了8個128位的XMM寄存器谣光。

函數

  1. 函數調用約定
  • x86應用程序的函數調用有stdcall执虹、__cdecl、Fastcall等方式,但x64應用程序就只有一種寄存器快速調用約定。
  • 前四個用寄存器傳遞恕曲,超過四個多余的參數就放在棧里,入棧順序從右到左叉存。
  • 前四個參數存放的寄存器是固定的,分別是RCX码俩、RDX、R8歼捏、R9.
  • 任何大于8字節(jié)或者不是1字節(jié)、2字節(jié)笨篷、4字節(jié)瞳秽、8字節(jié)的參數必須由引用來傳遞(地址傳遞)
  • 所有浮點參數的傳遞都是使用XMM寄存器完成的。(在XMM0率翅、XMM1练俐、XMM2、XMM3)

函數的四個參數雖然使用寄存器來傳遞冕臭,但是棧仍然為這4個參數預留了空間(32字節(jié))腺晾。
且函數執(zhí)行體內一般將參數值填充進預留棧空間內并進行數據填充辜贵。
參數使用的椕醪酰空間由函數調用者負責平衡。

64位環(huán)境下托慨,使用RAX寄存器來保存函數返回值鼻由。(返回值類型由浮點類型使用MMX0寄存器返回)。

結構體

  • 參數不超過八字節(jié)
    傳遞結構體參數時厚棵,直接將結構體內容放在寄存器里蕉世。通過訪問寄存器高位和低位分別訪問結構體成員。
  • 參數超過八字節(jié)
    傳遞參數時婆硬,會先將結構內容復制到椇萸幔空間中,再把結構體地址當成函數的參數來傳遞(引用傳遞)彬犯。在函數內部通過“結構體地址+偏移”的方式訪問結構體內容向楼。

數據結構

  1. 局部變量
    預留棧空間在低地址躏嚎,局部變量空間在高地址蜜自。

  2. 全局變量
    先定義的在低地址,后定義的在高地址卢佣。

  3. 數組
    數組從低地址到高地址進行順序排列的重荠。
    數組占用大小 : sizeof(類型) * 個數
    尋址公式數組元素的地址 = 數組首地址 + sizeof(數組類型) * 下標
    多維數組也可以看成一個一維數組。
    二維尋址公式數組元素地址 = 數組首地址 + sizeof(一維數組類型)*下標1+sizeof(數組類型)*下標2

    訪問二維數組特征:

    • [數組首地址 + n]
    • [數組收地址 + 寄存器 * n]

控制語句

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末虚茶,一起剝皮案震驚了整個濱河市戈鲁,隨后出現的幾起案子仇参,更是在濱河造成了極大的恐慌,老刑警劉巖婆殿,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诈乒,死亡現場離奇詭異,居然都是意外死亡婆芦,警方通過查閱死者的電腦和手機怕磨,發(fā)現死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來消约,“玉大人肠鲫,你說我怎么就攤上這事』蛄福” “怎么了导饲?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長氯材。 經常有香客問我渣锦,道長,這世上最難降的妖魔是什么氢哮? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任袋毙,我火速辦了婚禮,結果婚禮上命浴,老公的妹妹穿的比我還像新娘娄猫。我一直安慰自己,他們只是感情好生闲,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布媳溺。 她就那樣靜靜地躺著,像睡著了一般碍讯。 火紅的嫁衣襯著肌膚如雪悬蔽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天捉兴,我揣著相機與錄音蝎困,去河邊找鬼。 笑死倍啥,一個胖子當著我的面吹牛禾乘,可吹牛的內容都是我干的。 我是一名探鬼主播虽缕,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼始藕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起伍派,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤江耀,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后诉植,有當地人在樹林里發(fā)現了一具尸體祥国,經...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年晾腔,在試婚紗的時候發(fā)現自己被綠了舌稀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡灼擂,死狀恐怖扩借,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情缤至,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布康谆,位于F島的核電站领斥,受9級特大地震影響,放射性物質發(fā)生泄漏沃暗。R本人自食惡果不足惜月洛,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望孽锥。 院中可真熱鬧嚼黔,春花似錦、人聲如沸惜辑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盛撑。三九已至碎节,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抵卫,已是汗流浹背狮荔。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留介粘,地道東北人殖氏。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像姻采,于是被迫代替她去往敵國和親雅采。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內容

  • 第一章 常見DLL及其功能 主要的三大動態(tài)鏈接庫 Kernal 操作系統(tǒng)核心功能服務(進程與線程控制、內存管理总滩、文...
    xuing閱讀 774評論 0 0
  • 專業(yè)考題類型管理運行工作負責人一般作業(yè)考題內容選項A選項B選項C選項D選項E選項F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 8,990評論 0 13
  • 1. ASCII 編碼 ASCII(American Standard Code for Information ...
    s酸菜閱讀 8,686評論 0 8
  • 大家好闰渔,我是雞血石席函,這是我在簡書創(chuàng)作的第190天,今天首頁只有一篇我寫的文章冈涧,我要寫一個家的故事茂附,我想分享我和家人...
    雞血石閱讀 904評論 36 82
  • 文:張言曉語 本文共計:1508字营曼,預計閱讀時間:5分鐘。 朋友jessica最近離職了愚隧,我很奇怪蒂阱,因為獲得這份工...
    張言曉語閱讀 958評論 4 3