| Cracking |
(gdb) disass
Dump of assembler code for function main:
0x0000000000400494 : push %rbp
0x0000000000400495 : mov %rsp,%rbp
0x0000000000400498 : nop
=> 0x0000000000400499 : jmp 0x400498
End of assembler dump.
(gdb)
#include<stdio.h>
main ()
{
while (1)
asm("nop");
}
NOPs are often involved when cracking software that checks for serial
numbers, specific hardware or software requirements, presence or
absence of hardware dongles, etc. This is accomplished by altering
functions and subroutines to bypass security checks and instead simply
return the expected value being checked for. Since most of the
instructions in the security check routine will be unused, these would be
replaced with NOPs.
source : http://en.wikipedia.org/wiki/NOP