
{"id":2928,"date":"2010-07-17T18:39:21","date_gmt":"2010-07-17T13:09:21","guid":{"rendered":"http:\/\/www.jeffrin.in\/?p=2044"},"modified":"2010-07-17T18:39:21","modified_gmt":"2010-07-17T13:09:21","slug":"nop-machine-instruction-2","status":"publish","type":"post","link":"https:\/\/www.trueangle.org\/index.php\/2010\/07\/17\/nop-machine-instruction-2\/","title":{"rendered":"NOP machine instruction"},"content":{"rendered":"<h3> | Cracking | <\/h3>\n<pre>\n(gdb) disass\nDump of assembler code for function main:\n   0x0000000000400494 :\tpush   %rbp\n   0x0000000000400495 :\tmov    %rsp,%rbp\n   0x0000000000400498 :\tnop\n=&gt; 0x0000000000400499 :\tjmp    0x400498 \nEnd of assembler dump.\n(gdb)\n<\/pre>\n<pre>\n#include&lt;stdio.h&gt;\nmain ()\n{\nwhile (1)\nasm(\"nop\");\n}\n<\/pre>\n<pre>\nNOPs are often involved when cracking software that checks for serial\nnumbers, specific hardware or software requirements, presence or\nabsence of hardware dongles, etc. This is accomplished by altering\nfunctions and subroutines to bypass security checks and instead simply\nreturn the expected value being checked for. Since most of the\ninstructions in the security check routine will be unused, these would be\nreplaced with NOPs.\n\nsource : http:\/\/en.wikipedia.org\/wiki\/NOP\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>| Cracking | (gdb) disass Dump of assembler code for function main: 0x0000000000400494 : push %rbp 0x0000000000400495 : mov %rsp,%rbp 0x0000000000400498 : nop =&gt; 0x0000000000400499 : jmp 0x400498 End of assembler dump. (gdb) #include&lt;stdio.h&gt; main () { while (1) asm(&#8220;nop&#8221;); } NOPs are often involved when cracking software that checks for serial numbers, specific hardware &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.trueangle.org\/index.php\/2010\/07\/17\/nop-machine-instruction-2\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;NOP machine instruction&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":2052,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[546,600,612,1180],"_links":{"self":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/2928"}],"collection":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/comments?post=2928"}],"version-history":[{"count":0,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/2928\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/media\/2052"}],"wp:attachment":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/media?parent=2928"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/categories?post=2928"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/tags?post=2928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}