вычислить целевой адрес для mips jalr

#mips #elf #disassembly #capstone

#mips #эльф #разборка #Краеугольный камень #elf

Вопрос:

У меня есть следующий ассемблерный код, дизассемблированный с использованием capstone. Я начал с точки входа, полученной из заголовка.

 .text : 4195648
...
...
0x400584L lui $t9, 0x40
0x400588L addiu $t9, $t9, 0xba0
0x40058cL jalr $t9
  

Как мне определить, на какой адрес jalr указывает? (Я думал, что смогу получить доступ к основной функции в программе C)

Основываясь на слайде № 19 в этой ссылке, я сделал target = 0x0400ba0

Я искал его и нашел в .plt разделе. Вот разборка .plt

 .plt : 4197152
...
...
0x400ba0L lui $t7, 0x41
0x400ba4L lw $t9, 0xbe4($t7)
0x400ba8L jr $t9
0x400bacL addiu $t8, $t7, 0xbe4
  

Я в замешательстве — как мне разобраться в этом. Или как я могу получить доступ к фактической основной функции при разборке MIPS

Комментарии:

1. «Как мне определить, на какой адрес указывает jalr?» Найдите lui и addiu в ссылке на набор команд MIPS.

2. Просто продолжайте отслеживать код. У вас есть, jalr 0x00400ba0 что приводит вас jr 0x00410be4 . Что находится по этому адресу?