收官:写出一条指令的完整说明
给一条陌生指令,交出一份完整说明:格式怎么切、属于哪一类、读什么写什么、走向变不变。四段用 | 隔开。
在真机上怎么把一段机器码对回指令
在真机上想知道一段机器码对应哪些指令,最靠谱的办法是【0】。 (判分只看你在受控容器里的真机产物,纯本机、纯 Python,没有 gcc。)
这个 opcode 是什么助记符
真机:python3 -c "ops=['nop','add','sub','mov','xor','jmp','cmp
查:助记符序列
场景:~/lab/dis.py 是只读反汇编器,读 ~/lab/bytes.txt 里的字节流。 任务:跑 python3 ~/lab/dis.py --mnems,读它报的 助记符 = X(形如 add-mov-ret),到 ~/对照表.
查:原始字节流
场景:同一个只读反汇编器,看这段机器码的字节流。 任务:跑 python3 ~/lab/dis.py --hex,读它报的 字节流 = X(形如 0x0341),到 ~/对照表.txt 查 X 填进来。 (判分只看你在受控容器里的真机产物,
查:一共几条指令
场景:同一个只读反汇编器,数这段有几条指令。 任务:跑 python3 ~/lab/dis.py --count,读它报的 指令数 = N,到 ~/对照表.txt 查 N 填进来。 (判分只看你在受控容器里的真机产物,纯本机、纯 Pytho
查:一共几个字节
场景:同一个只读反汇编器,数这段占几个字节。 任务:跑 python3 ~/lab/dis.py --bytes,读它报的 字节数 = N,到 ~/对照表.txt 查 N 填进来。 (判分只看你在受控容器里的真机产物,纯本机、纯 Pytho
修:架构配错了
场景:~/lab/isa.py 的 ARCH = "arm",本条对照 x86。 任务:把它改成 ARCH = "x86",让 python3 ~/lab/isa.py --run 报 架构 = x8
修:位数配错了
场景:~/lab/isa.py 的 BITS = 32,本条是 64 位。 任务:把它改成 BITS = 64,让 --run 报 位数 = 64。改好运行 ~/check。 (判分只看你在受控容器里的真机产物,纯本机、纯 Python,没
修:反汇编语法配错了
场景:~/lab/isa.py 的 SYNTAX = "intel",本条用 att。 任务:把它改成 SYNTAX = "att",让 --run 报 语法 = att。改好运行 ~/check。