iOS逆向-匯編(五)

編寫一個完整的匯編

  • 匯編語言由2類指令組成

    assume cs:code
    code segment
    mov ax,1122h
    mov bx,3344h
    add ax,bx
    
    mov ah,4ch
    int 21h
    code ends
    end
    
    • 匯編指令
      如mov塞琼、add、sub等
      有對應(yīng)的機器指令艺沼,可以被編譯為機器指令士八,最終被CPU執(zhí)行
    • 偽指令
      如assume腺兴、 segment、ends、end等
      沒有對應(yīng)的機器指令膘流,由編譯器解析动漾,最終不被CPU執(zhí)行
  • 注釋以分號開頭

偽指令 - segment , ends , end

assume cs:code
code segment
  mov ax,1122h
  mov bx,3344h
  add ax,bx

  mov ah,4ch
  int 21h
code ends
end
  • segment和ends的作用是定義一個段丁屎,segment代表一個段的開始,ends代表一個段的結(jié)束旱眯,使用格式為
    段名 segment
          :
    段名 ends
    
  • 一個有意義的匯編程序中晨川,至少要有一個段作為代碼段存放代碼
  • assume
    • 將用作代碼段的code段和CPU中的cs寄存器關(guān)聯(lián)起來
  • end
    • 編譯器遇到end時,就結(jié)束對源程序的編譯
  • 下面2句代碼的作用是退出程序
    mov ah,4ch
    int 21h
    
  • 也可以寫成
    mov ax, 4c00h
    int 21h
    

中斷

  • 中斷
    • 中斷是由于軟件的或硬件的信號删豺,使得CPU暫停當(dāng)前的任務(wù)共虑,轉(zhuǎn)而去執(zhí)行另一段子程序
    • 也就是說,在程序運行過程中吼鳞,系統(tǒng)出現(xiàn)了一個必須由CPU立即處理的情況看蚜,此時,CPU暫時中止當(dāng)前程序的執(zhí)行轉(zhuǎn)而處理這個新情況的過程就叫做中斷
  • 中斷的分類
    • 硬中斷(外中斷)赔桌,由外部設(shè)備(比如網(wǎng)卡供炎、硬盤)隨機引發(fā)的渴逻,比如當(dāng)網(wǎng)卡收到數(shù)據(jù)包的時候,就會發(fā)出一個中斷
    • 軟中斷(內(nèi)中斷)音诫,由執(zhí)行中斷指令產(chǎn)生的惨奕,可以通過程序控制觸發(fā)

從本質(zhì)上來講,中斷是一種電信號竭钝,當(dāng)設(shè)備有某種事件發(fā)生時梨撞,它就會產(chǎn)生中斷,通過總線把電信號發(fā)送給中斷控制器香罐。如果中斷的線是激活的卧波,中斷控制器就把電信號發(fā)送給處理器的某個特定引腳。處理器于是立即停止自己正在做的事庇茫,跳到中斷處理程序的入口點港粱,進(jìn)行中斷處理

  • 可以通過指令int n產(chǎn)生中斷
    • n是中斷碼,內(nèi)存中有一張中斷向量表旦签,用來存放中斷碼對應(yīng)中斷處理程序的入口地址
    • CPU在接收到中斷信號后查坪,暫停當(dāng)前正在執(zhí)行的程序,跳轉(zhuǎn)到中斷碼對應(yīng)的中斷向量表地址處宁炫,去執(zhí)行中斷處理程序
  • 常見中斷
    • int 10h用于執(zhí)行BIOS中斷
    • int 3是“斷點中斷”偿曙,用于調(diào)試程序
    • int 21h用于執(zhí)行DOS系統(tǒng)功能調(diào)用,AH寄存器存儲功能號

DOS系統(tǒng)功能調(diào)用

  • DOS系統(tǒng)功能調(diào)用
    • 由DOS提供的一組實現(xiàn)特殊功能的子程序供程序員在編寫自己的程序時調(diào)用羔巢,以減輕編程的工作量
    • 涉及屏幕顯示望忆、文件管理、I/O管理等等
    • 每個子程序都有一個功能號朵纷,所有的功能調(diào)用的格式都是一致的炭臭。調(diào)用的步驟大致如下:
      • 系統(tǒng)功能號送到寄存器AH中;
      • 入口參數(shù)送到指定的寄存器中袍辞;
      • 用INT 21H指令執(zhí)行功能調(diào)用鞋仍;
      • 根據(jù)出口參數(shù)分析功能調(diào)用執(zhí)行情況。
;----數(shù)據(jù)段---
data segment
    string db 'Hello World!$'
data ends
mov ax, data
mov ds, ax ; 設(shè)置ds為數(shù)據(jù)段

mov ah,9h ;功能號9h代表在屏幕顯示字符串
mov dx, offset string  ;ds:dx代表字符串地址
int 21h  ;執(zhí)行DOS系統(tǒng)功能調(diào)用

emu8086常用快捷鍵

  • F5:調(diào)試運行
  • F4:重新加載
  • F8:下一步(單步執(zhí)行)
  • F9:直接一步到位運行整個程序
  • Ctrl + F8:跳過前面代碼搅吁,斷點到單擊選中的代碼那行
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末威创,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子谎懦,更是在濱河造成了極大的恐慌肚豺,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件界拦,死亡現(xiàn)場離奇詭異吸申,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門截碴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梳侨,“玉大人,你說我怎么就攤上這事日丹∽卟福” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵哲虾,是天一觀的道長丙躏。 經(jīng)常有香客問我,道長束凑,這世上最難降的妖魔是什么晒旅? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮湘今,結(jié)果婚禮上敢朱,老公的妹妹穿的比我還像新娘。我一直安慰自己摩瞎,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布孝常。 她就那樣靜靜地躺著旗们,像睡著了一般。 火紅的嫁衣襯著肌膚如雪构灸。 梳的紋絲不亂的頭發(fā)上上渴,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機與錄音喜颁,去河邊找鬼稠氮。 笑死,一個胖子當(dāng)著我的面吹牛半开,可吹牛的內(nèi)容都是我干的隔披。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼寂拆,長吁一口氣:“原來是場噩夢啊……” “哼奢米!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起纠永,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤鬓长,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尝江,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涉波,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了啤覆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苍日。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖城侧,靈堂內(nèi)的尸體忽然破棺而出易遣,到底是詐尸還是另有隱情,我是刑警寧澤嫌佑,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布豆茫,位于F島的核電站,受9級特大地震影響屋摇,放射性物質(zhì)發(fā)生泄漏揩魂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一炮温、第九天 我趴在偏房一處隱蔽的房頂上張望火脉。 院中可真熱鬧,春花似錦柒啤、人聲如沸倦挂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽方援。三九已至,卻和暖如春涛癌,著一層夾襖步出監(jiān)牢的瞬間犯戏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工拳话, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留先匪,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓弃衍,卻偏偏與公主長得像呀非,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子笨鸡,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容