{"id":269786,"date":"2015-12-07T16:32:02","date_gmt":"2015-12-07T13:32:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=269786"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=269786","title":{"rendered":"\u041f\u0430\u0440\u0430\u043d\u043e\u0439\u044f \u0438 \u0445\u0435\u0448\u0438"},"content":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/fe7\/5a1\/3bb\/fe75a13bbbd36c015b34a41bb0df990b.jpg\" alt=\"image\"\/><\/p>\n<p>  \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 code injection, \u043d\u043e<br \/>  \u042d\u0442\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0435 \u043f\u0430\u043d\u0430\u0446\u0435\u044f, \u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442 \u0436\u0438\u0437\u043d\u044c \u0438\u043d\u044c\u0435\u043a\u0446\u0438\u0439 \u043a\u043e\u0434\u0430.<\/p>\n<h4>\u041b\u0438\u0440\u0438\u043a\u0430 <\/h4>\n<p>  \u0422.\u043a. \u0441\u043a\u0430\u0436\u0434\u044b\u043c \u0441\u043a\u0430\u0447\u043a\u043e\u043c \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u043b\u044e\u0434\u0435\u0439 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442 \u0430\u0441\u0441\u0435\u043c\u043b\u0435\u0440, \u0442\u043e \u0435\u0441\u0442\u044c \u0441\u043c\u044b\u0441\u043b \u0437\u0430\u0434\u0443\u043c\u0430\u0442\u0441\u044f:<br \/>  \u0410 \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0435\u044e?<br \/>  \u0418\u043b\u0438, \u0430 \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0432\u0438\u0440\u0443\u0441 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u043a\u0443\u0441\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435?<br \/>  \u0423\u043c\u043d\u044b\u0435 \u043b\u044e\u0434\u0438 \u0432 \u0434\u0430\u043b\u0435\u043a\u0438\u0445 80\u0445 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b\u0438 \u043e\u0434\u0438\u043d \u0440\u0435\u0446\u0435\u043f\u0442 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0446\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u0445 \u043a\u0443\u0441\u043a\u043e\u0432 \u2014 \u0445\u0435\u0448\u0438. \u041e\u0431\u044b\u0447\u043d\u043e \u0432\u0441\u0435 \u0440\u0435\u043b\u0438\u0437\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441 \u0445\u0435\u0448\u043e\u043c \u0438\u043b\u0438 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u043b\u0438 \u0430\u0432\u0442\u043e\u0440 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u043b\u0438\u0431\u0443, \u0438\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043d\u0435 \u0431\u044b\u043b\u043e \u043b\u0438 \u043e\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043e \u043d\u0438\u043a\u0435\u043c \u043a\u0440\u043e\u043c\u0435 \u043d\u0435\u0433\u043e. <br \/>  \u0415\u0441\u0442\u044c \u044f\u0437\u044b\u043a\u0438 (\u0421, C++) \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u044d\u0442\u0443 \u0444\u0438\u0447\u0443 \u0432 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435 (\u043a\u0430\u043a \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u041e\u0431\u0435\u0440\u043e\u043d\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0435\u0441\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0437\u0434\u0440\u0430\u0432\u044b\u0445 \u0438\u0434\u0435\u0439, \u043a\u0430\u043a \u043c\u043e\u0434\u0443\u043b\u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440), \u043d\u043e \u0421 \u0445\u043e\u0440\u043e\u0448 \u0442\u0435\u043c, \u0447\u0442\u043e \u0441 \u043f\u0440\u044f\u043c\u044b\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u043f\u0438\u043b\u044c\u043d\u0438\u043a\u043e\u043c. \u041f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0421 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u043d\u043e \u044d\u0442\u043e \u0434\u0440\u0443\u0433\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f.<br \/>  \u041f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0438\u043a\u043e\u043c\u0443? <br \/>  \u0415\u0441\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u0427\u0430\u0441\u0442\u044c \u0438\u0437 \u043d\u0438\u0445 \u0432 <a href=\"http:\/\/habrahabr.ru\/post\/241854\/\">\u0448\u0443\u0442\u043e\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435<\/a>.<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h4>\u0422\u0435\u043e\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0447\u0430\u0441\u0442\u044c<\/h4>\n<p>  \u041b\u044e\u0431\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u0434 \u0438\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u2014 \u044d\u0442\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f (\u0431\u0430\u0439\u0442\u044b). <br \/>  \u0425\u0435\u0448 \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441\u0432\u0435\u0440\u0442\u043a\u0438, \u0442.\u0435. \u043f\u043e\u0434\u0430\u0435\u043c \u043d\u0430 \u0432\u0445\u043e\u0434 n \u0431\u0430\u0439\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c m, \u0433\u0434\u0435 m \u2014 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u043d\u0430 \u0445\u0435\u0448\u0430, n \u2014 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u043d\u0430 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<br \/>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%85%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F\">\u043a\u0440\u0438\u043f\u0442\u043e\u0441\u0442\u043e\u0439\u043a\u0430\u044f \u0445\u0435\u0448 \u0444\u0443\u043d\u043a\u0446\u0438\u044f<\/a>, \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0447\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0439\u0442\u0438 \u00ab\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0443\u044e\u00bb \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u044e \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435 \u0434\u043b\u044f \u043d\u0430\u0441, \u0438 \u0442\u0435\u043c \u043c\u0435\u043d\u0435\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u0435\u043d code injection \u043f\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u0445\u0435\u0448\u0435. <br \/>  <a href=\"https:\/\/en.wikipedia.org\/wiki\/Code_injection\">Code injection<\/a> \u2014 \u0432\u0438\u0434 \u0430\u0442\u0430\u043a\u0438, \u043a\u043e\u0433\u0434\u0430 \u0447\u0442\u043e-\u0442\u043e \u0438\u0434\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a, \u0438 \u043d\u0435\u0443\u043f\u043e\u043b\u043d\u043e\u043c\u043e\u0447\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0441\u0432\u043e\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<h4>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0447\u0430\u0441\u0442\u044c (\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0445\u0435\u0448\u0430)<\/h4>\n<p>  \u041a\u0430\u043a \u0443\u0437\u043d\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0438 \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438? \u041e\u0431 \u044d\u0442\u043e\u043c \u043f\u0438\u0441\u0430\u043b \u0435\u0449\u0435 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D1%80%D0%B8%D1%81_%D0%9A%D0%B0%D1%81%D0%BF%D0%B5%D1%80%D1%81%D0%BA%D0%B8\">\u041c\u044b\u0449\u044c\u0445<\/a>, \u043d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043e\u0447\u0435\u043d\u044c \u0441\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c, \u0442.\u0435. \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0430\u043f\u0438\u0448\u0435\u043c:<\/p>\n<pre><code class=\"cpp\">void some(int *trains) { \tprintf(&quot;cho, chooo, motherfucker\\n&quot;); \t++*trains; }  void endSome() {} <\/code><\/pre>\n<p>  \u0422\u043e \u0444-\u0446\u0438\u044f endSome \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u043d\u0438\u0436\u0435, \u0447\u0435\u043c some (address of labels)<br \/>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0437\u043d\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043f\/\u0431\u0430\u0439\u0442\u043a\u043e\u0434\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 some.<\/p>\n<p>  \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043e\u0442 LLDB<\/p>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c<br \/>  disassemble -n \u00ab\u0438\u043c\u044f_\u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00bb \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u043f\u043a\u043e\u0434\u043e\u0432 \u0442\u0435\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/p>\n<pre><code class=\"cpp\">disassemble -n some RayLanguage`some:     0x10231e7b0 &lt;+0&gt;:  pushq  %rbp     0x10231e7b1 &lt;+1&gt;:  movq   %rsp, %rbp     0x10231e7b4 &lt;+4&gt;:  subq   $0x10, %rsp     0x10231e7b8 &lt;+8&gt;:  leaq   0x2be9(%rip), %rax        ; &quot;cho, chooo, motherfucker\\n&quot;     0x10231e7bf &lt;+15&gt;: movq   %rdi, -0x8(%rbp)     0x10231e7c3 &lt;+19&gt;: movq   %rax, %rdi     0x10231e7c6 &lt;+22&gt;: movb   $0x0, %al     0x10231e7c8 &lt;+24&gt;: callq  0x102321050               ; symbol stub for: printf     0x10231e7cd &lt;+29&gt;: movq   -0x8(%rbp), %rdi     0x10231e7d1 &lt;+33&gt;: movl   (%rdi), %ecx     0x10231e7d3 &lt;+35&gt;: addl   $0x1, %ecx     0x10231e7d9 &lt;+41&gt;: movl   %ecx, (%rdi)     0x10231e7db &lt;+43&gt;: movl   %eax, -0xc(%rbp)     0x10231e7de &lt;+46&gt;: addq   $0x10, %rsp     0x10231e7e2 &lt;+50&gt;: popq   %rbp     0x10231e7e3 &lt;+51&gt;: retq     (lldb) disassemble -n endSome RayLanguage`endSome:     0x10231e7f0 &lt;+0&gt;: pushq  %rbp     0x10231e7f1 &lt;+1&gt;: movq   %rsp, %rbp     0x10231e7f4 &lt;+4&gt;: popq   %rbp     0x10231e7f5 &lt;+5&gt;: retq     <\/code><\/pre>\n<p>  \u0418 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0438 <\/p>\n<pre><code class=\"cpp\">0x10231e7f0 \u2212 0x10231e7e3 = 0\u0445d <\/code><\/pre>\n<p>  13 \u0431\u0430\u0439\u0442\u043e\u0432 \u0447\u0435\u0433\u043e-\u0442\u043e \u0442\u0430\u043c, \u0447\u0442\u043e \u0436\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c?<\/p>\n<p>  \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e spacind nop \u0434\u043b\u044f \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u044f \u043e\u0442 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430, lldb \u0441\u043f\u0435\u0448\u0438\u0442 \u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c.<br \/>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c disassemble -s \u00ab\u0430\u0434\u0440\u0435\u0441\u0441 \u0432 hex\u00bb \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0430\u043a \u044d\u0442\u043e \u0438\u043b\u0438 \u043d\u0435\u0442.<\/p>\n<pre><code class=\"cpp\"> (lldb) disassemble -s 0x10231e7e3 RayLanguage`some:     0x10231e7e3 &lt;+51&gt;: retq        0x10231e7e4 &lt;+52&gt;: nopw   %cs:(%rax,%rax)  RayLanguage`endSome:     0x10231e7f0 &lt;+0&gt;:  pushq  %rbp     0x10231e7f1 &lt;+1&gt;:  movq   %rsp, %rbp     0x10231e7f4 &lt;+4&gt;:  popq   %rbp     0x10231e7f5 &lt;+5&gt;:  retq        0x10231e7f6 &lt;+6&gt;:  nopw   %cs:(%rax,%rax)  RayLanguage`main:     0x10231e800 &lt;+0&gt;:  pushq  %rbp <\/code><\/pre>\n<p>  \u0418 \u0442\u0430\u043a\u0438 \u0434\u0430, RTFM \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0447\u0442\u043e \u044d\u0442\u043e \u00abThe assembler (not the compiler) pads code up to the next alignment boundary with the longest NOP instruction it can find that fits. This is what you&#8217;re seeing.\u00bb<\/p>\n<p>  \u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043a\u0443\u0447\u0443 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u0445 \u0445\u0430\u043a\u043e\u0432, \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430, \u0442\u043e spacing \u0438\u0437 nop&#8217;\u043e\u0432 \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u043c \u0436\u0435 \u0438 \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u0441\u044f, \u0442.\u0435. \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 some. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0440 some \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 some \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 endSome.<\/p>\n<pre><code class=\"cpp\">size_t sizeOfSome = (size_t)&endSome - (size_t)&some;  <\/code><\/pre>\n<p>  \u0422\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0445\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b (\u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0441\u0442\u044c \u043e\u043f\u043a\u043e\u0434\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0437\u043d\u0430\u043d\u0438\u0435 \u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0435\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430).<br \/>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0441\u0442\u043e\u0439\u043a\u0438\u0439 \u0445\u0435\u0449 \u0438 \u0445\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043b\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n<pre><code class=\"cpp\"> size_t sizeOfSome = (size_t)&endSome - (size_t)&some;  unsigned char *body = malloc(sizeOfSome); memcpy(body, some, sizeOfSome);  unsigned char *hash = someHash(body, sizeOfSome); <\/code><\/pre>\n<p>  \u0433\u0434\u0435 hash \u2014 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043a\u043e\u043c\u044b\u0439 \u0445\u0435\u0448<\/p>\n<h4>\u0421\u0432\u0435\u0440\u043a\u0430 \u0445\u0435\u0448\u0435\u0439<\/h4>\n<p>  \u0422\u0443\u0442 \u043d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u0432\u0430 \u043f\u0443\u043d\u043a\u0442\u0430:  <\/p>\n<ol>\n<li>\u0441\u0432\u0435\u0440\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043d\u043e \u0438 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u0441\u044f (\u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0438\u043e\u0434 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u0445\u043e\u0440\u043e\u0448\u043e)<\/li>\n<li>\u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u043f\u0438\u043b\u0438\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 + \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/li>\n<li>\u043d\u0430\u0434\u043e \u0431\u044b \u0433\u0434\u0435-\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u044b\u0435 \u0445\u0435\u0448\u0438<\/li>\n<\/ol>\n<p>  \u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u0441\u044f \u043d\u0430 3-\u0435\u043c \u043f\u0443\u043d\u043a\u0442\u0435, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432:  <\/p>\n<ol>\n<li>\u0425\u0440\u0430\u043d\u0438\u0442\u044c \u0445\u0435\u0448\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435<\/li>\n<li>\u0417\u0430\u0448\u0438\u0442\u044b\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u043b\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0432\u0438\u0434)<\/li>\n<li>\u0417\u0430\u0448\u0438\u0442\u044b\u0435 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440<\/li>\n<\/ol>\n<p>  \u041d\u0435 \u0442\u0440\u0443\u0434\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u0447\u0442\u043e \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u0430\u043c\u044b\u0439 \u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u044b\u0439, \u0442.\u043a. \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0443, \u0442.\u0435. \u043d\u0435\u0442 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u0445\u0435\u0448\u0438. <br \/>  \u0412\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043d\u0435\u0435, \u0442.\u043a. \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0445\u0435\u0448\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0432\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u0432\u0435\u0440\u0438\u0442\u044c, \u0438 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0431\u043e\u043b\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0430\u0448 \u043a\u043e\u0434. \u0412 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0432\u0438\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0430\u043c\u044f\u0442\u0438, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0445\u0435\u0448\u0438 \u043d\u0430 readonly.<br \/>  \u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0430\u0438\u043c\u0435\u043d\u0435\u0435 \u0445\u043e\u0440\u043e\u0448, \u0442.\u043a. \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u0430\u0439\u043b\u0435, \u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c POSIX ACL, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c readonly.<\/p>\n<p>  \u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0445\u0435\u0448\u0435\u0439. \u0418 \u043a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u043e\u0434\u0438\u043d \u0438\u0437 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043b\u0438\u0446 \u043d\u0430 \u0434\u0435\u043c\u043e\u0441\u0446\u0435\u043d\u0435 \u2014 \u0435\u0441\u043b\u0438 \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c keygen \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0430\u0442\u0447.<\/p>\n<p>  \u0414\u043b\u044f \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u0432\u0438\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0435\u0449\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:  <\/p>\n<ol>\n<li>\u041d\u0435 \u0434\u0430\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0431\u0435\u0437 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0441\u043f\u0438\u0441\u043e\u043a \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439+\u0434\u043b\u0438\u043d\u043d)<\/li>\n<li>\u0411\u0435\u0437 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0442\u0435\u043b\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 (by default \u0443 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430 \u043e\u043d \u0435\u0441\u0442\u044c)<\/li>\n<li>\u0421\u0432\u0435\u0440\u043a\u0438 \u0445\u0435\u0448\u0430 \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/li>\n<\/ol>\n<h4>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0441 lldb<\/h4>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043e\u043f\u043a\u043e\u0434\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043e\u043f\u0446\u0438\u044e disassemble -b<\/p>\n<pre><code class=\"cpp\"> disassemble -b -n some RayLanguage`some:     0x1079ac500 &lt;+0&gt;:  55                    pushq  %rbp     0x1079ac501 &lt;+1&gt;:  48 89 e5              movq   %rsp, %rbp     0x1079ac504 &lt;+4&gt;:  48 83 ec 10           subq   $0x10, %rsp     0x1079ac508 &lt;+8&gt;:  48 8d 05 99 2e 00 00  leaq   0x2e99(%rip), %rax        ; &quot;cho, chooo, motherfucker\\n&quot;     0x1079ac50f &lt;+15&gt;: 48 89 7d f8           movq   %rdi, -0x8(%rbp)     0x1079ac513 &lt;+19&gt;: 48 89 c7              movq   %rax, %rdi     0x1079ac516 &lt;+22&gt;: b0 00                 movb   $0x0, %al     0x1079ac518 &lt;+24&gt;: e8 35 2b 00 00        callq  0x1079af052               ; symbol stub for: printf     0x1079ac51d &lt;+29&gt;: 48 8b 7d f8           movq   -0x8(%rbp), %rdi     0x1079ac521 &lt;+33&gt;: 8b 0f                 movl   (%rdi), %ecx     0x1079ac523 &lt;+35&gt;: 81 c1 01 00 00 00     addl   $0x1, %ecx     0x1079ac529 &lt;+41&gt;: 89 0f                 movl   %ecx, (%rdi)     0x1079ac52b &lt;+43&gt;: 89 45 f4              movl   %eax, -0xc(%rbp)     0x1079ac52e &lt;+46&gt;: 48 83 c4 10           addq   $0x10, %rsp     0x1079ac532 &lt;+50&gt;: 5d                    popq   %rbp     0x1079ac533 &lt;+51&gt;: c3                    retq    <\/code><\/pre>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:<\/p>\n<pre><code class=\"cpp\"> RData object - 0x7f83ebc054a0 [64] { 55 48 89 E5 48 83 EC 10 48 8D 05 99 2E 00 00 48 89 7D F8 48 89 C7 B0 00 E8 35 2B 00 00 48 8B 7D  F8 8B 0F 81 C1 01 00 00 00 89 0F 89 45 F4 48 83 C4 10 5D C3 66 66 66 2E 0F 1F 84 00 00 00 00 00  } - 0x7f83ebc054a0   Base64 evasion hash: wRagc6tuimNnTlTSbyOe+BT6QAkWVDXVEjWktrG4a+Zm\/2U2mgeeTr286yLE2lB3rVqihtQ2Fsb7eEvTocnEqg== <\/code><\/pre>\n<p>  \u0422.\u043a. \u043e\u043a\u043e\u0434\u044b \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 lldb \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430 \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e.<\/p>\n<h4>\u041f\u043b\u044e\u0441\u044b \u0438 \u043c\u0438\u043d\u0443\u0441\u044b<\/h4>\n<p>  \u041f\u043b\u044e\u0441\u044b:  <\/p>\n<ol>\n<li>\u0425\u0435\u0448\u0435\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u043d\u0430\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 (\u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0433\u0443 \u043d\u0430 \u043c\u043e\u0434\u0443\u043b\u0438 \u0438 \u043f\u043e\u0434\u043c\u043e\u0434\u0443\u043b\u0438) \u0438 \u0434\u0430\u043b\u0435\u0435 \u043a\u0430\u043a \u043f\u043e \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u044b\u043c \u0445\u0435\u0448\u0430\u043c \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0435\u0441\u043b\u0438 \u0445\u0435\u0448 \u043d\u0435\u043a\u043e\u0439 \u043b\u0438\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0437\u0430\u0431\u044b\u043b \u044d\u0442\u043e \u0443\u0447\u0435\u0441\u0442\u044c, \u0442\u043e \u044d\u0442\u043e \u043f\u043b\u043e\u0445\u043e. \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a\u0440\u0443\u0442\u043e \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0441\u044f \u043f\u0440\u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u044f\u0445, \u043a\u0430\u043a \u0432 \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445.<\/li>\n<li>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442.<\/li>\n<li>\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0438 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439\/\u0444\u0443\u043d\u043a\u0446\u0438\u0439 <\/li>\n<li>\u041f\u0430\u043b\u043a\u0438 \u0432 \u043a\u043e\u043b\u0435\u0441\u0430 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430\u043c \u043a\u043e\u0434\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f injection (\u0431\u0435\u0441\u0446\u0435\u043d\u043d\u043e).<\/li>\n<\/ol>\n<p>  \u041c\u0438\u043d\u0443\u0441\u044b:  <\/p>\n<ol>\n<li>\u041f\u043e\u043d\u0438\u0436\u0430\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c (\u043a\u0430\u043a \u0441\u0438\u043b\u044c\u043d\u043e, \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u0437\u044f\u0442\u0438\u044f \u0445\u0435\u0448\u0430, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0445\u0435\u0448\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439)<\/li>\n<li>\u0414\u043b\u044f \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0441 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u043e\u043c \u0433\u0435\u043c\u043e\u0440\u0440\u043e\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430.<\/li>\n<\/ol>\n<h4>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0445 \u0435\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432, \u0438\u043b\u0438 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0432\u044b\u0441\u0442\u0440\u0435\u043b\u0438\u0442\u044c \u0432 \u043a\u043e\u043b\u0435\u043d\u043e<\/h4>\n<p>  <\/p>\n<pre><code class=\"cpp\"> void some(int *trains) {     byte some[6] = &quot;hello&quot;;     printf(&quot;cho, chooo, motherfucker\\n&quot;);     ++*trains; }  RData object - 0x7ffe6ae00050 [80] { 55 48 89 E5 48 83 EC 20 48 8D 05 AF 2E 00 00 48 89 7D F8 8B 0D 9F 2E 00 00 89 4D F2 66 8B 15 99  2E 00 00 66 89 55 F6 48 89 C7 B0 00 E8 31 2B 00 00 48 8B 7D F8 8B 0F 81 C1 01 00 00 00 89 0F 89  45 EC 48 83 C4 20 5D C3 0F 1F 84 00 00 00 00 00  } - 0x7ffe6ae00050   aDO1L9KThmWe3NPBQuxgqkqcd72TkCxa2bJmzSiLdNq8KXbjls7cd38FPSQJQ82RTitb1qwZZcdlf1l5MP521A==  void some(int *trains) {     byte some[6] = &quot;lol&quot;;     printf(&quot;cho, chooo, motherfucker\\n&quot;);     ++*trains; }  RData object - 0x7fa222c057e0 [80] { 55 48 89 E5 48 83 EC 20 48 8D 05 AF 2E 00 00 48 89 7D F8 8B 0D 9F 2E 00 00 89 4D F2 66 8B 15 99  2E 00 00 66 89 55 F6 48 89 C7 B0 00 E8 31 2B 00 00 48 8B 7D F8 8B 0F 81 C1 01 00 00 00 89 0F 89  45 EC 48 83 C4 20 5D C3 0F 1F 84 00 00 00 00 00  } - 0x7fa222c057e0   aDO1L9KThmWe3NPBQuxgqkqcd72TkCxa2bJmzSiLdNq8KXbjls7cd38FPSQJQ82RTitb1qwZZcdlf1l5MP521A== EQUAL  <\/code><\/pre>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \u0434\u0432\u0430 \u0432\u044b\u0432\u043e\u0434\u0430 \u0438\u0437 \u0432\u044b\u0448\u0435 \u0443\u0432\u0438\u0434\u0435\u043d\u043d\u043e\u0433\u043e  <\/p>\n<ol>\n<li>\u0417\u0430\u043c\u0435\u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 \u043d\u0435 \u0432\u0435\u0434\u0435\u0442 \u043a \u0437\u0430\u043c\u0435\u043d\u0435 \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430, \u0442.\u043a. \u043e\u043d\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043c\u0435\u0441\u0442\u0435.<\/li>\n<li>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445(\u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442) \u0432\u0435\u0434\u0435\u0442 \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430<\/li>\n<\/ol>\n<pre><code class=\"cpp\"> void some(int *trains) {     byte some[4] = &quot;lol&quot;;     printf(&quot;cho, chooo, motherfucker\\n&quot;);     ++*trains; }  RData object - 0x7ffb3a600040 [64] { 55 48 89 E5 48 83 EC 10 48 8D 05 9D 2E 00 00 48 89 7D F8 8B 0D 8F 2E 00 00 89 4D F4 48 89 C7 B0 00 E8 2C 2B 00 00 48 8B 7D F8 8B 0F 81 C1 01 00 00 00 89 0F 89 45 F0 48 83 C4 10 5D C3 0F 1F 00 } - 0x7ffb3a600040  Wiq45\/M7ES5TOgkUNVUdn04OxsTF\/ej76Wj9B7ItE\/eYrU1f18nX5IT696fymYtlYj8drf9AtgPCStQPR0CEpg== <\/code><\/pre>\n<p>  3. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0441\u0442\u0435\u043a\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u0442\u043e\u0436\u0435 \u0432\u0435\u0434\u0435\u0442 \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430<\/p>\n<h4>P.S <\/h4>\n<p>  \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0434\u0435\u0431\u0430\u0433\u0433\u0435\u0440 <a href=\"http:\/\/lldb.llvm.org\/lldb-gdb.html\"> LLDB<\/a> + lldb -help<br \/>  \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f <a href=\"https:\/\/github.com\/kojiba\/RayLanguage\">\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430<\/a> \u0434\u043b\u044f \u0432\u0437\u044f\u0442\u0438\u044f \u0445\u0435\u0448\u0430 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439<br \/>  \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/github.com\/kojiba\/RayLanguage\/commit\/d3c3d5d7ef29c2002cb295a10de89b88ebdea565\">\u043a\u043e\u043c\u043c\u0438\u0442\u0435<\/a> (d3c3d5d)               <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/272561\/\"> http:\/\/habrahabr.ru\/post\/272561\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/fe7\/5a1\/3bb\/fe75a13bbbd36c015b34a41bb0df990b.jpg\" alt=\"image\"\/><\/p>\n<p>  \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 code injection, \u043d\u043e<br \/>  \u042d\u0442\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0435 \u043f\u0430\u043d\u0430\u0446\u0435\u044f, \u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442 \u0436\u0438\u0437\u043d\u044c \u0438\u043d\u044c\u0435\u043a\u0446\u0438\u0439 \u043a\u043e\u0434\u0430.<\/p>\n<h4>\u041b\u0438\u0440\u0438\u043a\u0430 <\/h4>\n<p>  \u0422.\u043a. \u0441\u043a\u0430\u0436\u0434\u044b\u043c \u0441\u043a\u0430\u0447\u043a\u043e\u043c \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u043b\u044e\u0434\u0435\u0439 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442 \u0430\u0441\u0441\u0435\u043c\u043b\u0435\u0440, \u0442\u043e \u0435\u0441\u0442\u044c \u0441\u043c\u044b\u0441\u043b \u0437\u0430\u0434\u0443\u043c\u0430\u0442\u0441\u044f:<br \/>  \u0410 \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0435\u044e?<br \/>  \u0418\u043b\u0438, \u0430 \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0432\u0438\u0440\u0443\u0441 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u043a\u0443\u0441\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435?<br \/>  \u0423\u043c\u043d\u044b\u0435 \u043b\u044e\u0434\u0438 \u0432 \u0434\u0430\u043b\u0435\u043a\u0438\u0445 80\u0445 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b\u0438 \u043e\u0434\u0438\u043d \u0440\u0435\u0446\u0435\u043f\u0442 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0446\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u0445 \u043a\u0443\u0441\u043a\u043e\u0432 \u2014 \u0445\u0435\u0448\u0438. \u041e\u0431\u044b\u0447\u043d\u043e \u0432\u0441\u0435 \u0440\u0435\u043b\u0438\u0437\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441 \u0445\u0435\u0448\u043e\u043c \u0438\u043b\u0438 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u043b\u0438 \u0430\u0432\u0442\u043e\u0440 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u043b\u0438\u0431\u0443, \u0438\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043d\u0435 \u0431\u044b\u043b\u043e \u043b\u0438 \u043e\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043e \u043d\u0438\u043a\u0435\u043c \u043a\u0440\u043e\u043c\u0435 \u043d\u0435\u0433\u043e. <br \/>  \u0415\u0441\u0442\u044c \u044f\u0437\u044b\u043a\u0438 (\u0421, C++) \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u044d\u0442\u0443 \u0444\u0438\u0447\u0443 \u0432 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435 (\u043a\u0430\u043a \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u041e\u0431\u0435\u0440\u043e\u043d\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0435\u0441\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0437\u0434\u0440\u0430\u0432\u044b\u0445 \u0438\u0434\u0435\u0439, \u043a\u0430\u043a \u043c\u043e\u0434\u0443\u043b\u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440), \u043d\u043e \u0421 \u0445\u043e\u0440\u043e\u0448 \u0442\u0435\u043c, \u0447\u0442\u043e \u0441 \u043f\u0440\u044f\u043c\u044b\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u043f\u0438\u043b\u044c\u043d\u0438\u043a\u043e\u043c. \u041f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0421 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u043d\u043e \u044d\u0442\u043e \u0434\u0440\u0443\u0433\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f.<br \/>  \u041f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0438\u043a\u043e\u043c\u0443? <br \/>  \u0415\u0441\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u0427\u0430\u0441\u0442\u044c \u0438\u0437 \u043d\u0438\u0445 \u0432 <a href=\"http:\/\/habrahabr.ru\/post\/241854\/\">\u0448\u0443\u0442\u043e\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435<\/a>.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-269786","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/269786","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=269786"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/269786\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=269786"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=269786"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=269786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}