Jump once for x86_64 PLT

DJ: Direct jump
IJ: Indirect jump
PLT: Produce linkage table

Sources

int
main (int argc, char *argv[])
{
    puts ("Hello");
    puts ("World");
 
    return 0;
}

x86_64 PLT(DJ + IJ)

main:
    callq   puts@plt
 
puts@plt:
    jmpq    *0x2fe2(%rip) # .got.plt
                          # 1st call: point to 1:
                          # non-1st call: point to puts:
1:
    pushq   $0x0          # symbol index
    jmpq    _dl_runtime_resolve
 
puts:

1st call:
main -> puts@plt -> _dl_runtime_resolve -> puts

non-1st call:
main -> puts@plt -> puts

x86_64 PLT(IJ)

main:
    callq   *0x2fe2(%rip) # .got.plt
                          # 1st call: point to puts@plt
                          # non-1st call: point to puts:
 
puts@plt:
    pushq   $0x0          # symbol index
    jmpq    _dl_runtime_resolve
 
puts:

1st call:
main -> puts@plt -> _dl_runtime_resolve -> puts

non-1st call:
main -> puts

Over!

8 thoughts on “Jump once for x86_64 PLT”

  1. Excellent post. I was checking continuously this blog and I am impressed!
    Extremely helpful info specially the ultimate phase 🙂 I deal with
    such information a lot. I was looking for this certain information for a very lengthy time.
    Thanks and best of luck.

  2. Представляем Вам нашу нашу коллекцию
    порно фотографий на сайте – http://www.svoydom.su/forum/index.php?PAGE_NAME=profile_view&UID=26500 .
    Смотри как стройные красавицы модельной внешности позируют перед камерой демонстрируя свои “прелести”.
    Только самые страстные девушки
    готовые на все. Кстати, у нас ты найдешь
    не только гламурыне потрно фотки, но и необычные фото, так сказать
    на любителя, с разныеми фетишами и фистингом.
    Все фото архивы разбиты по категориям,
    выбирай понравишуюся и смотри совершенно бесплатно!

    http://1723.ru/forums/index.php?showuser=7769

Leave a Reply

Your email address will not be published. Required fields are marked *