欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MIPS汇编的常用指令

程序员文章站 2024-03-23 21:57:28
...

描述

CTF做题时会遇见MIPS汇编的题目,IDA是不能反汇编的需要自己了解一些MIPS方面的知识;

Began:

ADDIU(DADDIU) : 把一个寄存器的内容加上一个无符号的立即数(赋值) DADDIU R1,R2,#3
XORI 一个寄存器中的内容与一个立即数异或 (异或运算) XORI R1,R2,#3

CTF做了一到MIPS汇编的题目是这样的:MIPS汇编的常用指令看懂之后就可以编写python解题脚本了;

str1 = 'cbtcqLUBChERV[[aaa@qq.com_X^D]X_YPV[CJ'

flag = ''

for i in str1:
    flag += chr(ord(i)^0x37)
    
print(flag)

除了以上两个指令这道题目中还出现了:

1. LW 从存储器中读取一个字的数据到寄存器中 LW R1, 0(R2)
2. LB 从存储器中读取一个字节的数据到寄存器中 LB R1, 0(R2)
3. DSLL 双字逻辑左移 DSLL R1,R2,#2
4. DSRA 双字算术右移 DSRA R1,R2,#2

5. BEQ 条件转移指令,当两个寄存器内容相等时转移发生 BEQ R1,R2

汇总

MIPS汇编的常用指令MIPS汇编的常用指令MIPS汇编的常用指令MIPS汇编的常用指令