express

@express

Joined on Feb 27, 2022

  • Sections PLT Lors de l'exécution d'un programme dynamiquement linké celui ci va être mené à faire appel à des fonctions de librairies externes. Pour se faire il va faire ce qu'on appelle le lazy loading. C'est à dire qu'il va résoudre les fonctions nécessaires de la libc pour mettre l'adresse d'une fonction dns son entrée dans la GOT. GOT Lors de l'appel d'une fonction via la PLT le programme va tout d'abord regarder si l'entrée de GOT de la fonction est vide ou contient déjà l'adresse de la fonction résolue de la libc. Dynamic Symbols & Relocations Un symbole représente une fonction ou une variable globale et est identifiée par un nom. Chaque symbole est décrit à l'aide de sa structure Elf32_Sym.
     Like  Bookmark
  • sra op_1, op_2, shift : op_1 = op_2 >> shift sll op_1, op_2, shift : op_1 = op_2 << shift sb op_1, (op_2) :
     Like  Bookmark
  • General Mathematics Quadratic equation Given a quadratic equation of form : $ax^2+bx+c = 0$ We compute the determinant : $$\Delta = b^2-4ac$$ If $\Delta >= 0$ then the quadratic equation admits 2 solutions : $$x = {-b \pm \sqrt{\Delta} \over 2a}$$Else, if $\Delta = 0$ then the quadratic equation admits only 1 solution : $$x = {-b \over 2a}$$If $\Delta < 0$ then the quadratic equation admits no solutions in $\Bbb{R}$ but in $\Bbb{C}$ we have :
     Like 1 Bookmark
  • VPTR (ou Virtual Pointer) est un pointeur qui pointe vers l'entrée d'un tableau de pointeur sur fonction d'une classe. Ces pointeurs sur fonction pointent eux-mêmes vers les méthodes relative à la classe. Il y a une VTABLE pour chaque classe et donc un VPTR pour chaque VTABLE. Reprennons un bout de code du chall C++ de Root-Me pour montrer un exemple : class UpperFormatter: public formatter { public : virtual int RTTI( ) { return 1; };
     Like  Bookmark