收官:写出一条指令的完整说明

给一条陌生指令,交出一份完整说明:格式怎么切、属于哪一类、读什么写什么、走向变不变。四段用 | 隔开。

开始练习 →

在真机上怎么把一段机器码对回指令

在真机上想知道一段机器码对应哪些指令,最靠谱的办法是【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。

开始练习 →