Reverse Engineering for Beginners

(avery) #1

Glossary Glossary


Glossary


real numbernumbers which may contain a dot. this isfloatanddoublein C/C++. 205


decrementDecrease by 1. 13 , 174 , 191 , 425 , 646 , 774 , 887 , 889 , 893


incrementIncrease by 1. 14 , 174 , 178 , 191 , 196 , 311 , 314 , 425 , 770 , 887


integral data typeusual numbers, but not a real ones. may be used for passing variables of boolean data type and enumer-
ations. 220


productMultiplication result. 90 , 212 , 215 , 392 , 417 , 472


arithmetic meana sum of all values divided by their count. 496


stack pointerA register pointing to a place in the stack. 8 , 9 , 14 , 24 , 27 , 35 , 47 , 48 , 66 , 91 , 525 , 576 , 649 – 652 , 882 , 888 ,
898 , 909


tail callIt is when the compiler (or interpreter) transforms the recursion (with which it is possible:tail recursion) into an
iteration for efficiency:wikipedia. 451


quotientDivision result. 205 , 208 , 210 , 211 , 215 , 416 , 469 , 497 , 726


anti-patternGenerally considered as bad practice. 26 , 68 , 436


atomic operation“  oo&” stands for “indivisible” in Greek, so an atomic operation is guaranteed not to be interrupted by
other threads. 700 , 863


basic blocka group of instructions that do not have jump/branch instructions, and also don’t have jumps inside the block
from the outside. InIDAit looks just like as a list of instructions without empty lines. 615 , 870 , 871


calleeA function being called by another. 23 , 26 , 39 , 59 , 77 , 89 , 91 , 93 , 145 , 404 , 436 , 525 , 576 , 649 – 651 , 654 , 655 , 901


callerA function calling another. 5 , 6 , 8 , 39 , 77 , 89 , 90 , 92 , 99 , 145 , 404 , 440 , 525 , 649 , 651 , 652 , 655


compiler intrinsicA function specific to a compiler which is not an usual library function. The compiler generates a specific
machine code instead of a call to it. Often, it’s a pseudofunction for a specificCPUinstruction. Read more: (90 on
page 857). 893


CP/MControl Program for Microcomputers: a very basic diskOSused before MS-DOS. 809


dongleDongle is a small piece of hardware connected to LPT printer port (in past) or to USB. Its function was similar to a
security token, it has some memory and, sometimes, a secret (crypto-)hashing algorithm. 731


endiannessByte order:31 on page 433. 15 , 70 , 331 , 891


GiBGibibyte: 230 or 1024 mebibytes or 1073741824 bytes. 11


heapusually, a big chunk of memory provided by theOSso that applications can divide it by themselves as they wish.
malloc()/free() work with the heap. 24 , 26 , 332 , 540 , 543 , 555 , 557 , 671 , 672


jump offseta part of the JMP or Jcc instruction’s opcode, to be added to the address of the next instruction, and this is how
the newPCis calculated. May be negative as well. 85 , 124 , 887


kernel modeA restrictions-free CPU mode in which the OS kernel and drivers execute. cf.user mode. 914


leaf functionA function which does not call any other function. 21 , 26


link register(RISC) A register where the return address is usually stored. This makes it possible to call leaf functions without
using the stack, i.e., faster. 26 , 732 , 898 , 899

Free download pdf