彙編語言+IDA安裝問題解決彙總

利用匯編語言計算機和人類鏈接更爲便捷如下圖所示:
在這裏插入圖片描述

寄存器:
簡單講就是CPU可以存儲數據的器件,一個CPU可以有多個寄存器。AX、BX是兩個不同的寄存器。

16位處理器有14個寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。

32位處理器有16個寄存器:EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP、EIP、ES、CS、SS、DS、FS、GS、EFLAGS。

64位處理器有15個寄存器:RAX、RBX、RCX、RDX、RSI、RDI、RBP、RSP、R8、R9、R10、R11、R12、R13、R14、R15

寄存器的作用

  • 可以用來讀寫數據到電腦的周邊設備
  • 可將寄存器內的數據執行算術及邏輯運算
  • 存於寄存器內的地址可用來指向內存的某個位置,即尋址

數學運算的彙編指令 mov、add、sub、xor

彙編指令 控制CPU完成的操作 用高級語言的語法描述
mov ax ,18 將18送入寄存器AX AX=18
mov ah ,78 將18送入寄存器AH AH=78
mov ax ,bx 將寄存器BX中的數據送入寄存器AX AX=BX+18
add ax ,8 將寄存器AX中的數值加上8 AX=AX+8
sub ax ,18 將寄存器AX中的數值減去18 AX=AX-18
xor ax ,18 將寄存器AX中的數值與18異或 AX=AX^18
函數跳轉指令
  1. 無條件轉移指令 (長轉移)
    JMP-- 無條件轉移指令
    CALL-- 過程調用
    RET/RETF-- 過程返回.
  2. 條件轉移指令-- (短轉移,-128到+127的距離內)( 當且僅當(SF XOR OF)=1時,OP1<OP2 )
    JA/JNBE – 不小於或不等於時轉移.
    JAE/JNB – 大於或等於轉移.
    JB/JNAE – 小於轉移.
    JBE/JNA – 小於或等於轉移.
    以上四條,測試無符號整數運算的結果(標誌C和Z).
    JG/JNLE --大於轉移.
    JGE/JNL --大於或等於轉移.
    JL/JNGE --小於轉移.
    JLE/JNG – 小於或等於轉移.
    以上四條,測試帶符號整數運算的結果(標誌S,O和Z).
    JE/JZ --等於轉移.
    JNE/JNZ – 不等於時轉移.
    JC – 有進位時轉移.
    JNC – 無進位時轉移.
    JNO – 不溢出時轉移.
    JNP/JPO – 奇偶性爲奇數時轉移.
    JNS --符號位爲 “0” 時轉移.
    JO – 溢出轉移.
    JP/JPE – 奇偶性爲偶數時轉移.
    JS – 符號位爲 “1” 時轉移.
  3. 循環控制指令(短轉移)
    LOOP – CX不爲零時循環.
    LOOPE/LOOPZ – CX不爲零且標誌Z=1時循環.
    LOOPNE/LOOPNZ – CX不爲零且標誌Z=0時循環.
    JCXZ – CX爲零時轉移.
    JECXZ – ECX爲零時轉移.
  4. 中斷指令
    INT – 中斷指令
    INTO – 溢出中斷
    IRET – 中斷返回
  5. 處理器控制指令
    HLT — 處理器暫停, 直到出現中斷或復位信號才繼續.
    WAIT --當芯片引線TEST爲高電平時使CPU進入等待狀態.
    ESC – 轉換到外處理器.
    LOCK — 封鎖總線.
    NOP – 空操作.
    STC --置進位標誌位.
    CLC --清進位標誌位.
    CMC – 進位標誌取反.
    STD --置方向標誌位.
    CLD – 清方向標誌位.
    STI --置中斷允許位.
    CLI --清中斷允許位.

IDA安裝問題解決彙總:
1、打開的時候出現:Oops! internal error 40343 occured.
Further work is not possible and IDA will close.
Would you like to create a crash dump for a bug report?

在這裏插入圖片描述仔細檢查一下安裝路徑,必要要求:安裝路徑下不能出現漢字。重裝一下即可

2、另一個是按F5查看代碼的時候總是出現錯誤或者不能使用的: 仔細看下文件,好多文件需要32位的IDA打開才能正常使用,可以用kali 輸入命令file + 文件名查看文件位數。
但有的不是這種問題,可以試一下如下解決方法:

在這裏插入圖片描述
在這裏插入圖片描述圈着的Stack pointer 前邊勾選即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章