{"id":315600,"date":"2020-12-27T03:00:17","date_gmt":"2020-12-27T03:00:17","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=315600"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=315600","title":{"rendered":"\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b?"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u0412 1992-\u043c \u0433\u043e\u0434\u0443 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 <a href=\"https:\/\/en.wikipedia.org\/wiki\/International_Obfuscated_C_Code_Contest\" rel=\"nofollow\">\u043a\u043e\u043d\u043a\u0443\u0440\u0441 \u043f\u043e \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421<\/a>. \u041e\u0434\u0438\u043d \u0438\u0437 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0431\u044b\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 <a href=\"https:\/\/github.com\/kt97679\/forth-dev\/tree\/master\/ioccc-obfuscated-c-contest-1992-buzzard.2\" rel=\"nofollow\">\u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439<\/a>. \u041c\u0435\u043d\u044f \u043f\u043e\u0440\u0430\u0437\u0438\u043b\u043e, \u0447\u0442\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0432\u0441\u0435\u0433\u043e \u0432 794 \u0431\u0430\u0439\u0442\u0430\u0445 \u0421 \u043a\u043e\u0434\u0430. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u043b\u0430\u0441\u044c \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430 \u043d\u0430 \u0444\u043e\u0440\u0442\u0435. \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u043e\u0441\u0442\u043e\u0440\u0433 \u0443\u0441\u0442\u0443\u043f\u0438\u043b \u043c\u0435\u0441\u0442\u043e \u0440\u0430\u0437\u043e\u0447\u0430\u0440\u043e\u0432\u0430\u043d\u0438\u044e, \u0442\u0430\u043a \u043a\u0430\u043a \u0430\u0432\u0442\u043e\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u201c\u0447\u0435\u0441\u0442\u043d\u044b\u0439\u201d \u0442\u0440\u044e\u043a: \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0444\u043e\u0440\u0442\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0444\u0443\u043d\u043a\u0446\u0438\u044e scanf(). \u0421 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043c\u0435\u043d\u044f \u0442\u0435\u0440\u0437\u0430\u043b \u0432\u043e\u043f\u0440\u043e\u0441 \u2014 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0431\u0435\u0437 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0442\u0440\u044e\u043a\u043e\u0432?<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0441\u044f \u0441 \u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 <a href=\"https:\/\/lennartb.home.xs4all.nl\/sod32.tar.gz\" rel=\"nofollow\">sod32<\/a> \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 <a href=\"https:\/\/lennartb.home.xs4all.nl\/\" rel=\"nofollow\">Lennart Benschop<\/a>. \u0423 \u044d\u0442\u043e\u0439 \u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 \u0421, \u0430 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0431\u0430\u0439\u0442\u043e\u0432 \u0432 \u0441\u043b\u043e\u0432\u0435 \u0445\u043e\u0441\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. sod32 \u0438\u043c\u0435\u0435\u0442 32 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u0430, \u0432\u043e\u0442 \u043e\u043d\u0438:<br \/>  <code><\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td>NOOP<\/td>\n<td>( --- )<\/td>\n<td>Do nothing<\/td>\n<\/tr>\n<tr>\n<td>SWAP<\/td>\n<td>( x1 x2 --- x2 x1 )<\/td>\n<td>Swap the two top items on the stack.<\/td>\n<\/tr>\n<tr>\n<td>ROT<\/td>\n<td>( x1 x2 x3 --- x2 x3 x1 )<\/td>\n<td>Rotate the three top items on the stack.<\/td>\n<\/tr>\n<tr>\n<td>0=<\/td>\n<td>( x --- f)<\/td>\n<td>f is true if and only if x is 0.<\/td>\n<\/tr>\n<tr>\n<td>NEGATE<\/td>\n<td>( n1 --- -n1)<\/td>\n<td>Negate top number on the stack.<\/td>\n<\/tr>\n<tr>\n<td>UM*<\/td>\n<td>( u1 u2 --- ud )<\/td>\n<td>Multiply two unsigned numbers, giving double result.<\/td>\n<\/tr>\n<tr>\n<td>C@<\/td>\n<td>( c-addr --- c)<\/td>\n<td>Fetch character c at c-addr.<\/td>\n<\/tr>\n<tr>\n<td>@<\/td>\n<td>( a-addr --- x)<\/td>\n<td>Fetch cell x at a-addr.<\/td>\n<\/tr>\n<tr>\n<td>+<\/td>\n<td>( w1 w2 --- w3) <\/td>\n<td>Add the top two numbers on the stack.<\/td>\n<\/tr>\n<tr>\n<td>AND<\/td>\n<td>( x1 x2 --- x3)<\/td>\n<td>Bitwise and of the top two cells on the stack.<\/td>\n<\/tr>\n<tr>\n<td>OR<\/td>\n<td>( x1 x2 --- x3)<\/td>\n<td>Bitwise or of the top two cells on the stack.<\/td>\n<\/tr>\n<tr>\n<td>XOR<\/td>\n<td>( x1 x2 --- x3)<\/td>\n<td>Bitwise exclusive or of the top two cells on the stack.<\/td>\n<\/tr>\n<tr>\n<td>U&lt;<\/td>\n<td>( u1 u2 ---- f)<\/td>\n<td>f is true if and only if unsigned number u1 is less than u2.<\/td>\n<\/tr>\n<tr>\n<td>&lt;<\/td>\n<td>( n1 n2 --- f)<\/td>\n<td>f is true if and only if signed number n1 is less than n2.<\/td>\n<\/tr>\n<tr>\n<td>LSHIFT<\/td>\n<td>( x1 u --- x2)<\/td>\n<td>Shift x1 left by u bits, zeros are added to the right.<\/td>\n<\/tr>\n<tr>\n<td>RSHIFT<\/td>\n<td>( x1 u --- x2)<\/td>\n<td>Shift x1 right by u bits, zeros are added to the left.<\/td>\n<\/tr>\n<tr>\n<td>UM\/MOD<\/td>\n<td>( ud u1 --- urem uquot)<\/td>\n<td>Divide the unsigned double number ud by u1, giving unsigned quotient and remainder.<\/td>\n<\/tr>\n<tr>\n<td>+CY<\/td>\n<td>( n1 n2 cy1 --- n3 cy2)<\/td>\n<td>Add n1 and n2 and the carry flag cy1 (must be 0 or 1) giving sum n3 and carry flag cy2. (n3 cy2 can be seen as a double number)<\/td>\n<\/tr>\n<tr>\n<td>SCAN1<\/td>\n<td>( x d --- u)<\/td>\n<td>Scan x for the first 1 bit. u is the position of that bit (counted from the scan direction) and 32 if x=0. d is the scan direction, 0 is left-to-right, 1 is right-to-left.<\/td>\n<\/tr>\n<tr>\n<td>SPECIAL<\/td>\n<td>( x ---)<\/td>\n<td>Any of a large number of special instructions, indicated by x.<\/td>\n<\/tr>\n<tr>\n<td>DROP<\/td>\n<td>( x ---)<\/td>\n<td>Discard the top item on the stack.<\/td>\n<\/tr>\n<tr>\n<td>&gt;R<\/td>\n<td>( x ---)<\/td>\n<td>Push x on the return stack.<\/td>\n<\/tr>\n<tr>\n<td>C!A<\/td>\n<td>( c c-addr --- c-addr)<\/td>\n<td>Store character c at c-addr, keep address.<\/td>\n<\/tr>\n<tr>\n<td>!A<\/td>\n<td>( x a-addr --- a-addr)<\/td>\n<td>Store cell x at a-addr, keep address.<\/td>\n<\/tr>\n<tr>\n<td>DUP<\/td>\n<td>( x --- x x )<\/td>\n<td>Duplicate the top cell on the stack.<\/td>\n<\/tr>\n<tr>\n<td>OVER<\/td>\n<td>( x1 x2 --- x1 x2 x1)<\/td>\n<td>Copy the second cell of the stack.<\/td>\n<\/tr>\n<tr>\n<td>R@<\/td>\n<td>( --- x)<\/td>\n<td>x is a copy of the top of the return stack.<\/td>\n<\/tr>\n<tr>\n<td>R&gt;<\/td>\n<td>( --- x)<\/td>\n<td>Pop the top of the return stack and place it on the stack.<\/td>\n<\/tr>\n<tr>\n<td>0<\/td>\n<td>( --- 0)<\/td>\n<td>The constant number 0.<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>( --- 1)<\/td>\n<td>The constant number 1.<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>( --- 4)<\/td>\n<td>The constant number 4.<\/td>\n<\/tr>\n<tr>\n<td>LIT<\/td>\n<td>( --- lit)<\/td>\n<td>Push literal on the stack (literal number is in-line).<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p><\/code><br \/>  \u042f \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0448\u0430\u043d\u0441 \u043d\u0430\u0439\u0442\u0438 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0438 \u044f \u043d\u0430\u0447\u0430\u043b \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0432 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f. \u0425\u043e\u0447\u0443 \u0441\u0440\u0430\u0437\u0443 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u0441\u044f \u044d\u0442\u0430 \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438\u043c\u0435\u0435\u0442 \u0447\u0438\u0441\u0442\u043e \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043c\u044b\u0441\u043b. \u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0432\u0440\u044f\u0434 \u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0438\u0437-\u0437\u0430 \u043f\u043e\u0442\u0435\u0440\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u0432\u043e\u0438\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 \u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0442\u0435\u0441\u0442\u043e\u0432 \u0437\u0430 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e\u043c John Hayes. \u041d\u043e\u0432\u044b\u0439 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u044f \u0441\u0442\u0440\u043e\u0438\u043b \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439  <\/p>\n<pre><code class=\"bash\">echo 'S&quot; extend-cross.4&quot; INCLUDED '|.\/sod32 kernel.img<\/code><\/pre>\n<p>  \u0430 \u0442\u0435\u0441\u0442\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b \u0432\u043e\u0442 \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"bash\">time .\/sod32 kernel.img &lt;&lt;&lt; $(echo -e 'S&quot; tester.fr&quot; INCLUDED\\n12345\\nBYE')<\/code><\/pre>\n<p>  \u0412 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043d\u0438\u0436\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043a\u0430\u043a \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u043b\u0438\u044f\u043b\u043e \u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u0421\u0441\u044b\u043b\u043a\u0438 \u0438\u0437 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u00ab\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u00bb \u0432\u0435\u0434\u0443\u0442 \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u0432 \u0433\u0438\u0442\u0445\u0430\u0431\u0435.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td>\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435<\/td>\n<td>\u0440\u0430\u0437\u043c\u0435\u0440 kernel.img<\/td>\n<td>\u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f tester.fr<\/td>\n<\/tr>\n<tr>\n<td>original sod32<\/td>\n<td>10164<\/td>\n<td>0m0.059s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/c0871becc4847c2578b4781df54ae37190cbc1f1\" rel=\"nofollow\">lshift, rshift<\/a><\/td>\n<td>10312<\/td>\n<td>0m0.071s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/f9c9b713590c2a79dac409174ffac7096d2cd1f2\" rel=\"nofollow\">+, um*, um\/mod<\/a><\/td>\n<td>11552<\/td>\n<td>0m0.123s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/cb702db36be9f0dc25e341f795ff7d71104d4088\" rel=\"nofollow\">c@, c!a<\/a><\/td>\n<td>11952<\/td>\n<td>0m0.795s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/f81b8f2e3a605f20d958dd0735d8df2abc5fac84\" rel=\"nofollow\">0=, negate &lt;, u&lt;<\/a><\/td>\n<td>12340<\/td>\n<td>0m2.800s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/45cffa66268f26135eafa0851a495ff3dc3ed556\" rel=\"nofollow\">drop<\/a><\/td>\n<td>12784<\/td>\n<td>0m5.022s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/2a3b456d1cf536a8ac2b901488b01261cc8e25f3\" rel=\"nofollow\">swap, rot, over<\/a><\/td>\n<td>13436<\/td>\n<td>0m5.860s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/6aef58d7714fc3e3ba23f39f386f7dd05a3e8fc9\" rel=\"nofollow\">sp@, sp!, rp@, rp!, dup<\/a><\/td>\n<td>13680<\/td>\n<td>0m8.696s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/56874b104f352a1d0268a2701cb2fd766608b140\" rel=\"nofollow\">r@, r&gt;, &gt;r<\/a><\/td>\n<td>14160<\/td>\n<td>0m15.463s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/4217c290541fcb902aeb43b308a8c019a6e5c8f9\" rel=\"nofollow\">and, or, xor<\/a><\/td>\n<td>14336<\/td>\n<td>0m21.198s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/30640cff9ebcc128ed26012f62f33963b980c1bd\" rel=\"nofollow\">0, 1, 4<\/a><\/td>\n<td>15236<\/td>\n<td>0m21.671s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/kt97679\/forth-dev\/commit\/cfeedc76045104f9d0200eb66b11ef9c719a5449\" rel=\"nofollow\">0branch<\/a><\/td>\n<td>15912<\/td>\n<td>0m41.765s<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435 \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 \u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u0441\u044f \u0441 10164 \u0434\u043e 15912 (+57%), \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u043f\u0430\u043b\u0430 \u0432 708 \u0440\u0430\u0437 (\u043f\u043e\u0447\u0442\u0438 3 \u043f\u043e\u0440\u044f\u0434\u043a\u0430). \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0435\u0441\u043b\u0438 \u043e\u0442\u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0437\u043a\u0438\u0435 \u043c\u0435\u0441\u0442\u0430, \u043d\u043e \u044f \u0443\u0432\u0435\u0440\u0435\u043d, \u0447\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 sod32.<\/p>\n<p>  \u0421 32-\u0445 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432 \u043f\u043b\u044e\u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438 \u0432\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0435 \u044f \u043f\u0440\u0438\u0448\u0435\u043b \u043a 7: nop, nand, !, @, um+, special, lit. \u0412\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0435 \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u043b\u043e\u0433\u0438\u043a\u0430 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f (call), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u043e\u0433\u0438\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f (next). \u041e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u044f \u043d\u0430\u0448\u0435\u043b: \u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430 \u0431\u0430\u0437\u0435 9-\u0442\u0438 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432 (\u0438\u043b\u0438 8-\u043c\u0438, \u0435\u0441\u043b\u0438 nop \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u043c). \u041c\u0435\u043d\u044f \u0441\u043c\u0443\u0449\u0430\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0446\u0435\u043b\u044b\u0445 3 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u0430: @,! \u0438 lit, \u043d\u043e \u044f \u043d\u0435 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b, \u043a\u0430\u043a \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c. \u042f \u0432\u043f\u043e\u043b\u043d\u0435 \u043c\u043e\u0433 \u0447\u0442\u043e-\u0442\u043e \u0443\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u0442\u0430\u043a \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0431\u041e\u043b\u044c\u0448\u0435\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432 \u2014 \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445.<\/p><\/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=\"https:\/\/habr.com\/ru\/post\/535186\/\"> https:\/\/habr.com\/ru\/post\/535186\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u0412 1992-\u043c \u0433\u043e\u0434\u0443 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 <a href=\"https:\/\/en.wikipedia.org\/wiki\/International_Obfuscated_C_Code_Contest\" rel=\"nofollow\">\u043a\u043e\u043d\u043a\u0443\u0440\u0441 \u043f\u043e \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421<\/a>. \u041e\u0434\u0438\u043d \u0438\u0437 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0431\u044b\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 <a href=\"https:\/\/github.com\/kt97679\/forth-dev\/tree\/master\/ioccc-obfuscated-c-contest-1992-buzzard.2\" rel=\"nofollow\">\u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439<\/a>. \u041c\u0435\u043d\u044f \u043f\u043e\u0440\u0430\u0437\u0438\u043b\u043e, \u0447\u0442\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0432\u0441\u0435\u0433\u043e \u0432 794 \u0431\u0430\u0439\u0442\u0430\u0445 \u0421 \u043a\u043e\u0434\u0430. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u043b\u0430\u0441\u044c \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430 \u043d\u0430 \u0444\u043e\u0440\u0442\u0435. \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u043e\u0441\u0442\u043e\u0440\u0433 \u0443\u0441\u0442\u0443\u043f\u0438\u043b \u043c\u0435\u0441\u0442\u043e \u0440\u0430\u0437\u043e\u0447\u0430\u0440\u043e\u0432\u0430\u043d\u0438\u044e, \u0442\u0430\u043a \u043a\u0430\u043a \u0430\u0432\u0442\u043e\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u201c\u0447\u0435\u0441\u0442\u043d\u044b\u0439\u201d \u0442\u0440\u044e\u043a: \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0444\u043e\u0440\u0442\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0444\u0443\u043d\u043a\u0446\u0438\u044e scanf(). \u0421 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043c\u0435\u043d\u044f \u0442\u0435\u0440\u0437\u0430\u043b \u0432\u043e\u043f\u0440\u043e\u0441 \u2014 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u043e\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0431\u0435\u0437 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0442\u0440\u044e\u043a\u043e\u0432?  <\/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-315600","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/315600","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=315600"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/315600\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=315600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=315600"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=315600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}