我正在进行逆向工程mips固件的过程。固件是大端,32位处理器。我已成功解压缩并解压缩固件。现在我正在编写flash的另一部分中的自定义mips代码。以下是当前mips固件的更改:
旧代码:
80010000 lui $v0,0x502e
80010004 lw $v0,-0x2302($v0)
80010008 lw $a0,0x4($v0)
8001000C jal 0x80010024
新代码:(要跳转到新的分段,j和jal将无效,只有jr才能工作)
80010000 lui $t4,0xb010
80010004 ori $t4,$t4,0xa100
80010008 jr $t4
8001000C nop
然后在新细分中:(b010a100)
我现在只是向后跳:(跳过8001000C nop指令)
B010A100 lui $t4,0x8001
B010A104 ori $t4,$t4,0x0010
B010A108 jr $t4
B010A10C nop
到目前为止,一切都很好,因为我拿出了一些指示:
80010000 lui $v0,0x502e
80010004 lw $v0,-0x2302($v0)
80010008 lw $a0,0x4($v0)
8001000C jal 0x80010024
如何在新细分中正确添加它们? (B010A100)谢谢。