{"id":383224,"date":"2024-06-29T04:46:46","date_gmt":"2024-06-29T04:46:46","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=383224"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=383224","title":{"rendered":"<span>Flare-On 8 2021 CTF writeup&#8217;\u044b<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3b4\/2b8\/a81\/3b42b8a81b4d15c5efc1f3c5a86c0d9f.PNG\" width=\"407\" height=\"198\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u043a\u043e\u043d\u043a\u0443\u0440\u0441 Flare-On \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 FireEye. \u041e\u043d \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0435\u0442  \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u0439 \u0438 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u043e\u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e \u0432\u0441\u0435\u0433\u043e \u043c\u0438\u0440\u0430. \u0415\u0436\u0435\u0433\u043e\u0434\u043d\u043e  FireEye \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0432\u0441\u0435\u043c \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u043c 10-12 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 \u043d\u0430\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0435\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u0423\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u0430\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438 \u0432 \u0442\u043e\u043d\u0443\u0441\u0435 \u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0441\u0442\u0438\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u043e\u0432\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u0432\u0435\u0449\u0430\u043c. \u0421\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u043b\u0435\u0442 \u0438 \u044d\u0442\u043e  \u043a\u043e\u0441\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u0432 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443.  \u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u0438 \u0438\u0437-\u0437\u0430 \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438  \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f (\u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f) \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435\u0436\u0435\u043b\u0438 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e  \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043b\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438 &#8212; \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u044b\u043b\u043e  \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c &#171;\u0410&#187; \u0438 &#171;\u0411&#187;. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f  \u0440\u0435\u0448\u0430\u043b\u0438\u0441\u044c \u0432 \u0440\u0443\u0447\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435 \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f  \u0443\u0437\u043a\u043e\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u0451\u043c\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432.  <\/p>\n<p>\u042f \u0443\u0437\u043d\u0430\u043b \u043e\u0431 \u044d\u0442\u0438\u0445 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 2019 \u0433\u043e\u0434\u0443, \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0440\u0435\u0448\u0438\u043b \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043e\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0433\u043e\u043b\u043e\u0432\u043e\u043b\u043e\u043c\u043e\u043a \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435. \u041d\u0430 \u0441\u0447\u0435\u0442\u0443 \u0443 \u043c\u0435\u043d\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0440\u0435\u0442\u0438\u0439 \u043f\u0430\u043c\u044f\u0442\u043d\u044b\u0439 \u043f\u0440\u0438\u0437 \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b FireEye \u0438 \u0432 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0437\u0430\u043d\u044f\u043b 39 \u043c\u0435\u0441\u0442\u043e \u0432 \u043e\u0431\u0449\u0435\u043c\u0438\u0440\u043e\u0432\u043e\u043c \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0435 (4-\u043e\u0435 \u0441\u0440\u0435\u0434\u0438 \u0440\u043e\u0441\u0441\u0438\u044f\u043d):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/467\/72c\/142\/46772c142a6988fb170a1c0418aee705.png\" alt=\"\u0447\u0438\u0441\u043b\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0432\u0448\u0438\u0445 CTF \u043a i-\u0442\u043e\u043c\u0443 \u0434\u043d\u044e. \u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u0430 - 6 \u043d\u0435\u0434\u0435\u043b\u044c\" title=\"\u0447\u0438\u0441\u043b\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0432\u0448\u0438\u0445 CTF \u043a i-\u0442\u043e\u043c\u0443 \u0434\u043d\u044e. \u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u0430 - 6 \u043d\u0435\u0434\u0435\u043b\u044c\" width=\"720\" height=\"360\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/467\/72c\/142\/46772c142a6988fb170a1c0418aee705.png\"\/><figcaption>\u0447\u0438\u0441\u043b\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0432\u0448\u0438\u0445 CTF \u043a i-\u0442\u043e\u043c\u0443 \u0434\u043d\u044e. \u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u0430 &#8212; 6 \u043d\u0435\u0434\u0435\u043b\u044c<\/figcaption><\/figure>\n<p>\u0412\u0441\u0435 \u0444\u043b\u0430\u0433\u0438 Flare-On Challenge \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u043e\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 @flare-on.com. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u0440\u0430\u0437\u0431\u043e\u0440\u0443 \u0437\u0430\u0434\u0430\u043d\u0438\u0439.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/095\/5b8\/180\/0955b8180f189bfbf50ceb7905a39c5a.png\" width=\"723\" height=\"376\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/095\/5b8\/180\/0955b8180f189bfbf50ceb7905a39c5a.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0432\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 Flare-on \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0435\u043d\u0438\u0439. \u0412 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f html-\u0444\u043e\u0440\u043c\u0430 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 \u0432\u0432\u043e\u0434\u0430 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0430\u0440\u043e\u043b\u044f. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<details class=\"spoiler\">\n<summary>\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 checkCreds()<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">&lt;script> var form = document.getElementById(\"credform\"); var username = document.getElementById(\"usrname\"); var password = document.getElementById(\"psw\"); var info = document.getElementById(\"infolabel\"); var checkbtn = document.getElementById(\"checkbtn\"); var encoded_key = \"P1xNFigYIh0BGAofD1o5RSlXeRU2JiQQSSgCRAJdOw==\"  function checkCreds() {  if (username.value == \"Admin\" &amp;&amp; atob(password.value) == \"goldenticket\")  { var key = atob(encoded_key); var flag = \"\"; for (let i = 0; i &lt; key.length; i++) { flag += String.fromCharCode(key.charCodeAt(i) ^ password.value.charCodeAt(i % password.value.length)) } document.getElementById(\"banner\").style.display = \"none\"; document.getElementById(\"formdiv\").style.display = \"none\"; document.getElementById(\"message\").style.display = \"none\"; document.getElementById(\"final_flag\").innerText = flag; document.getElementById(\"winner\").style.display = \"block\"; } else { document.getElementById(\"message\").style.display = \"block\"; } }  &lt;\/script><\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u041d\u0443, \u043e\u043a. \u041f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u0434 if ( &#8230; ) <\/p>\n<pre><code>username.value = \"Admin\"; password.value = btoa(\"goldenticket\"); <\/code><\/pre>\n<p>\u0432\u0432\u043e\u0434\u0438\u043c \u0432 \u0444\u043e\u0440\u043c\u0443 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043b\u044e\u0447:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/77b\/f0d\/fb4\/77bf0dfb4c5b09eeb071bf9725ea2d20.PNG\" alt=\" \" title=\" \" width=\"518\" height=\"302\"\/><figcaption> <\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b2f\/09b\/af5\/b2f09baf5d996a865595044f7cdecb3b.png\" width=\"723\" height=\"299\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b2f\/09b\/af5\/b2f09baf5d996a865595044f7cdecb3b.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430-\u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a UnlockYourFiles.exe \u0438 6 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432:<\/p>\n<p>capa.png.encrypted<br \/>cicero.txt.encrypted<br \/>commandovm.gif.encrypted<br \/>critical_data.txt.encrypted<br \/>flarevm.jpg.encrypted<br \/>latin_alphabet.txt.encrypted<\/p>\n<p>\u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u043e\u0441\u0438\u0442 \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043b\u044e\u0447 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438. \u041b\u0435\u0433\u043a\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0447\u0438\u0442\u0430\u0435\u0442 \u0438 \u043f\u0438\u0448\u0435\u0442 \u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u043f\u043e 8 \u0431\u0430\u0439\u0442. \u0422\u0430\u043a\u0436\u0435 \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u043a\u043b\u044e\u0447\u0430 \u0432\u043b\u0438\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043e\u0434\u0438\u043d \u0431\u0430\u0439\u0442 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f &#8212; \u0432\u0441\u0435\u0433\u043e 9 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043f\u043e\u0445\u043e\u0436\u0430\u044f \u043d\u0430 \u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u0449\u0438\u043a \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/54c\/ae5\/013\/54cae5013f64048bc87ceb19404cdd94.PNG\" width=\"1632\" height=\"473\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439, \u043a\u043e\u0433\u0434\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u043f\u043e\u043d\u044f\u0442\u043d\u0435\u0435 \u0432\u044b\u0432\u043e\u0434\u0430 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430. <br \/>\u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0441 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043e\u043c. \u041f\u0435\u0440\u0435\u043f\u0438\u0448\u0435\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043d\u0430 Python:<\/p>\n<pre><code class=\"python\">alphabet = \"ABCDEFGH\" b = [0x0f,0xce,0x60,0xbc,0xe6,0x2f,0x46,0xea] for i in range(8):     for c in range(256):         if (rol(c^b[i],i,8) -i )== ord(alphabet[i]):             print(chr(c),end='')<\/code><\/pre>\n<p>\u041a\u043b\u044e\u0447 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 &#8212; No1Trust, \u0430 \u0444\u043b\u0430\u0433 &#8212; You_Have_Awakened_Me_Too_Soon_EXE@flare-on.com<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4fa\/8c9\/dbc\/4fa8c9dbc1ea5868634ecf28384e50e9.png\" width=\"723\" height=\"299\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4fa\/8c9\/dbc\/4fa8c9dbc1ea5868634ecf28384e50e9.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0434\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0434\u043e \u0447\u0435\u0433\u043e-\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e. \u0414\u0430\u043d \u0434\u043e\u043a\u0435\u0440-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u042f \u0440\u0435\u0448\u0438\u043b \u043d\u0435 \u0432\u043e\u0437\u0438\u0442\u044c\u0441\u044f \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f, \u0430 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443. \u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 \u0441 json-\u043e\u043f\u0438\u0441\u0430\u0442\u0435\u043b\u0435\u043c \u0438 \u0441 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c \u0432 \u0432\u0438\u0434\u0435 tar-\u0430\u0440\u0445\u0438\u0432\u0430. \u041e\u0434\u0438\u043d \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0430\u0439\u043b.\/AntiochOS, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b &#8212; \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432 a.dat..z.dat. \u0424\u0430\u0439\u043b\u044b *.dat \u043d\u0438\u0433\u0434\u0435 \u043d\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0442\u0441\u044f. \u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0441\u0432\u043e\u0439 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0440, \u043f\u043e \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u043e\u043b\u044f\u043c (\u043a\u0440\u043e\u043c\u0435 ID) \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f.<\/p>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c .\/AntiochOS:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c88\/ec4\/db5\/c88ec4db5ba3b34c020e1f320fd9be20.PNG\" width=\"658\" height=\"226\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u0433\u0438\u0434\u0440\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e .\/AntiochOS \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b: &#171;help&#187;, &#171;quit&#187;, &#171;approach&#187; \u0438 &#171;consult&#187;. \u0412\u044b\u0432\u043e\u0434 strace \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0435 &#171;consult&#187; \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 a.dat..z.dat:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/331\/29e\/d2d\/33129ed2de44d3680b2282380de0dff5.PNG\" width=\"770\" height=\"788\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u043e \u043a\u0430\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0443\u0436\u043d\u044b \u0444\u0430\u0439\u043b\u044b a.dat..z.dat &#8212; \u043d\u0435 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442\u0441\u044f. \u041b\u0430\u0434\u043d\u043e, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 approach:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/14a\/a80\/145\/14aa801453047ef448688dc8ee9f907a.PNG\" width=\"337\" height=\"163\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0432\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b approach &#8212; \u043e\u0442\u0441\u043b\u044b\u043b\u043a\u0430 \u043a \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0431\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u043e\u0439 \u0444\u044d\u043d\u0442\u0435\u0437\u0438\u0439\u043d\u043e\u0439 \u043a\u0438\u043d\u043e\u043a\u043e\u043c\u0435\u0434\u0438\u0438 \u041c\u043e\u043d\u0442\u0438 \u041f\u0430\u0439\u0442\u043e\u043d \u0438 \u0421\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0439 \u0413\u0440\u0430\u0430\u043b\u044c, \u0438 <a href=\"http:\/\/montypython.50webs.com\/scripts\/Holy_Grail\/Scene22.htm\" rel=\"noopener noreferrer nofollow\">\u0432 \u0441\u0446\u0435\u043d\u0435 22<\/a> \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b: \u0438\u043c\u044f &#8212; Sir Lancelot, \u043a\u0432\u0435\u0441\u0442 &#8212; Holy Grail, \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u0446\u0432\u0435\u0442 &#8212; Blue. \u0422\u0440\u0438 <s>\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u0433\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u043a\u0432\u044b \u0434\u0430\u044e\u0442 \u043f\u0440\u0430\u0432\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0434\u0432\u0435 \u0448\u043a\u0430\u0442\u0443\u043b\u043a\u0438<\/s> \u0443\u0433\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u043e\u0432\u0430 \u0432\u044b\u0434\u0430\u044e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0447\u0438\u0441\u043b\u043e. \u0412 .\/AntiochOS \u0435\u0441\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 {hash_name, hash_color, res_value}, \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0445\u044d\u0448\u0438 \u043e\u0442 \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0445 \u0432\u0430\u043c\u0438 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u044b &#8212; \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0432\u0430\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0438\u043c res_value &#8212; \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 [1..30]. \u0418\u043d\u0430\u0447\u0435&#8230; AAARGH! \u0418\u043c\u044f \u043a\u0432\u0435\u0441\u0442\u0430 \u043d\u0438\u0433\u0434\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f. <\/p>\n<p>\u0417\u0430\u043c\u0435\u0447\u0430\u0435\u043c, \u0447\u0442\u043e Sir Lancelot \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0434\u043e\u043a\u0435\u0440\u0430 \u0441 [a.dat &#8230; z.dat], \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0445\u044d\u0448\u0438 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u043c\u0451\u043d \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u044d\u0442\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0432\u043e\u0439 res_value, \u0434\u0430\u0436\u0435 \u043d\u0435 \u0437\u043d\u0430\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430 2 \u0438 3 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0432 gdb \u044d\u0442\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/892\/f43\/9c4\/892f439c46d746f852304d5a7e6be94f.PNG\" width=\"461\" height=\"592\"\/><figcaption><\/figcaption><\/figure>\n<details class=\"spoiler\">\n<summary>\u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e<\/summary>\n<div class=\"spoiler__content\">\n<p>\u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0445\u0435\u0448\u0430 \u043c\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043c \u043f\u043e \u0446\u0438\u043a\u043b\u0443 \u043f\u043e <em>i<\/em> \u0434\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0441 <em>data[i].hash_name<\/em>, \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0446\u0438\u043a\u043b\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 rdx \u0443\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e [rdx-0x4] &#8212; \u043d\u0430 data[i-1].res.value<\/p>\n<\/div>\n<\/details>\n<p>\u0438 \u0442.\u0434. \u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 &#8212; \u043c\u044b \u043d\u0435 \u0443\u0433\u0430\u0434\u0430\u043b\u0438 \u0441 \u0446\u0432\u0435\u0442\u043e\u043c, \u043d\u043e \u043d\u043e\u043c\u0435\u0440 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438. \u0414\u0430\u043b\u0435\u0435 \u0438\u0437 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c [a.dat&#8230;z.dat] \u0432 \u043e\u0431\u0449\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u044d\u0442\u0438\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u043c \u043d\u043e\u043c\u0435\u0440\u0430\u043c (\u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0430\u0436\u0435\u043d, \u0438\u0437-\u0437\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u0432 \u043d\u0435 \u0432\u0441\u0435 *.dat \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0431\u0443\u0434\u0443\u0442 \u0438\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430). \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0435\u0440\u043d\u043e, \u0432 \u043f\u0441\u0435\u0432\u0434\u043e\u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0435 &#171;consult&#187; \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0444\u043b\u0430\u0433 Five_Is_Right_0ut@flare-on.com.<\/p>\n<p>\u0421\u0438\u0434\u0435\u043b \u043d\u0430\u0434 \u0437\u0430\u0434\u0430\u043d\u0438\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0443\u0442\u043e\u043a &#8212; \u043c\u043d\u043e\u0433\u043e \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0445 \u0432\u0435\u0449\u0435\u0439, \u0434\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u0443\u043c\u0430\u043b \u043d\u0430\u0434 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0448\u0430\u0433\u043e\u043c &#8212; \u043d\u043e\u043c\u0435\u0440\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b, \u0432\u0441\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b a.dat..z.dat \u043d\u0430 \u0440\u0443\u043a\u0430\u0445, \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a \u0438\u0437\u0443\u0447\u0435\u043d \u0432\u0434\u043e\u043b\u044c \u0438 \u043f\u043e\u043f\u0435\u0440\u0451\u043a, \u0430 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u044d\u0442\u0438\u043c \u0431\u043e\u0433\u0430\u0442\u0441\u0442\u0432\u043e\u043c \u0434\u0430\u043b\u044c\u0448\u0435 &#8212; \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6e8\/8a6\/74a\/6e88a674ae1d3a82d8a08be24cbf8685.png\" width=\"723\" height=\"318\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6e8\/8a6\/74a\/6e88a674ae1d3a82d8a08be24cbf8685.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u043c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c \u0432 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u0443\u044e \u0438\u0433\u0440\u0443-\u0443\u0433\u0430\u0434\u0430\u0439\u043a\u0443 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u0437\u0430 \u0444\u043b\u0430\u0433. \u0421\u0443\u0442\u044c \u0438\u0433\u0440\u044b &#8212; \u043a\u043b\u0438\u043a\u043d\u0443\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043d\u0430 \u043b\u044e\u0431\u044b\u0435 \u0438\u0437 16 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u043c  \u043e\u043a\u043d\u0435 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0434\u043b\u044f \u043d\u0443\u043b\u0435\u0432\u044b\u0445 &#8212; standalone-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0434\u0432\u0438\u0436\u043e\u043a + \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 \u043e\u0434\u043d\u043e\u043c \u0444\u043b\u0430\u043a\u043e\u043d\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, AutoPlay Media Studio, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0445 \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u043e\u0432, \u0438\u0433\u0440\u043e\u0432\u044b\u0435 \u0434\u0432\u0438\u0436\u043a\u0438 &#8212; \u0431\u044b\u043b\u0438 \u0441\u043e\u0442\u043d\u0438 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c. CFF Explorer \u043d\u0430\u043c\u0435\u043a\u0430\u0435\u0442 \u043d\u0430\u043c, \u0447\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043e:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/921\/1a6\/3f4\/9211a63f47c4001b431bb11ee3f9b424.PNG\" width=\"488\" height=\"34\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0430 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u044d\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Multimedia Builder:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/32c\/d91\/1db\/32cd911db6f131d2df3411cd29d9bd40.PNG\" width=\"422\" height=\"64\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/github.com\/qprotex\/MMUnbuilder\" rel=\"noopener noreferrer nofollow\">\u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/a> \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 Multimedia Builder \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u042f \u0440\u0435\u0448\u0438\u043b \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0440\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u041c\u041c\u0412 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 \u0442\u0430\u043c. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 \u043d\u0451\u043c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a-\u0442\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043a\u0440\u0438\u0432\u043e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6e0\/a92\/9fd\/6e0a929fd2abfdb4979b1f0644c98a2a.PNG\" width=\"1472\" height=\"766\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0423 \u043c\u0435\u043d\u044f \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u041c\u041c\u0412, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043d\u044f\u0442\u044c \u0432 \u043d\u0451\u043c, \u043a \u0447\u0435\u043c\u0443 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u043d\u043e \u0437\u0430\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043f\u043e\u0434\u043a\u0430\u0437\u043a\u0443, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0430\u043f\u043a\u0443 TEMP (\u0441\u043c. \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442). \u0410\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u0432\u044b\u043f\u0438\u0448\u0435\u043c \u0432\u0441\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f:<\/p>\n<pre><code class=\"cpp\">Script01: part1$='derelict:MZZWP'; PluginSet(\"PlugIn\",\"part1$\") Script02: part2$='lagan:BAJkR'; PluginSet(\"PlugIn\",\"part2$\") Script03: part2$='flotsam:DFWEyEW'; PluginSet(\"PlugIn\",\"part2$\") Script04: part1$='flotsam:PXopvM'; PluginSet(\"PlugIn\",\"part1$\") Script05: part2$='derelict:LDNCVYU'; PluginSet(\"PlugIn\",\"part2$\") Script06: part3$='derelict:yXQsGB'; PluginSet(\"PlugIn\",\"part3$\") Script07: part2$='jetsam:newaui'; PluginSet(\"PlugIn\",\"part2$\") Script08: part3$='lagan:QICMX'; PluginSet(\"PlugIn\",\"part3$\") Script09: part1$='lagan:rOPFG'; PluginSet(\"PlugIn\",\"part1$\") Script10: part3$='jetsam:HwdwAZ'; PluginSet(\"PlugIn\",\"part3$\") Script11: part1$='jetsam:SLdkv'; PluginSet(\"PlugIn\",\"part1$\") Script12: part2$='derelict:LSZvYSFHW'; PluginSet(\"PlugIn\",\"part2$\") Script13: part3$='flotsam:BGgsuhn'; PluginSet(\"PlugIn\",\"part3$\") Script14: part4$='lagan:GTYAKlwER'; PluginSet(\"PlugIn\",\"part2$\") Script15: part4$='derelict:RTYXAc'; PluginSet(\"PlugIn\",\"part4$\") Script16: part2$='lagan:GTXI'; PluginSet(\"PlugIn\",\"part2$\")<\/code><\/pre>\n<details class=\"spoiler\">\n<summary>Script17:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">PluginRun(\"PlugIn\",\"PluginFunc19\") PluginGet(\"PlugIn\",\"var1$\") NextPage() LoadVariable(\"visitors\",\"count\") count = count + 1 SaveVariable(\"visitors\",\"count\") vc$='Visitor Counter: ' + CHAR(count) CreateText(\"mytext\",\"visitlabel$,1050,580,yippy\") LoadText(\"visitlabel$\",\"vc$\") colr$='TEXTCOLOR=255,0,0' SetObjectParam(\"outlabel$\",\"colr$\") SetObjectParam(\"outlabel$\",\"FONTNAME=Comic Sans MS\") SetObjectParam(\"outlabel$\",\"FONTSIZE=24\") colors$[1] = '255,0,0' colors$[2] = '0,255,0' colors$[3] = '0,0,255' colors$[4] = '255,0,0' colors$[5] = '0,255,0' colors$[6] = '0,0,255' colors$[7] = '255,0,0' colors$[8] = '0,255,0' colors$[9] = '0,0,255' colors$[10] = '255,0,0' colors$[11] = '0,255,0' colors$[12] = '0,0,255' colors$[13] = '255,0,0' colors$[14] = '0,255,0' colors$[15] = '0,0,255' For Loop= 1 To 1000   For Counter= 1 To 15     CreateText(\"mytext\",\"outlabel$,20,100 + 50 * Counter,yippy\")     LoadText(\"outlabel$\",\"var1$\")     colr$='TEXTCOLOR='+colors$[Counter]     SetObjectParam(\"outlabel$\",\"colr$\")     SetObjectParam(\"outlabel$\",\"FONTNAME=Comic Sans MS\")     SetObjectParam(\"outlabel$\",\"FONTSIZE=48\")     Pause(\"1000\")     DeleteObject(\"outlabel$\")   Next Counter Next Loop<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0422\u0430\u043a. \u0417\u043d\u0430\u0447\u0438\u0442, \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0447\u0435\u0442\u044b\u0440\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 (derelict, lagan, flotsam, jetsam), \u0430 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0448\u0430\u0433\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 Script17. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0435 \u0432 \u043f\u0430\u043f\u043a\u0435 TEMP \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u043c fathom.dll, \u0430 \u0432 \u043d\u0451\u043c &#8212; \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e PluginFunc19 (a\u0434\u0440\u0435\u0441 0x10002e40). x64dbg \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0440\u0435\u0439\u043a\u043f\u043e\u0439\u043d\u0442 \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 DLL, \u0430 \u0431\u0443\u0434\u0443\u0447\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439, \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u043d\u0443\u0436\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u041a\u0430\u043a\u0438\u0445-\u0442\u043e \u0445\u0438\u0442\u0440\u044b\u0445 \u0442\u0440\u044e\u043a\u043e\u0432 \u0432 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0430\u0441\u043a\u0430 \u043a\u0430\u043a \u0442\u0430\u043a\u043e\u0432\u044b\u0445 \u043d\u0435\u0442, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0437 -\u043d\u0446\u0430\u0442\u044c \u043f\u0440\u043e\u0439\u0442\u0438\u0441\u044c \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u043e\u043c \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u043e\u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f) \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b:<\/p>\n<ul>\n<li>\n<p>\u0437\u0430 \u043a\u0430\u043a\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043a\u0430\u0436\u0434\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u0432\u0441\u0435 \u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043d\u0430\u0441 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b (\u043e\u0442\u0432\u0435\u0442 &#8212; \u043d\u0435 \u0432\u0441\u0435)<\/p>\n<\/li>\n<li>\n<p>\u0447\u0442\u043e \u0437\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 (\u0435\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0437\u0430\u043f\u0443\u0442\u0430\u043b\u0438\u0441\u044c &#8212; \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432\u044b\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 \u0431\u0443\u043c\u0430\u0433\u0435 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e 1-2 \u043f\u0440\u043e\u0445\u043e\u0434\u0430 \u0442\u0435\u043b\u0430 \u0446\u0438\u043a\u043b\u0430  &#8212; \u0442\u0430\u043a\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0441\u043c\u043e\u0442\u0440\u0438 \u0432 ch10)<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430 \u0432\u0445\u043e\u0434 \u043a\u0430\u043a\u043e\u0439 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0434\u0430\u0451\u0442\u0441\u044f \u0431\u043b\u043e\u043a (\u043e\u0442\u0432\u0435\u0442 &#8212; 0x8003 &#8212; md5).<\/p>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>\u0442\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f47\/506\/0f0\/f475060f0915a2fb3e9319400bce8386.PNG\" width=\"1918\" height=\"1156\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<p>\u042f \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c PluginFunc19 \u043d\u0430 Python:<\/p>\n<pre><code class=\"python\">d = ('MZZWP','LDNCVYU', 'yXQsGB', 'LSZvYSFHW', 'RTYXAc') l = ('BAJkR','QICMX', 'rOPFG', 'GTYAKlwER','GTXI') f = ('DFWEyEW', 'PXopvM', 'BGgsuhn') j  = ('newaui', 'HwdwAZ', 'SLdkv')  import binascii import random import hashlib  x = '00A8A3FCD1A79DD2BA8F8F87A4E4CBF9169E81F938E5AF9F909A96A3A9A42596' x = binascii.unhexlify(x) x =x[::-1]  for w in range(10):     for loop in range(10*w):         f_str = ''         j_str = ''         for i in range(3):             j_str = j_str + j[random.randint(0,2)]         for i in range(w+1):             f_str = f_str + f[random.randint(0,2)]             for i in range(31):                 r[i]= x[i] ^ ord(f_str[i % len(f_str)])                 r[i] = ( r[i] - ord(j_str[i % len(j_str)])) % 256                 if hashlib.md5(r).hexdigest() == '6c5215b12a10e936f8de1e42083ba184':                     print ('yes')                     print(j_str)                     print(f_str)                     print(hashlib.md5(r).hexdigest())                     exit <\/code><\/pre>\n<p>\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435, \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0432\u0435\u0440\u043d\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u0430\u0451\u0442 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u044b\u0439 \u0445\u044d\u0448. \u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0432\u0435\u0440\u043d\u044b\u0439 \u043a\u043b\u044e\u0447: s1gn_my_gu357_b00k@flare-on.com<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c2b\/cc1\/9b2\/c2bcc19b2f7faea36cbf33821efb5f19.png\" width=\"723\" height=\"729\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c2b\/cc1\/9b2\/c2bcc19b2f7faea36cbf33821efb5f19.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430, \u044d\u0442\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0441 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c \u0432\u043d\u0443\u0442\u0440\u0438. \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0443\u0432\u0430\u0436\u0430\u0435\u043c\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0447\u0443\u0436\u0438\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\">cat ~\/.bash* find \/ -type f -mtime -60 -mtime +1 -exec ls -la {} \\: 2>\/dev\/null | less ls -la ~ ls -la Documents crontab -a<\/code><\/pre>\n<p>\u042d\u0442\u043e \u0434\u0430\u0441\u0442 \u043d\u0430\u043c \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435, \u044f\u0432\u043d\u043e \u043d\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u0441\u043e \u0441\u0432\u0435\u0436\u0435\u0439 \u0434\u0430\u0442\u043e\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f 26 \u0430\u0432\u0433\u0443\u0441\u0442\u0430 2021 \u0433\u043e\u0434\u0430:<\/p>\n<ul>\n<li>\n<p>\/usr\/bin\/zyppe   \/\/ \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u0441\u043b\u043e\u0439 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\/usr\/bin\/dot        \/\/ \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0430\u044f \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0430\u0440\u043e\u043b\u044c<\/p>\n<\/li>\n<li>\n<p>\u043d\u0435\u043a\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b NUMBER \u0438 a\u043b\u0438\u0430\u0441 FLARE<\/p>\n<\/li>\n<li>\n<p>\u043a\u0443\u0447\u0443 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u043f\u0430\u043f\u043a\u0435 Documents <\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0439 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0412\u0441\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u0430 Documents \u0438\u043c\u0435\u044e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 1024 \u0431\u0430\u0439\u0442\u0430.  \u0423\u0442\u0438\u043b\u0438\u0442\u0430 \/usr\/bin\/zyppe \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0442\u0430\u043a \u0447\u0442\u043e \u0432\u0441\u0451, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e, \u044d\u0442\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0451 \u043a \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c\u0443 \u043f\u0430\u043f\u043a\u0438 Documents.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0447\u0438\u0442\u0430\u0435\u043c \u0441\u0430\u043c\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b:<\/p>\n<pre><code class=\"bash\">[user@localhost Documents]$ cat udon_noddles.txt.broken  \"ugali\", \"unagi\" and \"udon noodles\" are delicious. What a coincidence that all of them start by \"u\"!  [user@localhost Documents]$ cat ugali.txt.broken  Ugali with Sausages or Spaghetti is tasty. It doesn\u2019t matter if you rotate it left or right, it is still tasty! You should try to come up with a great recipe using CyberChef  [user@localhost Documents]$ cat unagi.txt.broken  The 1st byte of the password is 0x45<\/code><\/pre>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u0431\u0443\u043a\u0432\u0443 &#171;s&#187; \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434 ror \u0438\u043b\u0438 rol. \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442:<\/p>\n<pre><code class=\"bash\">[user@localhost Documents]$ xxd sausages.txt.broken  00000000: 2a34 b210 19b9 3a10 31bc 3ab2 10b7 3310  *4....:.1.:...3. 00000010: 3a34 b210 38b0 b9b9 bbb7 3932 10b4 b910  :4..8.....92.... 00000020: 183c 991a 0500 0000 0000 0000 0000 0000  .&lt;..............<\/code><\/pre>\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442:<\/p>\n<pre><code>sausages.txt:         The 2st byte of the password is 0x34 strawberries.txt:     In the FLARE team we like to speak in code.  spaghetti.txt:        In the FLARE language \"spaghetti\" is \"c3BhZ2hldHRp\".  strawberries.txt:     You should learn our language, otherwise you want be able to speak with us when you escape                        (if you manage to escape!). For example, instead of \"strawberries\" we say \"c3RyYXdiZXJyaWVz\".<\/code><\/pre>\n<p>\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043e\u043a, \u043a \u043a\u0430\u043a\u0438\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0435\u0439 \u0438\u043d\u0442\u0443\u0438\u0446\u0438\u0438. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u0431\u0443\u043a\u0432\u0443 &#171;r&#187; \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u043e\u0439 Base64:<\/p>\n<pre><code class=\"bash\">[user@localhost Documents]$ cat rasberries.txt.broken  VGhlIDNyZCBieXRlIG9mIHRoZSBwYXNzd29yZCBpczogMHg1MQo=<\/code><\/pre>\n<p>\u0421\u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0438\u0445 \u0432 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e-\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u0432\u0438\u0434:<\/p>\n<pre><code>rasberries.txt      The 3rd byte of the password is: 0x51 reeses.txt          We LOVE \"Reese\\'s\", they are great for everything! They are amazing                      in ice-cream and they even work as a key for XOR encoding <\/code><\/pre>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u0431\u0443\u043a\u0432\u0443 &#171;b&#187; \u043d\u0430\u043a\u0440\u044b\u0442\u044b \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u0425\u041eR, \u0433\u0434\u0435 \u043f\u0435\u0440\u0432\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u043d\u0434 &#8212; \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442, \u0432\u0442\u043e\u0440\u043e\u0439 &#8212; i-\u0442\u044b\u0439 \u0431\u0430\u0439\u0442 &#171;Reese&#8217;s&#187;. \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043a\u043e\u043f\u0430\u0442\u044c\u0441\u044f \u0432 \u0447\u0443\u0436\u043e\u043c \u0431\u0435\u043b\u044c\u0435:<\/p>\n<pre><code class=\"bash\">blue_cheese.txt:         The 4th byte of the password is: 0x35 backberries.txt:         If you are not good in maths, the only thing that can save you is to be a bash expert.                           Otherwise you will be locked here forever HA HA HA! banana_chips.txt:        Are you good at maths? We love maths at FLARE!                          We use this formula a lot to decode bytes: \"ENCODED_BYTE + 27 + NUMBER1 * NUMBER2 - NUMBER3\"<\/code><\/pre>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e, \u043f\u043e\u043a\u0430 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b &#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e  chr(ord(symbol) + 0x4 )):<\/p>\n<pre><code>iced_coffee.txt          The only problem with RC4 is that you need a key. The FLARE team normally uses this number: \"SREFBE\" (as an UTF-8 string).                           If you have no idea what that means, you should give up and bake some muffins. instant_noodles.txt      The 5th byte of the password is: 0xMS ice_cream.txt            \u044d\u0442\u043e \u0440\u0435\u0446\u0435\u043f\u0442 \u0432\u043a\u0443\u0441\u043d\u043e\u0433\u043e \u0434\u0435\u0441\u0435\u0440\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0435\u0433\u043e \u043f\u043e\u0437\u0436\u0435, \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442                          \u043e\u0442\u0442\u0443\u0434\u0430 \u043d\u0430\u043c \u0432\u0430\u0436\u043d\u043e \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0447\u0442\u043e C -> 0,  B -> 1,  L -> 2...<\/code><\/pre>\n<p>\u0417\u043d\u0430\u044f \u043a\u043b\u044e\u0447 \u0434\u043b\u044f RC4 \u0432\u0441\u043a\u0440\u043e\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u0431\u0443\u043a\u0432\u0443 &#171;n&#187;:<\/p>\n<pre><code>nachos.txt             In the FLARE team we really like Felix Delastelle algorithms,                        specially the one which combines the Polybius square with transposition,                         and uses fractionation to achieve diffusion. natillas.txt           Do you know natillas?                         In Spain, this term refers to a custard dish made with milk and KEYWORD,                         similar to other European creams as cr\u00e8me anglaise.                        In Colombia, the delicacy does not include KEYWORD, and is called natilla nutella.txt            The 6th byte of the password is: 0x36<\/code><\/pre>\n<p>\u041f\u043e-\u0432\u0438\u0434\u0438\u043c\u043e\u043c\u0443, \u044d\u0442\u043e\u0442 \u0448\u0438\u0444\u0440 \u043c\u0430\u043b\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u0414\u043e Flare-2021 p\u0430\u043d\u0435\u0435 \u0432 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u043c\u043d\u0435 \u043d\u0438\u0433\u0434\u0435 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u043b\u0438\u0441\u044c \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f \u043e \u043d\u0451\u043c.  \u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0448\u0438\u0444\u0440\u0442\u0435\u043a\u0441\u0442 \u0443\u0434\u043e\u0431\u043d\u043e \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0435 cryptii.com ( <a href=\"https:\/\/cryptii.com\/pipes\/bifid-cipher\" rel=\"noopener noreferrer nofollow\">https:\/\/cryptii.com\/pipes\/bifid-cipher<\/a> ). \u0423\u0440\u0430, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u044b \u043d\u0430 \u0431\u0443\u043a\u0432\u0443 d, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a\u043e\u0439:<\/p>\n<pre><code>Abn lef emadkxp frceqdnhe? Tah gdcktm temyku xxo qo ktyhzn! Zd'k raooua, por uda ztykqh. are you missing something? you should search for it better! it's hidden, but not really.<\/code><\/pre>\n<p>(\u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044e \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d \u0442\u0435\u043a\u0441\u0442 \u0434\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u0438 \u043f\u043e\u0441\u043b\u0435). \u0423\u0437\u043d\u0430\u0451\u043c, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0441\u043a\u0440\u044b\u0442\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 \u0444\u0440\u0430\u0437\u043e\u0439 &#171;the 7th byte of the password is: 0x66&#187; \u0438 \u0447\u0442\u043e &#171;giovan battista bellaso loved microwaves&#187;. \u0410 \u0432\u044b \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u0448\u0438\u0444\u0440 \u0412\u0438\u0436\u0435\u043d\u0435\u0440\u0430 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043d \u043d\u0435 \u0438\u043c? \u0422\u0435\u043f\u0435\u0440\u044c \u0438 \u0432\u044b \u044d\u0442\u043e \u0437\u043d\u0430\u0435\u0442\u0435. <\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u0448\u0438\u0444\u0440 \u0412\u0438\u0436\u0435\u043d\u0435\u0440\u0430 \u0441 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c microwaves \u043a \u0442\u0435\u043a\u0441\u0442\u0430\u043c \u043d\u0430 \u0431\u0443\u043a\u0432\u0443 &#171;o&#187;, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 8-\u043e\u0439 \u0431\u0430\u0439\u0442 \u043f\u0430\u0440\u043e\u043b\u044f &#171;0x60&#187;, \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e Flare Team \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u0442 \u0432 \u0442\u0432\u0438\u0442\u0442\u0435\u0440\u0435 \u043c\u0430\u0441\u0441\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u0438 \u044d\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u0441\u043a\u0440\u044b\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u044b \u043d\u0430 \u043e\u0441\u0442\u0430\u0432\u0448\u0443\u044e\u0441\u044f \u0431\u0443\u043a\u0432\u0443 &#171;t&#187;. \u0423\u0432\u044b, \u044f \u043d\u0435 \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0441\u044f \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0448\u0430\u0433\u043e\u043c, \u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043c\u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u043b\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u0440\u0443\u0442\u0444\u043e\u0440\u0441\u043e\u043c \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \/usr\/bin\/dot.<\/p>\n<details class=\"spoiler\">\n<summary>\u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 dot \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 sha256 \u043e\u0442 \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0435\u0451 \u0441 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439. \u041c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043c\u043e\u0449\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 hashcat \u0434\u043b\u044f \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u0445\u0435\u0448\u0430, \u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0431\u0440\u0443\u0442\u0444\u043e\u0440\u0441.<\/p>\n<\/div>\n<\/details>\n<p>\u041f\u0430\u0440\u043e\u043b\u044c: <code>E4Q45d6f`lD5I<\/code>, \u0444\u043b\u0430\u0433: H4Ck3r_e5c4P3D@flare-on.com<\/p>\n<p>\u0412\u0435\u0441\u0451\u043b\u044b\u0439 \u044d\u0442\u0430\u043f, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0444\u043b\u0430\u0433\u0430, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0439\u0442\u0438 \u044d\u0434\u0430\u043a\u0438\u0439 \u043b\u0430\u0431\u0438\u0440\u0438\u043d\u0442 \u0438 \u0440\u0430\u0441\u043f\u0443\u0442\u0430\u0442\u044c \u0441\u0435\u0440\u0438\u044e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0448\u043a\u043e\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0433\u0430\u0434\u043e\u043a.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f2e\/7a0\/9b4\/f2e7a09b469ad4a372fab1e3f74f384a.png\" width=\"723\" height=\"459\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f2e\/7a0\/9b4\/f2e7a09b469ad4a372fab1e3f74f384a.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043d pcap-\u0444\u0430\u0439\u043b \u0441 \u0434\u0432\u0443\u043c\u044f tcp-\u0441\u0435\u0441\u0441\u0438\u044f\u043c\u0438 \u043c\u0435\u0436\u0434\u0443 \u0445\u043e\u0441\u0442\u043e\u043c \u0438  A xn--zn8hscq4eeafedhjjkl.flare-on.com. \u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0435\u0441\u0441\u0438\u044f &#8212; \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 png-\u043a\u043e\u0442\u0438\u043a\u0430 \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430. \u0412\u0442\u043e\u0440\u0430\u044f \u0441\u0435\u0441\u0441\u0438\u044f &#8212; \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043c\u0435\u043b\u043a\u0438\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c. \u0417\u0430\u043c\u0435\u0442\u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 &#8212; \u0434\u0432\u043e\u0447\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 &#171;MEOW&#187;, Dword value, Dword value, &#171;PA30&#187;. \u0423\u0432\u044b, Wireshark \u0443\u043c\u0435\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u0435\u0441\u0441\u0438\u044e \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u0435\u0434\u0438\u043d\u043e\u0435 \u0446\u0435\u043b\u043e\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438 \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0440\u0435\u0437\u0430\u0442\u044c bin \u043f\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044e \u0441 MEOW, \u043d\u043e \u044f \u043f\u0440\u0438\u043d\u044f\u043b \u0431\u043e\u043b\u0435\u0435 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 &#8212; \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043c\u043f \u043a\u0430\u043a \u043c\u0430\u0441\u0441\u0438\u0432\u044b &#171;C&#187; \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0431\u0440\u043e\u0441\u0430\u043b python-\u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u043e \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0432 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e bin-\u0444\u0430\u0439\u043b\u043e\u0432, \u0431\u043b\u0430\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0444\u0438\u043a\u0430 &#8212; \u0447\u0430\u0441\u0442\u0430\u044f \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0435\u0449\u0451.<\/p>\n<p>\u0422\u0430\u043a, \u0447\u0442\u043e, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441 \u044d\u0442\u0438\u043c \u0434\u043e\u0431\u0440\u043e\u043c \u0434\u0435\u043b\u0430\u0442\u044c? \u0418\u0437\u0432\u043b\u0435\u0447\u0451\u043d\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0431\u044b\u043b\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u043d\u043d\u043e \u0442\u0438\u043f\u043e\u0432\u043e\u0439. <a href=\"https:\/\/www.aldeid.com\/wiki\/Zsteg\" rel=\"noopener noreferrer nofollow\">\u0421\u0442\u0435\u0433\u0430\u043d\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437<\/a> \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 zsteg \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u044f\u0432\u0438\u043b, PNG-\u0444\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043b\u0438\u0448\u043d\u0438\u0439 \u0441\u0435\u043a\u0446\u0438\u0439 \u043d\u0435 \u0438\u043c\u0435\u043b. \u0412\u0442\u043e\u0440\u043e\u0439 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 \u0438\u043c\u0435\u043b \u0440\u0430\u0437\u043c\u0435\u0440 10\u041a\u0431 \u0438 \u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 (\u0434\u0430\u0436\u0435 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e) \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0442\u044f\u043d\u0443\u043b.<\/p>\n<p>\u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0448\u043b\u043e\u0441\u044c, \u0447\u0442\u043e 50 41 33 30 (PA30) &#8212; \u044d\u0442\u043e \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u0430 Package Delta Format, \u043d\u043e <a href=\"https:\/\/reverseengineering.stackexchange.com\/questions\/19734\/dll-starting-with-dcd\" rel=\"noopener noreferrer nofollow\">\u044d\u0442\u043e\u0442 \u0432 \u0441\u0435\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u0440<\/a> \u043f\u043e\u0432\u0451\u043b \u043c\u0435\u043d\u044f \u043f\u043e \u043b\u043e\u0436\u043d\u043e\u043c\u0443 \u043f\u0443\u0442\u0438 &#8212; \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0443 \u0442\u0430\u043a\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f \u0438 \u0431\u044b\u0432\u0430\u044e\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0435\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u044b (\u043a\u043e\u043d\u043a\u0443\u0440\u0441\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0430\u043a\u0438\u043c\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043d\u0435 \u043e\u0431\u043b\u0430\u0434\u0430\u043b\u0438), \u0430 \u0441\u0432\u043e\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 PA30 \u043d\u0430 \u043a\u043e\u043c\u043f\u0435 \u043d\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c. \u041a\u0430\u043a\u043e\u0435-\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b \u043d\u0430 \u043f\u043e\u0434\u0431\u043e\u0440 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0441\u0436\u0430\u0442\u0438\u044f, \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u044d\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0437\u0430\u043d\u044f\u0442\u0438\u0435.<\/p>\n<p>\u0412\u044b\u0440\u0443\u0447\u0438\u043b\u0430 \u0432\u043e\u0442 <a href=\"https:\/\/wumb0.in\/extracting-and-diffing-ms-patches-in-2020.html\" rel=\"noopener noreferrer nofollow\">\u044d\u0442\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430<\/a> \u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 delta_patch.py \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435. \u0418, \u0434\u0430, \u044d\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e Package Delta Format! \u0421\u043b\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c, \u043d\u043e \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u043f\u043e\u0442\u0440\u044f\u0441\u0435\u043d\u0438\u0435. \u0422\u0430\u043a \u0443\u043c\u0435\u043b\u043e \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 660 \u043a\u0431 \u043f\u0430\u0442\u0447\u0435\u043c \u0432 10 \u043a\u0431 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0432 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0435 dll-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0435\u0441\u043e\u043c \u0432 1.4 \u043c\u0431. \u0424\u043e\u043a\u0443\u0441, \u043f\u043e\u0445\u043b\u0435\u0449\u0435 \u0444\u043e\u043a\u0443\u0441\u043e\u0432 \u0413\u0443\u0434\u0434\u0438\u043d\u0438 \u0438 \u041a\u043e\u043f\u043f\u0435\u0440\u0444\u0438\u043b\u044c\u0434\u0430.<\/p>\n<p>\u041f\u0440\u043e\u0448\u0443 \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043c\u0435\u043d\u044f \u0437\u0430 \u044d\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043b\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435, \u043d\u043e \u044f \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043e\u0436\u0438\u0434\u0430\u043b, \u0447\u0442\u043e \u043e\u043d\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u044b\u043c \u0434\u0435\u043b\u043e\u043c. \u041f\u043e\u0440\u0442 \u0438 \u0445\u043e\u0441\u0442 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 tcp-\u0442\u0440\u0430\u0444\u0438\u043a\u0435, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u0442\u044c, \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0441\u044b\u043c\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u044e\u044e \u0430\u0442\u0430\u043a\u0443 \u043f\u043e \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u044b\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c \u0441\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438. \u0412\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, dll \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0441\u043e\u043e\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u0451\u0442 cmd-\u043f\u043e\u0434\u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 shell-\u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0417\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043c\u043e\u0433 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0447\u0438\u0442\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b, \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0444\u0430\u0439\u043b\u043e\u0432. \u0412 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u043c \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043b\u0441\u044f \u043a\u043b\u044e\u0447 1m_H3rE_Liv3_1m_n0t_a_C4t@flare-on.com.<\/p>\n<p>\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0430\u0442\u0447\u0435\u0439 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u043b\u043e\u0441\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 CreateDeltaB \u0438 ApplyDeltaB. \u0412\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 &#8212; \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0449\u0438\u043a, \u043d\u043e \u044f \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0451\u043b \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 ApplyDeltaB, \u043f\u043e\u0441\u044b\u043b\u0430\u044f \u043d\u0430 \u0432\u0445\u043e\u0434 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043d\u043e \u0438 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b.<\/p>\n<details class=\"spoiler\">\n<summary>\u043f\u0440\u0438\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e \u043f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u0430:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"powershell\">@echo off &amp; for \/f %a in ('dir \/s \/b') do echo %~fa %~za  C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Cat_Memes 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Great_Ideas 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\No_Flags_Here 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\NO_SERIOUSLY_EVEN_MORE_BESTEST_IDEAS 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Okay_Ideas 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Swag 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\The_BEST_Ideas 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Cat_Memes\\meow.txt 64 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Great_Ideas\\meow.txt 64 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna\\Give 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna\\Give\\You 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna\\Give\\You\\Up 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna\\Give\\You\\Up\\FlagPit 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna\\Give\\You\\Up\\Gotcha.txt 1806 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna\\Give\\You\\Up\\meow.txt 64 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna\\Give\\You\\Up\\The_Real_Challenge 0 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna\\Give\\You\\Up\\FlagPit\\me0000000w.txt 812 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna\\Give\\You\\Up\\The_Real_Challenge\\Mugatuware.exe 1532928 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Never\\Gonna\\Give\\You\\Up\\The_Real_Challenge\\mydude.exe 650105 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\No_Flags_Here\\meow.txt 64 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\No_Flags_Here\\what_did_you_expect.txt 1658 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\NO_SERIOUSLY_EVEN_MORE_BESTEST_IDEAS\\meow.txt 64 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Okay_Ideas\\meow.txt 64 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\Swag\\meow.txt 64 C:\\Users\\user\\Desktop\\SuperSecret\\2021_FlareOn\\The_BEST_Ideas\\meow.txt 64<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0411\u043e\u043d\u0443\u0441 &#8212; \u0430\u0434\u0440\u0435\u0441 \u0441\u0430\u0439\u0442\u0430 \u043f\u043e\u0441\u043b\u0435 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f url: ????????????.flare-on.com<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/571\/985\/377\/5719853779dfbc91d22cd3ee0a777a07.png\" width=\"723\" height=\"299\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/571\/985\/377\/5719853779dfbc91d22cd3ee0a777a07.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043d\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0432 MFC-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u0437\u0430\u0434\u0438\u0437\u0430\u0431\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/be4\/891\/daf\/be4891dafd8404b6dc28cbb4356e431c.PNG\" width=\"408\" height=\"329\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0421\u0440\u0430\u0437\u0443 \u0441\u043c\u0443\u0442\u0438\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u044a\u0451\u043c \u0444\u0430\u0439\u043b\u0430 (4.2\u041c\u0431) \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0438\u0441\u043a \u043f\u043e  \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u0435 \u0432\u044b\u044f\u0432\u0438\u043b \u0432\u043d\u0443\u0442\u0440\u0438 exe \u0441\u043a\u0440\u044b\u0442\u0443\u044e dll, \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u044b \u0445\u044d\u0448\u0430\u043c\u0438. \u0417\u0434\u0440\u0430\u0432\u0430\u044f \u0438\u043d\u0442\u0443\u0438\u0446\u0438\u044f \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u043f\u044b\u0442\u0430\u043b\u0438\u0441\u044c \u0441\u043f\u0440\u044f\u0442\u0430\u0442\u044c \u0432\u0430\u0436\u043d\u044b\u0435 \u0432\u0435\u0449\u0438.<\/p>\n<p>\u0423 \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u043e\u0445\u043e\u0442\u043d\u0438\u043a\u0430 \u043d\u0430 \u043b\u044e\u0434\u0435\u0439 \u0435\u0441\u0442\u044c \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u0443\u0442\u0438\u043b\u0438\u0442, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 15 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434, \u043d\u043e \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0432\u0448\u0438\u0445 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0442\u0438\u043b\u0438 \u043e\u043a\u043e\u043d, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0438 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435. \u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0435 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043a\u043b\u044e\u0447\u0435, \u0443\u0432\u044b. \u041d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0443\u0442\u0438.<\/p>\n<p>\u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u044b \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u0435, \u0447\u0442\u043e \u043f\u0440\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0437\u0430 \u043a\u0440\u0435\u0441\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0432\u0438\u0441\u0435\u0442\u044c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u0418\u0445 \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u044c\u0441\u044f \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0448\u0442\u0443\u043a. \u041e\u043d\u0438 \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0442\u0441\u044f, \u0430 \u0437\u0430\u0441\u044b\u043f\u0430\u044e\u0442 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0430 SleepEx \u043d\u0430 360000\u043c\u0441. \u0422\u0430\u043a\u0438\u0435 \u043f\u0430\u0443\u0437\u044b \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0438\u0440\u0430\u0442\u044c. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0443\u0436\u0435 \u043d\u0430\u0447\u0430\u043b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u043e\u0434 \u0438\u0437 \u0441\u043a\u0440\u044b\u0442\u043e\u0439 dll.<\/p>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u0441\u043e\u0435\u0434\u0435\u043d\u0438\u0435 \u0441 inactive.flare.com:888, \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 &#8216;@&#8217; \u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u0442 \u0432 \u043e\u0442\u0432\u0435\u0442 run|exe|flare-on. \u0427\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u0434\u043b\u044f \u043d\u0430\u0441 \u0432\u0435\u0442\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u0441\u043b\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 flare-on \u0438 \u043f\u0440\u043e\u0439\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0438\u043c\u0435\u043d\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439 &#171;Spell.EXE&#187;. \u041f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u044b &#8212; \u044d\u0442\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0431\u044d\u043a\u0434\u043e\u0440 \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f &#8212; \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430.<\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b &#171;flare-on&#187; \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u043c\u0443 \u0440\u0435\u0441\u0443\u0440\u0441\u0443 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c PNG (\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 png), \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0435\u0451 \u043a\u043b\u044e\u0447\u043e\u043c \u0438\u0437 \u0445\u0435\u0434\u0435\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f exe &#8212; \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442  \u0441\u0442\u0440\u043e\u043a\u0430 &#171;l3rlcps_7r_vb33eehskc3&#187;. \u041d\u043e \u044d\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u0432\u0441\u0451, \u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 &#8212; \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0438\u0446\u0430. \u0424\u0443\u043d\u043a\u0446\u0438\u044f 0x180002730 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0444\u043b\u0430\u0433\u0430, \u0448\u0438\u0444\u0440\u0443\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u043f\u0438\u0448\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0431\u0430\u0439\u0442 \u0432 \u043a\u0443\u0441\u0442 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 Software\\Microsoft\\Spel. \u0412 \u0440\u0435\u0435\u0441\u0442\u0440 \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0432\u0435\u0434\u044c \u0444\u043b\u0430\u0433 \u043c\u044b \u0443\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0448\u0430\u0433\u043e\u043c \u0440\u0430\u043d\u0435\u0435. \u0412\u0441\u0451, \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0435. \u041e\u0442\u0432\u0435\u0442: b3s7_sp3llcheck3r_ev3r@flare-on.com<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/558\/7c7\/2d6\/5587c72d6a44f859b962d74d70af04bf.png\" width=\"723\" height=\"338\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/558\/7c7\/2d6\/5587c72d6a44f859b962d74d70af04bf.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 &#8212; \u0441\u0432\u044b\u0448\u0435 \u0442\u0440\u0451\u0445 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 js-\u0441\u043a\u0440\u0438\u043f\u0442\u0430. \u041f\u043e\u0441\u043b\u0435 \u0431\u0435\u0433\u043b\u043e\u0433\u043e \u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0448\u044c, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0438 \u0441\u0430\u043c\u043e\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 &#8212; \u0432\u044b\u0440\u0435\u0437\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u0438\u0437 \u0444\u0430\u0439\u043b\u0430. <\/p>\n<pre><code class=\"perl\">my @matches = $content =~ \/\\{(?:[^}{]+|(?R))*+\\}\/mg;<\/code><\/pre>\n<p>\u0412 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0443\u0436\u0430\u0441 \u0438 \u043a\u0440\u0430\u0441\u043e\u0442\u0430 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439. \u041c\u044b \u0438\u0449\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u0439\u0441\u044f \u0444\u0438\u0433\u0443\u0440\u043d\u043e\u0439 \u0441\u043a\u043e\u0431\u043a\u043e\u0439 &#171;{&#187; \u0438 \u043e\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u0439\u0441\u044f \u0444\u0438\u0433\u0443\u0440\u043d\u043e\u0439 \u0441\u043a\u043e\u0431\u043a\u043e\u0439 &#171;}&#187;, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0439 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0434\u043d\u0443 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432: \u043b\u0438\u0431\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438\u0437 1 \u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0431\u0435\u0437 \u0444\u0438\u0433\u0443\u0440\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043e\u043a \u0438\u043b\u0438 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e \u0432\u0435\u0441\u044c \u0448\u0430\u0431\u043b\u043e\u043d \u0441\u043d\u043e\u0432\u0430. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u043d\u0435 &#171;{{&#187; \u0434\u0432\u0438\u0436\u043e\u043a \u0441\u044c\u0435\u0434\u0430\u0435\u0442 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0441\u043a\u043e\u0431\u043e\u0447\u043d\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0443\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u0441\u043a\u043e\u0431\u043a\u0443 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u0420\u0412. \u0422\u0430\u043a\u043e\u0439 \u0440\u0435\u0433\u0435\u0441\u043a\u043f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043e\u0447\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440.<\/p>\n<p>\u042d\u0442\u043e\u0442 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u044f \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e &#8212; \u043f\u0435\u0440\u0435\u0434 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u043a\u043e\u0431\u043e\u0447\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0441\u0442\u043e\u0438\u0442 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e &#171;function&#187; \u0438 \u0434\u0430\u043b\u0435\u0435 \u0438\u0434\u0443\u0442 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b. \u041f\u043e\u0441\u043b\u0435 perl-\u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0440\u0443\u0447\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0447\u0438\u0449\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"javascript\">ciphertext =\" ...\" \/\/ \u0434\u0430\u043d\u043d\u044b\u0435, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c some_arr =  \"...\" \/\/ \u043a\u043b\u044e\u0447, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043d\u0430\u043a\u0440\u044b\u0442 \u0448\u0438\u0444\u0440\u0442\u0435\u043a\u0441\u0442, 221 \u0431\u0430\u0439\u0442 passwd='gflsdgfdjgflkdsfjg4980utjkfdskfglsldfgjJLmSDA49sdfgjlfdsjjqdgjfj'.split(''); \/\/\u043f\u0430\u0440\u043e\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0431\u0430\u0439\u0442\u044b \u043a\u043b\u044e\u0447\u0430 \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u0442\u0435\u043a\u0441\u0442\u0430  pass4form=xDyuf5ziRN1SvRgcaYDiFlXE3AwG.ZJqLM97qEThEw2Tgkd8VM5OWlcFN6hx4y2.value.split(';') if(pass4form[0].length==64)                                 passwd=pass4form[0].split('');           \/\/ \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u043e\u043b\u044c \u0438\u0437 \u0444\u043e\u0440\u043c\u044b \u0432\u0432\u043e\u0434\u0430 html, \u0435\u0441\u043b\u0438 \u043e\u043d \u0435\u0441\u0442\u044c \u0438 \u0434\u043b\u0438\u043d\u044b 64  ciphertext2 = atob(ciphertext).split(''); ciphertext_len = ciphertext2.length;    arr_221 = atob(some_arr).split('');    for (i=0; i &lt; arr_221.length; i++) { arr_221[i] = (arr_221[i].charCodeAt(0) + passwd[i % 64].charCodeAt(0)) &amp; 0xFF;}         ciphertext3 = ciphertext2; for (i=0; i &lt; ciphertext_len; i++) { ciphertext3[i] = (ciphertext3[i].charCodeAt(0) - arr_221[i % arr_221.length]) &amp; 0xFF;}  res=\"\"; for (i=0; i &lt; ciphertext2.length; i++) { res+=String.fromCharCode(ciphertext3[i]);}     if('rFzmLyTiZ6AHlL1Q4xV7G8pW32'>=res)eval(res)  (\u0438\u043c\u0435\u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u0430 PyKEvIqAmUkUVL0Anfn9FElFUN2dic3z \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u044b)<\/code><\/pre>\n<p>\u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u0448\u0438\u0444\u0440\u0442\u0435\u043a\u0441\u0442\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0439 js-\u043a\u043e\u0434 (\u0442.\u0435. \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442, \u043f\u0440\u043e\u0438\u0442\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u0432\u0441\u0435\u043c \u0431\u0430\u0439\u0442\u0430\u043c \u043f\u0430\u0440\u043e\u043b\u044f, \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u044f \u0432\u0435\u0440\u043d\u044b\u0439, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443, \u0447\u0442\u043e <\/p>\n<pre><code class=\"python\">if chr(res[i]).isprintable():    some code ...<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0442\u0435\u0440\u043f\u0438\u0442 \u043d\u0435\u0443\u0434\u0430\u0447\u0443.<\/p>\n<details class=\"spoiler\">\n<summary>\u043f\u043e\u0447\u0435\u043c\u0443?<\/summary>\n<div class=\"spoiler__content\">\n<p>\u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u043e\u043c\u0438\u043c\u043e \u043f\u0435\u0447\u0430\u0442\u043d\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u043f\u0435\u0447\u0430\u0442\u043d\u044b\u0435 &#171;\\n\\r&#187; (0xa,0xd)<\/p>\n<\/div>\n<\/details>\n<p>\u0423\u0447\u0442\u0451\u043c \u044d\u0442\u043e\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u044e\u0430\u043d\u0441, \u0438 \u0442\u043e\u0433\u0434\u0430 \u0432\u0441\u0451 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u043f\u0440\u0430\u0432\u0434\u0430, \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u043f\u0430\u0440\u043e\u043b\u044f \u0431\u0443\u0434\u0443\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u042d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0442\u0435\u043a\u0441\u0442 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u0438\u0441\u043a\u0430\u0436\u0435\u043d, \u0435\u0441\u043b\u0438 \u043c\u044b \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u0443\u0433\u0430\u0434\u0430\u0435\u043c \u0441 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c \u043d\u0430 i-\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044f. \u0410\u0432\u0442\u043e\u0440\u044b \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u043b\u044e\u0431\u0435\u0437\u043d\u043e \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e js-\u043a\u043e\u0434\u0430 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u043d\u044b\u0439 \u0430\u043d\u0433\u043b\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432\u044b\u044f\u0432\u0438\u0442\u044c \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438.<\/p>\n<p>\u0418\u0442\u0430\u043a, \u043c\u044b \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0439 js-\u043a\u043e\u0434. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043d\u0435\u0433\u043e:<\/p>\n<pre><code class=\"javascript\">[][(![]+[])[+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(!![]+[])[+[]]][([][(![]+[])[+[]]+<\/code><\/pre>\n<p>\u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u041c\u0435\u0442\u043e\u0434 \u043e\u0431\u0444\u0440\u0443\u0441\u043a\u0430\u0446\u0438\u0438 <a href=\"https:\/\/en.wikipedia.org\/wiki\/JSFuck\" rel=\"noopener noreferrer nofollow\">JSFuck<\/a>, \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043d 10 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u043e\u043f\u0438\u0441\u0430\u043d \u0438 \u043c\u0435\u0442\u043e\u0434 \u0434\u0435\u043e\u0431\u0444\u0440\u0443\u0441\u043a\u0430\u0446\u0438\u0438. \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c js-\u043a\u043e\u0434, \u0441\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u043e\u0439 \u0436\u0435 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u043e\u0439, \u0447\u0442\u043e \u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 js. \u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0448\u0430\u0433\u0438 1 \u0438 2 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0434\u043e\u0431\u0435\u0440\u0451\u043c\u0441\u044f \u0434\u043e \u0444\u043b\u0430\u0433\u0430.<\/p>\n<p>\u041e\u0442\u0432\u0435\u0442: I_h4d_v1rtU411y_n0_r3h34rs4l_f0r_th4t@flare-on.com<\/p>\n<p>\u0417\u0430\u0434\u0430\u0447\u0430 \u0440\u0435\u0448\u0435\u043d\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/882\/d13\/be7\/882d13be746b1a6c73d36694de1de94e.png\" width=\"723\" height=\"370\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/882\/d13\/be7\/882d13be746b1a6c73d36694de1de94e.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0421\u0430\u043c\u043e\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u0441\u0442\u0430. \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>\u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c UDP \u0438 \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u041f\u041e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0430\u0434\u043c\u0438\u043d\u0441\u043a\u0438\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 <\/p>\n<\/li>\n<\/ul>\n<p>\u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b:<\/p>\n<pre><code class=\"cpp\">WSAStartup(MAKEWORD(2, 2), &amp;data); SOCKET s = socket(AF_INET, SOCK_RAW, IPPROTO_UDP);<\/code><\/pre>\n<p>(c \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u044d\u0442\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e)<\/p>\n<ul>\n<li>\n<p>\u043e\u0431\u043e\u0439\u0442\u0438 \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435 \u0432\u0441\u0435 \u0430\u043d\u0442\u0438\u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/aff\/062\/79f\/aff06279fa5abbdccc2913c5edf5c425.PNG\" alt=\"\u0432 x64dbg \u0441\u0434\u0435\u043b\u0430\u043b \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0438 \u0444\u043b\u0430\u0433\u043e\u0432 \u0432 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435,\" title=\"\u0432 x64dbg \u0441\u0434\u0435\u043b\u0430\u043b \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0438 \u0444\u043b\u0430\u0433\u043e\u0432 \u0432 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435,\" width=\"1094\" height=\"140\"\/><figcaption>\u0432 x64dbg \u0441\u0434\u0435\u043b\u0430\u043b \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0438 \u0444\u043b\u0430\u0433\u043e\u0432 \u0432 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435,<\/figcaption><\/figure>\n<p>(\u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0444\u0430\u043a\u0442 &#8212; \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c $breakpointcondition=0, \u0438\u043d\u0430\u0447\u0435 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0441\u0442\u0430\u043d\u043e\u0432)<\/p>\n<ul>\n<li>\n<p>\u0443\u0431\u0440\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u0437\u0438\u0442\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u044e\u0442 (\u0432\u044b\u043b\u0435\u0447\u0438\u043b\u043e\u0441\u044c \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0441\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 0x402710 &#8212; \u043e\u043d\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0442\u0440\u0435\u0434)<\/p>\n<\/li>\n<li>\n<p>\u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u044f\u043c\u044b\u0445 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043d\u0435\u0442, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044d\u043a\u0441\u0435\u043f\u0448\u0435\u043d\u043e\u0432. \u0412 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0445\u0435\u0448 \u0438\u043c\u0435\u043d\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u0445\u0435\u0448 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. <\/p>\n<\/li>\n<li>\n<p>\u0437\u0430\u043d\u043e\u043f\u0438\u0442\u044c \u0444\u0435\u0439\u043a\u043e\u0432\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0438\u0441\u044c, \u043d\u043e \u0437\u0430\u043f\u0443\u0442\u044b\u0432\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430. \u042d\u0442\u043e\u0442 \u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043f\u0443\u043d\u043a\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0442\u043e\u043a \u0438 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u043a\u043e\u0434\u0430, \u0433\u0434\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u043e \u0441\u0435\u0442\u0438<\/p>\n<\/li>\n<li>\n<p>\u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 4 \u0432\u0438\u0434\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 (0x00000001, 0x00000002, 0x00000003, 0x00000004)<\/p>\n<\/li>\n<\/ul>\n<p>0x00000001 &#8212; \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 fake-\u0444\u043b\u0430\u0433 \u0438 \u0440\u0438\u043a\u0440\u043e\u043b\u043b, \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 128-\u0431\u0438\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0432 \u043d\u0443\u043b\u0435\u0432\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435<\/p>\n<p>0x00000002 &#8212; \u0435\u0441\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 s3cret,L0ve,5Ex,g0d, \u043f\u043e\u0442\u043e\u043a \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u043e\u0434\u043d\u0443 \u0438\u0437 \u0432\u0435\u0442\u0432\u0435\u0439 \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u0432\u043e\u0438 32\u0431\u0438\u0442\u0430 \u0438\u0437 128\u0431\u0438\u0442 \u043a\u043b\u044e\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 0x3<\/p>\n<p>0x00000003 &#8212; \u0435\u0441\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 &#8216;MZ&#8217; &#8212; \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443, \u0447\u0442\u043e \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u043e\u043c 128 \u0431\u0438\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c RC4.<\/p>\n<p>0x00000004 (\u0438 \u0434\u0430\u043b\u0435\u0435) &#8212; \u044d\u0445\u043e-\u043e\u0442\u0432\u0435\u0442<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0448\u0430\u0433\u0430\u043c\u0438 &#8212; \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u043e\u0431\u0435\u0434\u0430 \u0432\u043e\u0442-\u0432\u043e\u0442 \u0431\u043b\u0438\u0437\u043a\u043e, \u043d\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u0432\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u043b\u0430\u0433\u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442\u0441\u044f \u0431\u0435\u043b\u0438\u0431\u0435\u0440\u0434\u0430. \u0427\u0442\u043e \u0436\u0435 \u043d\u0435 \u0443\u0447\u0442\u0451\u043d\u043e? \u041e\u043f\u044b\u0442\u043d\u044b\u043c \u043f\u0443\u0442\u0451\u043c \u0431\u044b\u043b\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043e, \u0447\u0442\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0442\u0430\u043a\u043e\u0432, \u043a\u0430\u043a\u043e\u0432 \u043e\u043d \u0437\u0434\u0435\u0441\u044c \u043e\u043f\u0438\u0441\u0430\u043d, \u0438 \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043a\u0440\u044b\u0442\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0438 \u0432\u0435\u0442\u0432\u0435\u0439. \u0415\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u043b\u0430\u0433, \u043f\u043e \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443, \u0447\u0430\u0441\u0442\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 4 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u0442\u0440\u043e\u043a. \u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0447\u0430\u0441\u0442\u044c \u0445\u0435\u0448\u0430 \u043d\u0435\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c (\u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u043a\u043b\u044e\u0447 &#8212; \u0442\u043e\u0436\u0435 \u043a\u043b\u044e\u0447!), \u044d\u0442\u0438 2^4 = 16 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u0438. \u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0437\u0430\u043c\u0435\u0442\u0438\u043b, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u044b\u043b\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0434\u043b\u0438\u043d\u043d\u0435\u0435, \u0447\u0435\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b, \u043c\u044b \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u043c \u0432 \u0432\u0435\u0442\u0432\u0438, \u0433\u0434\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0435\u0448\u0438 (\u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c), \u0437\u043d\u0430\u0447\u0438\u0442, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0438\u0437 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0438 \u044d\u0442\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f [b&#8217;s3cret\\0&#8242;,b&#8217;L0ve\\0&#8242;,b&#8217;5Ex\\0&#8242;,b&#8217;g0d\\0&#8242;].<\/p>\n<p>\u041e\u0442\u0432\u0435\u0442: n0_mOr3_eXcEpti0n$_p1ea$e@flare-on.com<\/p>\n<details class=\"spoiler\">\n<summary>\u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435: \u0433\u0430\u0439\u0434 \u043f\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0418\u0437-\u0437\u0430 \u0430\u043d\u0442\u0438\u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0445 \u043c\u0435\u0440 \u043b\u0438\u0441\u0442\u0438\u043d\u0433 evil.exe \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0435\u0447\u0438\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u043e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/762\/421\/bd5\/762421bd570fd7fbd43964ff6e6d2058.PNG\" width=\"930\" height=\"654\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u044b\u0437\u043e\u0432 CreateMutexA():<\/p>\n<pre><code>MOV       EDX,dword ptr [EBP + local_24] MOV       ECX,dword ptr [EBP + local_28] \/\/ 0x1c5d2c5e = hash(\"CreateMutexA\") XOR       EAX,EAX MOV       EAX,dword ptr [EAX]      \/\/ \u0440\u0430\u0437\u044b\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f <\/code><\/pre>\n<p>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u043e\u0438\u0441\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0445\u044d\u0448\u0443 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0435\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435. \u041f\u0435\u0440\u0432\u044b\u0435 \u0442\u0440\u0438 \u0431\u0430\u0439\u0442\u0430 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e MOV \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043c\u0443\u0441\u043e\u0440\u043d\u044b\u043c\u0438, \u0442.\u043a. \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 0x406512. \u042d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 \u0438 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043c:<\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f ghidra<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">from ghidra.program.model.listing import CodeUnit  listing = currentProgram.getListing() addr = toAddr('00401000')  def check_exc1(addr):     c = listing.getCodeUnitAt(addr)     if c.getMnemonicString() != u'MOV':         return 0     addr = addr.add(c.length)     c = listing.getCodeUnitAt(addr)     if c.getMnemonicString() != u'MOV':         return 0     addr = addr.add(c.length)     c = listing.getCodeUnitAt(addr)     if c.toString() != u'XOR EAX,EAX':         return 0     addr = addr.add(c.length)     c = listing.getCodeUnitAt(addr)     if c.toString() != 'MOV EAX,dword ptr [EAX]':         return 0     return 1   #while addr &lt; toAddr('00406600'): while addr &lt; toAddr('00444CED'):     if check_exc1(addr):         print(addr)         addr2 = addr.add(10)         clearListing(addr2)         setByte(addr2,0x90)         disassemble(addr2)          addr2 = addr2.add(1)         clearListing(addr2)         setByte(addr2,0x90)         disassemble(addr2)          addr2 = addr2.add(1)         clearListing(addr2)         setByte(addr2,0x90)         disassemble(addr2)          addr3 = addr2.add(1)         i = 0         while i &lt; 20:             addr2 = addr2.add(1)             clearListing(addr2)             i = i + 1         disassemble(addr3)     c = listing.getCodeUnitAt(addr)     addr = addr.add(c.length)<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0422\u043e\u043f\u043e\u0440\u043d\u044b\u0439, \u043d\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0417\u0434\u0435\u0441\u044c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ul>\n<li>\n<p>\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0438\u0441\u043a \u0447\u0435\u0442\u0432\u0451\u0440\u043a\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 MOV +MOV + XOR EAX,EAX + MOV (\u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 &#8212; \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u043e\u043b\u044c)<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u0438 \u0443\u0441\u043f\u0435\u0445\u0435 &#8212; \u043e\u0447\u0438\u0449\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0441\u0442\u0438\u043d\u0433 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432\u043f\u0435\u0440\u0435\u0434, \u0438 \u0442\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0431\u0430\u0439\u0442\u0430 \u0437\u0430\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 NOP(0x90)<\/p>\n<\/li>\n<li>\n<p>\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0447\u0430\u0441\u0442\u043a\u0430 \u043a\u043e\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u043d\u043e\u0432\u043e<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u043e\u0436\u043d\u043e \u0443\u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 c.SetComment(CodeUnit.EOL_COMMENT,text). \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0445\u0435\u0448 -> &#171;\u0438\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438&#187; \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432 x64dbg \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 0x4055d6 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c API_RESOLVER:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4a0\/1b7\/480\/4a01b748043c74a5eadeacbf07c968e9.PNG\" width=\"1919\" height=\"794\"\/><figcaption><\/figcaption><\/figure>\n<p>ESI &#8212; \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0435 \u0438\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438, ECX &#8212; \u0435\u0451 \u0445\u0435\u0448, \u043a\u043e\u043c\u0430\u043d\u0434\u0430 &#171;log&#187; \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0430 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u043d\u0443\u0436\u0434 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0435\u0448\u0435\u0439. \u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/124\/f60\/f96\/124f60f96848c4f36a67075e9b824ef5.PNG\" width=\"923\" height=\"666\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418\u043c\u0435\u044f \u0432 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u044d\u0442\u0443 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0438 \u0432 \u0418\u0434\u0435, \u0438 \u0432 x64dbg,<\/p>\n<\/div>\n<\/details>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1ce\/e80\/92c\/1cee8092c028cc5c3f0e72fe2a421836.png\" width=\"723\" height=\"338\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1ce\/e80\/92c\/1cee8092c028cc5c3f0e72fe2a421836.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043d pcap-\u0444\u0430\u0439\u043b \u0441 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 IRC \u0438 \u0441\u0430\u043c\u0430 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u041f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432 \u0438 \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043d\u0438\u0445 \u043e\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u043f\u043e\u0442\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430. \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f IRC-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0431\u0435\u0441\u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0438\u0434\u0435\u0435\u0439, \u0430 \u0432\u043e\u0442 <a href=\"https:\/\/www.unrealircd.org\/\" rel=\"noopener noreferrer nofollow\">\u0433\u043e\u0442\u043e\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435<\/a> \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u043e\u0448\u043b\u043e \u043f\u043e\u0434 \u0437\u0430\u0434\u0430\u0447\u0443. \u0411\u043e\u0442 \u0436\u0435\u043b\u0430\u0435\u0442 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c wizardcult.flare-on.com  \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c dung3onm4st3r13, \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0435 \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c. \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0434\u0438\u0430\u043b\u043e\u0433 \u043a\u0430\u043a \u0432 pcap \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439, \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0434\u0438\u0438 ( \u043f\u043e\u0441\u043b\u0435 \u0444\u0440\u0430\u0437\u044b &#171;I quaff my potion and attack!&#187; \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0434\u0438\u0430\u043b\u043e\u0433\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u043b\u0441\u044f \u0448\u0438\u0444\u0440\u043a\u043e\u0434). Strace \u043f\u0440\u043e\u044f\u0441\u043d\u0438\u043b \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/88f\/c3c\/578\/88fc3c5785e130266dce22e17b076b37.PNG\" alt=\"\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b pidgin\" title=\"\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b pidgin\" width=\"716\" height=\"262\"\/><figcaption>\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b pidgin<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e21\/d2b\/9b9\/e21d2b9b9e9331f2bfed56b0b3b1b739.PNG\" alt=\"stat(&quot;\/mages_tower&quot;,...) = -1 ENOENT\" title=\"stat(&quot;\/mages_tower&quot;,...) = -1 ENOENT\" width=\"883\" height=\"160\"\/><figcaption>stat(&#171;\/mages_tower&#187;,&#8230;) = -1 ENOENT<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/10e\/ad7\/94e\/10ead794e83580baa69f41b69d4a657e.PNG\" alt=\"open(&quot;\/mages_tower\/cool_wizard_meme.png&quot;,...) = -1 ENOENT\" title=\"open(&quot;\/mages_tower\/cool_wizard_meme.png&quot;,...) = -1 ENOENT\" width=\"1270\" height=\"209\"\/><figcaption>open(&#171;\/mages_tower\/cool_wizard_meme.png&#187;,&#8230;) = -1 ENOENT<\/figcaption><\/figure>\n<p>\u042f \u0441\u043e\u0437\u0434\u0430\u043b \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438 \u0444\u0430\u0439\u043b \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u044d\u043a\u0441\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0441 \u0432\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438: \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u0438\u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0434\u043b\u0438\u043d\u043e\u0439 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442.\u0435. \u0432\u0445\u043e\u0434 \u0448\u0438\u0444\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043d\u043e, \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0434\u0438\u0430\u043b\u043e\u0433\u0435 \u043f\u043e \u0432\u0445\u043e\u0434\u0443 \u0432\u0438\u0434\u0430 &#171;aaaaaaaaaaaa&#187; \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u0432\u044b\u0432\u043e\u0434, \u0442\u043e \u0435\u0441\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043d\u0438\u0445 \u043f\u043e\u0437\u0438\u0446\u0438\u0438, \u0430 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c K \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 k+24 * i \u0441\u0438\u043c\u0432\u043e\u043b.<br \/>\u0410 \u0432\u043e\u0442, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438 \u0432\u0441\u0451 &#8212; \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c 256 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 (\u0438\u043b\u0438 \u043e\u0434\u0438\u043d \u0434\u043b\u0438\u043d\u043d\u044b\u0439, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0432\u0441\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043f\u043e\u0434\u0440\u044f\u0434), \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c \u0431\u043e\u0442\u0430 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u043e\u0442\u0432\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432\u0441\u0435\u0445 24-\u0451\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 f_0, f_1, &#8230;, f_23 \u043d\u0430 \u0432\u0441\u0435\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f. \u0417\u043d\u0430\u044f, \u043a\u0430\u043a \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 i-\u0442\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043f\u043e \u0448\u0438\u0444\u0440\u0442\u0435\u043a\u0441\u0442\u0443 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435. \u042d\u0442\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c png-\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0441 \u0444\u043b\u0430\u0433\u043e\u043c \u043d\u0430 \u043d\u0435\u0439. \u0421\u0430\u043c\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0435\u0448\u0435\u043d\u0430 \u0437\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u043e\u0432&#8230; \u0414\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0430\u0445\u043e\u0436\u0443\u0441\u044c \u0432 \u043b\u0451\u0433\u043a\u043e\u043c \u043d\u0435\u0434\u043e\u0443\u043c\u0435\u043d\u0438\u0438, \u044d\u0442\u043e \u043f\u0440\u043e\u043a\u043e\u043b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u0438\u043b\u0438 \u043b\u044e\u0431\u0435\u0437\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043a\u0430\u043b\u0438\u0442\u043a\u0430 \u043d\u0430 \u0437\u0430\u0434\u043d\u0435\u043c \u0434\u0432\u043e\u0440\u0435. \u0417\u0430\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u0434\u043b\u044f \u0435\u0451 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u0441\u043a\u0440\u044b\u0442\u0438\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5_%D0%BF%D0%BE%D0%B4%D0%BE%D0%B1%D1%80%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B3%D0%BE_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0\" rel=\"noopener noreferrer nofollow\">\u0430\u0442\u0430\u043a\u043e\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432.<\/a><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u0434\u0430\u0447\u0438 \u0432\u0441\u0435\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 \u043c\u043d\u0435 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u043f\u044b\u0442 \u0440\u0435\u0432\u0435\u0440\u0441\u0438\u043d\u0433\u0430 go-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d, \u0442\u0430\u043a \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c \u0442\u0435\u043f\u0435\u0440\u044c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u043b\u0438 \u043d\u0430\u043c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0438\u043b\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d. \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f\u043c\u0438 \u044f\u0437\u044b\u043a\u0430. \u041c\u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u0438 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438:<\/p>\n<ul>\n<li>\n<p>\u041c\u0430\u043a\u0441\u0438\u043c \u0416\u0430\u0448\u043a\u0435\u0432\u0438\u0447, \u042f\u0437\u044b\u043a Go \u0414\u043b\u044f \u041d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/rednaga.io\/2016\/09\/21\/reversing_go_binaries_like_a_pro\/\" rel=\"noopener noreferrer nofollow\">Reversing GO binaries like a pro<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dr-knz.net\/go-calling-convention-x86-64.html#strings-and-slices-use-two-and-three-words\" rel=\"noopener noreferrer nofollow\">The Go low-level calling convention on x86-64<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0443\u0437\u043d\u0430\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0445\u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u042d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4ca\/401\/1e6\/4ca4011e61b07bfcf1b405ca4f645bc4.PNG\" width=\"281\" height=\"308\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0430 \u0441\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u043e\u043c \u0438\u0437\u0432\u043d\u0435 \u043a\u0430\u043a \u0440\u0435\u0446\u0435\u043f\u0442 \u0437\u0435\u043b\u044c\u044f, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u043d\u0433\u0440\u0438\u0434\u0438\u0435\u043d\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0430\u0439\u0442, \u0447\u0442\u043e \u043f\u043e\u0437\u0436\u0435 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u043d\u0430 \u0432\u0445\u043e\u0434 \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u0443 &#8212; \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0431\u044a\u0435\u043a\u0442. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 go-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043c\u0435\u0442\u043e\u0434\u044b \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b &#8212; <a href=\"https:\/\/go-re.tk\/redress\/\" rel=\"noopener noreferrer nofollow\">redress<\/a>. \u041a\u0430\u0436\u0435\u0442\u0441\u044f, \u0443 \u043d\u0430\u0441 \u0432\u0441\u0451 \u0435\u0441\u0442\u044c \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u043f\u043e\u043d\u044f\u0442\u043d\u043e\u043c \u0432\u0438\u0434\u0435.<\/p>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0439\u0442\u0435 <a href=\"https:\/\/play.golang.org\/p\/9tZW2pnHsSv\" rel=\"noopener noreferrer nofollow\">\u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0432 \u043e\u043d\u043b\u0430\u0439\u043d-\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0435<\/a>. \u041c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b 1 \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 2. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0439. \u0422\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a \u0435\u0441\u0442\u044c \u0438\u0437 \u0432\u044b\u0434\u0430\u0447\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b redress, \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0412\u041c \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0430\u043c\u043f\u0438\u0442\u044c \u0432 gdb \u043a\u0430\u043a \u0432\u0445\u043e\u0434\u043d\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Decoder(), \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d <a href=\"https:\/\/golangify.com\/gob\" rel=\"noopener noreferrer nofollow\">\u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u044b<\/a> \u0441 encoding\/gob \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u0435\u0447\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043f\u043e\u043b\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f, \u044d\u0442\u043e \u043d\u0430\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0412\u043e\u0442 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0434\u0438\u0430\u043b\u043e\u0433\u0430 \u0438\u0437 pcap:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/235\/21f\/c14\/23521fc149b7a878af70e5e389709e6d.png\" width=\"573\" height=\"386\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/235\/21f\/c14\/23521fc149b7a878af70e5e389709e6d.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0442\u043e \u0435\u0441\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 &#8212; \u044d\u0442\u043e \u043c\u043d\u043e\u0433\u043e\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u0430\u044f \u042d\u0412\u041c \u0441 \u043f\u0430\u043c\u044f\u0442\u044f\u043c\u0438, \u0432\u0445\u043e\u0434\u043e\u043c \u0438 \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u0438 \u0437\u0430\u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438. \u042f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u0431\u0440\u0435\u0439\u043a\u043f\u043e\u0438\u043d\u0442\u044b \u043d\u0430 \u0432\u0441\u0435 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u0438 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0447\u0442\u0435\u043d\u0438\u044f\/\u0437\u0430\u043f\u0438\u0441\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432) \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e \u043d\u0430 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0438 \u0438\u0437 \u043d\u0438\u0445: MOV (\u0447\u0430\u0449\u0435 \u0434\u0440\u0443\u0433\u0438\u0445), TEQ, XOR, \u041d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043e\u0434\u043d\u043e \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 out[i] = in[i] ^ 0xa2. \u0438 \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u043e\u043f\u043a\u043e\u0434\u044b mov &#8212; 0x01, teq &#8212; 0x05, xor &#8212; 0x12. \u0423\u0441\u043b\u043e\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442 \u0444\u043b\u0430\u0433 Cond \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u043e\u043c (\u0435\u0441\u043b\u0438 cond_cpu !=cond_instr). \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0441 \u0421ond=0 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u0434\u0430.<\/p>\n<p>\u0412\u043e\u0442 \u043c\u043e\u044f \u0441\u0430\u043c\u0430\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u044b\u0432\u043e\u0434 (\u0434\u0432\u0435 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u0430 \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0441\u043e \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430 \u0432\u044b\u0448\u0435):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5b1\/b9b\/094\/5b1b9b0941deb5cff335da0621f01bab.PNG\" alt=\"\u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0445\u0430\u0431\u0440\u0430\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u0430\u043a \u0440\u0430\u0437\u043c\u0435\u0442\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442\" title=\"\u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0445\u0430\u0431\u0440\u0430\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u0430\u043a \u0440\u0430\u0437\u043c\u0435\u0442\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442\" width=\"625\" height=\"496\"\/><figcaption>\u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0445\u0430\u0431\u0440\u0430\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u0430\u043a \u0440\u0430\u0437\u043c\u0435\u0442\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442<\/figcaption><\/figure>\n<p>\u0416\u0438\u0440\u043d\u044b\u043c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u044b \u0431\u0440\u0435\u0439\u043a\u043f\u043e\u0438\u043d\u0442\u044b \u043e\u0442 \u0432\u0442\u043e\u0440\u043e\u0433\u043e CPU. \u0412\u0438\u0434\u043d\u044b \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e CPU \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0442\u043e\u043a\u0438 \u0438\u0434\u0443\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e (\u043e\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f), \u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0441\u0442\u0438 &#8212; \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 02 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 <strong>r0 cpu1<\/strong>, \u043f\u043e\u0442\u043e\u043a \u0437\u0430\u0441\u044b\u043f\u0430\u0435\u0442 \u0440\u043e\u0432\u043d\u043e \u0434\u043e \u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430, \u043a\u043e\u0433\u0434\u0430 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 <strong>r2 cpu0<\/strong> \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (0x63), \u0438, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <strong>r0 cpu1<\/strong> = 0x63. \u042d\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0436\u0451\u0441\u0442\u043a\u0443\u044e \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 <strong>r2 cpu0<\/strong> \u0438 <strong>r0 cpu1<\/strong>. \u0414\u0430\u043b\u0435\u0435 \u0432 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 06..10 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0440\u043e\u0432\u043d\u043e \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u041f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c <strong>r2 cpu0<\/strong> \u0438 \u0437\u0430\u0441\u044b\u043f\u0430\u0435\u043c \u0440\u043e\u0432\u043d\u043e \u0434\u043e \u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430, \u043a\u0430\u043a \u0432 <strong>r0 cpu1<\/strong> \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (0xc1).<\/p>\n<p>\u042d\u0442\u0438 \u0441\u0432\u044f\u0437\u0438 \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 Links:<\/p>\n<pre><code>LHDevice0 - Input Device LHDevice1 - Output Device LHDevice2 - CPU0 LHDevice3 - CPU1 .... LHDevice_(N+2) - CPU_N LHDevice_(N+3) - ROM0 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c: r0 CPU0 &#8212; \u0432\u0445\u043e\u0434, r1 CPU0 &#8212; \u0432\u044b\u0445\u043e\u0434, r2 CPU0 ==  r1 CPU1 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code>CPU0:  mov input, acc teq acc,-1 \u0435\u0441\u043b\u0438 \u0434\u0430: mov -1, output    mov input, acc mov acc, r2      \/\/\/ \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c cpu1 \u0438 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c \u0432\u0445\u043e\u0434\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 mov r2, acc      \/\/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 cpu1 mov acc, output  CPU1: mov r0,acc xor 0xa2,acc mov acc,r0 (\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0432 cpu0)<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u043e\u043c\u043e\u0433\u043b\u0430 \u0432\u0430\u043c \u043e\u0441\u043e\u0437\u043d\u0430\u0442\u044c \u0437\u0430\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0412\u041c, \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 N2, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u0435\u0435. \u0417\u0434\u0435\u0441\u044c \u0443\u0436\u0435 \u043d\u0435 2 CPU, \u0430 7, \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0435\u043f\u0443\u0441\u0442\u044b \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043d\u0435\u043a\u0438\u0435 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u043e\u043f\u043a\u043e\u0434\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0432 ExecuteInstruction, \u0433\u0434\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0412\u041c. \u0414\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0412\u041c \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f gdb.python, \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u0438\u0436\u0435:<\/p>\n<pre><code class=\"python\">     def print_instr(self):         pointer_addr_cpu = self.execute_and_get_value('x\/g ($rax+0x20)')         cpu_N_value      = self.execute_and_get_value('x\/g ($rax+0x10)')          pointer_addr_cpu = int(pointer_addr_cpu,0)         cpu_N_value      = int(cpu_N_value,0)          ind = self.cpu_addr.index(pointer_addr_cpu)          cpu_r0      = self.get_reg('x\/gx ($rax+0x38)')         cpu_r1      = self.get_reg('x\/gx ($rax+0x40)')         cpu_r2      = self.get_reg('x\/gx ($rax+0x48)')         cpu_r3      = self.get_reg('x\/gx ($rax+0x50)')         cpu_acc     = self.get_reg('x\/gx ($rax+0x0)')         cpu_dat     = self.get_reg('x\/gx ($rax+0x8)')         cpu_cond    = self.get_param('x\/gx ($rax+0x18)')          instr_opcode = self.execute_and_get_value('x\/g (0x%x+0x30*%d)'% (pointer_addr_cpu, cpu_N_value))         instr_opcode      = (int(instr_opcode,0))         instr_par1 = self.get_param('x\/g (0x%x+0x30*%d+0x08)'% (pointer_addr_cpu, cpu_N_value))         instr_par2 = self.get_param('x\/g (0x%x+0x30*%d+0x10)'% (pointer_addr_cpu, cpu_N_value))         instr_par3 = self.get_param('x\/g (0x%x+0x30*%d+0x18)'% (pointer_addr_cpu, cpu_N_value))         instr_par4 = self.get_param('x\/g (0x%x+0x30*%d+0x20)'% (pointer_addr_cpu, cpu_N_value))         instr_par5 = self.get_param('x\/g (0x%x+0x30*%d+0x28)'% (pointer_addr_cpu, cpu_N_value))          reg1 = 'r' if int(instr_par4) &amp; 0x1 else ''         reg2 = 'r' if int(instr_par4) &amp; 0x2 else ''          #                0     1     2      3      4      5      6      7     8     9            instr_names = ['___','mov', 'movc','___', '___', 'teq', 'tgt', 'tlt','tcp', 'add',                        'sub','mul', 'div', 'not', '___', '___', 'and',' or', 'xor', 'shl', 'shr']          shift = ' ' * (4 * ind)                  if instr_par5 == '0' or int(instr_par5) == int(cpu_cond):              print ('%s cpu%d_%02d | %s %s%s %s%s %s %s | %s %s %s %s %s %s DEBUG' % (                 shift, ind, cpu_N_value,                 instr_names[instr_opcode], reg1, instr_par1, reg2, instr_par2, instr_par3, instr_par4,                  cpu_r0,cpu_r1,cpu_r2,cpu_r3,cpu_acc,cpu_dat  ))<\/code><\/pre>\n<p>\u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u0430\u043a\u043e\u0439 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435:<\/p>\n<details class=\"spoiler\">\n<summary>\u043b\u043e\u0433<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>cpu0_00 | mov r0 r4 0 3 | CH0 CH1 CH2 0x0 0x21 0x0                         0x21 -> acc cp0              cpu0_01 | teq r4 -1 0 1 | CH0 CH1 CH2 0x0 0x21 0x0                         0x21 != -1 ? cpu0_04 | mov r4 r2 0 3 | CH0 CH1 CH2 0x0 0x21 0x0                         0x21 send r0 cp1     cpu1_00 | mov r0 r4 0 3 | CH2 CH6 CH3 0x0 0x21 0x1b                    0x21 -> acc cp1     cpu1_01 | mov r4 r1 0 3 | CH2 CH6 CH3 0x0 0x21 0x1b                    0x21 send r0 cp2         cpu2_00 | mov r0 r4 0 3 | CH6 CH7 CH8 CH9 0x21 0x0                 0x21 -> acc cp2         cpu2_01 | tgt r4 63 0 1 | CH6 CH7 CH8 CH9 0x21 0x0                 0x63 > 0x21 ?         cpu2_04 | mov r4 r1 0 3 | CH6 CH7 CH8 CH9 0x21 0x0                 request data1[0x21]         cpu2_05 | mov r2 r0 0 3 | CH6 CH7 CH8 CH9 0x21 0x0                 send data1[0x21]=0xf -> r1 cp1     cpu1_02 | mov r1 r4 0 3 | CH2 CH6 CH3 0x0 0xf 0x1b                     0xf -> acc     cpu1_03 | mov r4 r2 0 3 | CH2 CH6 CH3 0x0 0xf 0x1b                     0xf send r0 cp5                     cpu5_03 | mov r0 r5 0 3 | CH3 CH4 CH5 0x0 0x1 0xf      0xf -> dat                     cpu5_04 | mov r2 r4 0 3 | CH3 CH4 CH5 0x0 0x31 0xf     data4[i] -> acc                     cpu5_05 | not 539 0 0 0 | CH3 CH4 CH5 0x0 0xce 0xf     acc ^ 0xff                                cpu5_06 | and ff 0 0 0 | CH3 CH4 CH5 0x0 0xce 0xf      = 0xce                     cpu5_07 | xor r5 0 0 1 | CH3 CH4 CH5 0x0 0xc1 0xf      0xf ^ 0xce = 0xc1                     cpu5_08 | mov r4 r0 0 3 | CH3 CH4 CH5 0x0 0xc1 0xf     0xc1 send r2 cp1     cpu1_04 | mov r2 r4 0 3 | CH2 CH6 CH3 0x0 0xc1 0x1b                    0xc1 -> acc                     cpu5_00 | mov r1 r4 0 3 | CH3 CH4 CH5 0x0 0x2 0xf      0x2 -> acc     cpu1_05 | mov r4 r1 0 3 | CH2 CH6 CH3 0x0 0xc1 0x1b                    0xc1 -> send r0 cp2          cpu2_00 | mov r0 r4 0 3 | CH6 CH7 CH8 CH9 0xc1 0x0                 0xc1 -> acc                     cpu5_01 | and 1 0 0 0 | CH3 CH4 CH5 0x0 0x0 0xf        0x2 &amp; 0x1 = 0x0         cpu2_01 | tgt r4 63 0 1 | CH6 CH7 CH8 CH9 0xc1 0x0                 0xc1 > 0x63?                     cpu5_02 | teq r4 1 0 1 | CH3 CH4 CH5 0x0 0x0 0xf       (0x2 &amp; 0x1) == 0x1 ?         cpu2_02 | mov r4 r3 0 3 | CH6 CH7 CH8 CH9 0xc1 0x0                 0xc1 send r0 cp3             cpu3_00 | mov r0 r4 0 3 | CH9 CH10 CH11 CH12 0xc1 0x0          0xc1 -> acc             cpu3_01 | tgt r4 c7 0 1 | CH9 CH10 CH11 CH12 0xc1 0x0          0xc1 > 0xc7 ?             cpu3_04 | sub 64 0 0 0 | CH9 CH10 CH11 CH12 0x5d 0x0           0xc1 - 0x64 = 0x5d             cpu3_05 | mov r4 r1 0 3 | CH9 CH10 CH11 CH12 0x5d 0x0          request data2[0x5d] (=0xd6)             cpu3_06 | mov r2 r0 0 3 | CH9 CH10 CH11 CH12 0x5d 0x0          send 0xd6 r3 cpu2     cpu1_06 | mov r1 r5 0 3 | CH2 CH6 CH3 0x0 0xc1 0xd6                    0xd6 -> dat         cpu2_03 | mov r3 r0 0 3 | CH6 CH7 CH8 CH9 0xc1 0x0                 send 0xd6 r1 cpu1     cpu1_07 | mov 80 r4 0 2 | CH2 CH6 CH3 0x0 0x80 0xd6                    const 0x80 -> acc     cpu1_08 | and r5 0 0 1 | CH2 CH6 CH3 0x0 0x80 0xd6                     0xd6 ^ 0x80     cpu1_09 | teq r4 80 0 1 | CH2 CH6 CH3 0x0 0x80 0xd6                    (0xd6 ^ 0x80) == 0x80 ?     cpu1_10 | mov r5 r4 0 3 | CH2 CH6 CH3 0x0 0xd6 0xd6                    0xd6 -> acc     cpu1_11 | xor 42 0 0 0 | CH2 CH6 CH3 0x0 0x94 0xd6                     0xd6 ^ 0x42 = 0x94     cpu1_13 | not 539 0 0 0 | CH2 CH6 CH3 0x0 0xffffff6b 0xd6              0xd6 ^ 0xff = 0x6b     cpu1_14 | and ff 0 0 0 | CH2 CH6 CH3 0x0 0x6b 0xd6                          cpu1_15 | mov r4 r0 0 3 | CH2 CH6 CH3 0x0 0x6b 0xd6                    0x6b -> r2 cp0 cpu0_05 | mov r2 r4 0 3 | CH0 CH1 CH2 0x0 0x6b 0x0                         0x6b -> acc cpu0_06 | mov r4 r1 0 3 | CH0 CH1 CH2 0x0 0x6b 0x0                         0x6b -> Output cpu0_00 | mov r0 r4 0 3 | CH0 CH1 CH2 0x0 0x2f 0x0                         Input -> 0x2f<\/code><\/pre>\n<p>(CH{i} &#8212; \u044d\u0442\u043e \u043a\u0430\u043d\u0430\u043b\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 Links)<\/p>\n<\/div>\n<\/details>\n<p>\u0425\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0443\u043f\u043e\u043c\u043d\u044f\u043d\u0443\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442: \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u043c\u0435\u0442\u043d\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u0442\u043e\u043c, \u043a\u043e\u0433\u0434\u0430 \u0441\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u042d\u0412\u041c &#8212; \u0434\u043e \u0432\u0445\u043e\u0434\u0430 \u0432 ExecuteInctruction \u0438\u043b\u0438 \u043f\u043e\u0441\u043b\u0435. \u042d\u0442\u043e \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0431\u043e\u0442\u044b \u0433\u043e\u0440\u0443\u0442\u0438\u043d \u0438 go-\u043a\u0430\u043d\u0430\u043b\u043e\u0432, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e, \u0442\u0435\u043c \u0444\u0430\u043a\u0442\u043e\u043c, \u0447\u0442\u043e \u0433\u043e\u0440\u0443\u0442\u0438\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e \u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u0433\u043e\u0440\u0443\u0442\u0438\u043d. \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0431\u0443\u0434\u0435\u0442, \u0435\u0441\u043b\u0438 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0437\u0436\u0435. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0437\u0434\u0435\u0441\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0443\u0436\u0435 \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430.<\/p>\n<p>\u041e\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044e \u0441\u0442\u0430\u0442\u044c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u04432 \u0432 \u043e\u043d\u043b\u0430\u0439\u043d-\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0435 \u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u0445\u043e\u0434\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0443 \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c, \u0430 \u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043b\u0438\u0448\u044c \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Python:<\/p>\n<details class=\"spoiler\">\n<summary>\u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">def inv(perm):     inverse = [0] * len(perm)     for i, p in enumerate(perm):         inverse[p] = i     return inverse  import binascii  dat = '5a840645aecbe8f357fea63d5e4108d03322218120dd00a023af71048bf5181de10f6509ce42783ec337ca8f6432e0acde917c2ac007f4959f4053e567b67a524e3f834bc982722e761cf11eccb7d7c78a10791a4d1935167d432bcd86ab4492d40e9814b99ba7241b3ce23ad3f0fd4f77d1a30c48806adabdd8475bfa960beccf49d9117fb127e7c5b263e62836b35dfbdca87025f6b09ca55fb839e485a9fc13025130f269ff74bf59b54617c2586199eba49e89ee6cefa290738c54bc6ddb2cd6e3a18d50f734d5f9017b8ebe686b559d2ded2f93151fc488aaf80d5cea5603c19a38056f624a12df609429757eade90a31b4bbba873b26d26e66c84c97c6'  dat = binascii.unhexlify(dat) datreverse = inv(dat)  dat4 = b'a11_mY_hom1es_h4t3_b4rds'  inputdata = '23212f75' # example inputdata = binascii.unhexlify(inputd)  for i in range (len(inputd)):          c = dat4[i%24] ^ dat[inputdata[i]]     if i%2:         c = c ^ 0xff     c = dat[c]       if c &amp; 0x80:         c = c ^ 0x42     c = c ^ 0xff      # -------------------- #          c = c ^ 0xff     if c &amp; 0x80:         c = c ^ 0x42     c = datreverse[c]     if i%2:         c = c ^ 0xff          c = datreverse [c ^ dat4[i%24]]<\/code><\/pre>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430\u0448\u0438\u0445 \u0442\u0440\u0443\u0434\u043e\u0432 &#8212; \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0441 \u0444\u043b\u0430\u0433\u043e\u043c<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/448\/fdd\/779\/448fdd779ec8a6fd3cb33efc014fb470.png\" width=\"512\" height=\"680\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/448\/fdd\/779\/448fdd779ec8a6fd3cb33efc014fb470.png\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e \u0441\u0432\u043e\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e. \u0412\u0441\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0435\u0448\u0435\u043d\u044b. \u041f\u0440\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0443\u043f\u0443\u0449\u0435\u043d\u044b \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0438\u0437-\u0437\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0431\u0430\u043b\u0430\u043d\u0441\u0430 \u043c\u0435\u0436\u0434\u0443 \u0435\u0451 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0432\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f. \u0425\u043e\u0434\u044b \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439 \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043a\u043e\u043d\u0441\u043f\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0442\u0430\u043a, \u043a\u0430\u043a \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b\u043e \u0432 \u0434\u043d\u0438 \u043c\u043e\u0435\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f. <\/p>\n<details class=\"spoiler\">\n<summary>\u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438 \u043c\u0435\u0441\u0442\u043e \u0432 \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0435<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ae6\/18d\/774\/ae618d774237d16202782737a409f8a7.png\" width=\"988\" height=\"785\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ae6\/18d\/774\/ae618d774237d16202782737a409f8a7.png\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<p>\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f: <a href=\"https:\/\/www.mandiant.com\/resources\/flare-on-8-challenge-solutions\" rel=\"noopener noreferrer nofollow\">https:\/\/www.mandiant.com\/resources\/flare-on-8-challenge-solutions<\/a><\/p>\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/washi1337.github.io\/ctf-writeups\/writeups\/flare-on\/2021\/\" rel=\"noopener noreferrer nofollow\">https:\/\/washi1337.github.io\/ctf-writeups\/writeups\/flare-on\/2021\/<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/jk45054\/CTF-writeups\/tree\/main\/Flare-On%208\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/jk45054\/CTF-writeups\/tree\/main\/Flare-On%208<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/0xdf.gitlab.io\/flare-on-2021\/credchecker\" rel=\"noopener noreferrer nofollow\">https:\/\/0xdf.gitlab.io\/flare-on-2021\/credchecker<\/a> (c \u0432\u0438\u0434\u0435\u043e\u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/bogdanvennyk.medium.com\/flare-on-8-task-9-write-up-30d785f1df21\" rel=\"noopener noreferrer nofollow\">https:\/\/bogdanvennyk.medium.com\/flare-on-8-task-9-write-up-30d785f1df21<\/a> (\u0442\u043e\u043b\u044c\u043a\u043e 9 \u0437\u0430\u0434\u0430\u043d\u0438\u0435)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/hshrzd.wordpress.com\/2021\/10\/23\/flare-on-8-task-9\/\" rel=\"noopener noreferrer nofollow\">https:\/\/hshrzd.wordpress.com\/2021\/10\/23\/flare-on-8-task-9\/<\/a> (6,7,9 \u0437\u0430\u0434\u0430\u043d\u0438\u044f)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \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\/articles\/584672\/\"> https:\/\/habr.com\/ru\/articles\/584672\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u043a\u043e\u043d\u043a\u0443\u0440\u0441 Flare-On \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 FireEye. \u041e\u043d \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0435\u0442  \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u0439 \u0438 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u043e\u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e \u0432\u0441\u0435\u0433\u043e \u043c\u0438\u0440\u0430. \u0415\u0436\u0435\u0433\u043e\u0434\u043d\u043e  FireEye \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0432\u0441\u0435\u043c \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u043c 10-12 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 \u043d\u0430\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0435\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u0423\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u0430\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438 \u0432 \u0442\u043e\u043d\u0443\u0441\u0435 \u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0441\u0442\u0438\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u043e\u0432\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u0432\u0435\u0449\u0430\u043c. \u0421\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u043b\u0435\u0442 \u0438 \u044d\u0442\u043e  \u043a\u043e\u0441\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u0432 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443.  \u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u0438 \u0438\u0437-\u0437\u0430 \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438  \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f (\u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f) \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435\u0436\u0435\u043b\u0438 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e  \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043b\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438 &#8212; \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u044b\u043b\u043e  \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c &#171;\u0410&#187; \u0438 &#171;\u0411&#187;. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f  \u0440\u0435\u0448\u0430\u043b\u0438\u0441\u044c \u0432 \u0440\u0443\u0447\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435 \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f  \u0443\u0437\u043a\u043e\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u0451\u043c\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432.  <\/p>\n<p>\u042f \u0443\u0437\u043d\u0430\u043b \u043e\u0431 \u044d\u0442\u0438\u0445 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 2019 \u0433\u043e\u0434\u0443, \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0440\u0435\u0448\u0438\u043b \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043e\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0433\u043e\u043b\u043e\u0432\u043e\u043b\u043e\u043c\u043e\u043a \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435. \u041d\u0430 \u0441\u0447\u0435\u0442\u0443 \u0443 \u043c\u0435\u043d\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0440\u0435\u0442\u0438\u0439 \u043f\u0430\u043c\u044f\u0442\u043d\u044b\u0439 \u043f\u0440\u0438\u0437 \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b FireEye \u0438 \u0432 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0437\u0430\u043d\u044f\u043b 39 \u043c\u0435\u0441\u0442\u043e \u0432 \u043e\u0431\u0449\u0435\u043c\u0438\u0440\u043e\u0432\u043e\u043c \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0435 (4-\u043e\u0435 \u0441\u0440\u0435\u0434\u0438 \u0440\u043e\u0441\u0441\u0438\u044f\u043d):<\/p>\n<figure class=\"full-width\"><figcaption>\u0447\u0438\u0441\u043b\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0432\u0448\u0438\u0445 CTF \u043a i-\u0442\u043e\u043c\u0443 \u0434\u043d\u044e. \u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u0430 &#8212; 6 \u043d\u0435\u0434\u0435\u043b\u044c<\/figcaption><\/figure>\n<p>\u0412\u0441\u0435 \u0444\u043b\u0430\u0433\u0438 Flare-On Challenge \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u043e\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 @flare-on.com. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u0440\u0430\u0437\u0431\u043e\u0440\u0443 \u0437\u0430\u0434\u0430\u043d\u0438\u0439.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0432\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 Flare-on \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0435\u043d\u0438\u0439. \u0412 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f html-\u0444\u043e\u0440\u043c\u0430 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 \u0432\u0432\u043e\u0434\u0430 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0430\u0440\u043e\u043b\u044f. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<details class=\"spoiler\">\n<summary>\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 checkCreds()<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">&lt;script> var form = document.getElementById(\"credform\"); var username = document.getElementById(\"usrname\"); var password = document.getElementById(\"psw\"); var info = document.getElementById(\"infolabel\"); var checkbtn = document.getElementById(\"checkbtn\"); var encoded_key = \"P1xNFigYIh0BGAofD1o5RSlXeRU2JiQQSSgCRAJdOw==\"  function checkCreds() {  if (username.value == \"Admin\" &amp;&amp; atob(password.value) == \"goldenticket\")  { var key = atob(encoded_key); var flag = \"\"; for (let i = 0; i &lt; key.length; i++) { flag += String.fromCharCode(key.charCodeAt(i) ^ password.value.charCodeAt(i % password.value.length)) } document.getElementById(\"banner\").style.display = \"none\"; document.getElementById(\"formdiv\").style.display = \"none\"; document.getElementById(\"message\").style.display = \"none\"; document.getElementById(\"final_flag\").innerText = flag; document.getElementById(\"winner\").style.display = \"block\"; } else { document.getElementById(\"message\").style.display = \"block\"; } }  &lt;\/script><\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u041d\u0443, \u043e\u043a. \u041f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u0434 if ( &#8230; ) <\/p>\n<pre><code>username.value = \"Admin\"; password.value = btoa(\"goldenticket\"); <\/code><\/pre>\n<p>\u0432\u0432\u043e\u0434\u0438\u043c \u0432 \u0444\u043e\u0440\u043c\u0443 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043b\u044e\u0447:<\/p>\n<figure class=\"\"><figcaption> <\/figcaption><\/figure>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430-\u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a UnlockYourFiles.exe \u0438 6 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432:<\/p>\n<p>capa.png.encrypted<br \/>cicero.txt.encrypted<br \/>commandovm.gif.encrypted<br \/>critical_data.txt.encrypted<br \/>flarevm.jpg.encrypted<br \/>latin_alphabet.txt.encrypted<\/p>\n<p>\u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u043e\u0441\u0438\u0442 \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043b\u044e\u0447 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438. \u041b\u0435\u0433\u043a\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0447\u0438\u0442\u0430\u0435\u0442 \u0438 \u043f\u0438\u0448\u0435\u0442 \u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u043f\u043e 8 \u0431\u0430\u0439\u0442. \u0422\u0430\u043a\u0436\u0435 \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u043a\u043b\u044e\u0447\u0430 \u0432\u043b\u0438\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043e\u0434\u0438\u043d \u0431\u0430\u0439\u0442 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f &#8212; \u0432\u0441\u0435\u0433\u043e 9 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043f\u043e\u0445\u043e\u0436\u0430\u044f \u043d\u0430 \u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u0449\u0438\u043a \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439, \u043a\u043e\u0433\u0434\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u043f\u043e\u043d\u044f\u0442\u043d\u0435\u0435 \u0432\u044b\u0432\u043e\u0434\u0430 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430. <br \/>\u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0441 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043e\u043c. \u041f\u0435\u0440\u0435\u043f\u0438\u0448\u0435\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043d\u0430 Python:<\/p>\n<pre><code class=\"python\">alphabet = \"ABCDEFGH\" b = [0x0f,0xce,0x60,0xbc,0xe6,0x2f,0x46,0xea] for i in range(8):     for c in range(256):         if (rol(c^b[i],i,8) -i )== ord(alphabet[i]):             print(chr(c),end='')<\/code><\/pre>\n<p>\u041a\u043b\u044e\u0447 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 &#8212; No1Trust, \u0430 \u0444\u043b\u0430\u0433 &#8212; You_Have_Awakened_Me_Too_Soon_EXE@flare-on.com<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0434\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0434\u043e \u0447\u0435\u0433\u043e-\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e. \u0414\u0430\u043d \u0434\u043e\u043a\u0435\u0440-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u042f \u0440\u0435\u0448\u0438\u043b \u043d\u0435 \u0432\u043e\u0437\u0438\u0442\u044c\u0441\u044f \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f, \u0430 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443. \u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 \u0441 json-\u043e\u043f\u0438\u0441\u0430\u0442\u0435\u043b\u0435\u043c \u0438 \u0441 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c \u0432 \u0432\u0438\u0434\u0435 tar-\u0430\u0440\u0445\u0438\u0432\u0430. \u041e\u0434\u0438\u043d \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0430\u0439\u043b.\/AntiochOS, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b &#8212; \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432 a.dat..z.dat. \u0424\u0430\u0439\u043b\u044b *.dat \u043d\u0438\u0433\u0434\u0435 \u043d\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0442\u0441\u044f. \u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0441\u0432\u043e\u0439 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0440, \u043f\u043e \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u043e\u043b\u044f\u043c (\u043a\u0440\u043e\u043c\u0435 ID) \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f.<\/p>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c .\/AntiochOS:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u0433\u0438\u0434\u0440\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e .\/AntiochOS \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b: &#171;help&#187;, &#171;quit&#187;, &#171;approach&#187; \u0438 &#171;consult&#187;. \u0412\u044b\u0432\u043e\u0434 strace \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0435 &#171;consult&#187; \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 a.dat..z.dat:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u043e \u043a\u0430\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0443\u0436\u043d\u044b \u0444\u0430\u0439\u043b\u044b a.dat..z.dat &#8212; \u043d\u0435 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442\u0441\u044f. \u041b\u0430\u0434\u043d\u043e, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 approach:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0432\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b approach &#8212; \u043e\u0442\u0441\u043b\u044b\u043b\u043a\u0430 \u043a \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0431\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u043e\u0439 \u0444\u044d\u043d\u0442\u0435\u0437\u0438\u0439\u043d\u043e\u0439 \u043a\u0438\u043d\u043e\u043a\u043e\u043c\u0435\u0434\u0438\u0438 \u041c\u043e\u043d\u0442\u0438 \u041f\u0430\u0439\u0442\u043e\u043d \u0438 \u0421\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0439 \u0413\u0440\u0430\u0430\u043b\u044c, \u0438 <a href=\"http:\/\/montypython.50webs.com\/scripts\/Holy_Grail\/Scene22.htm\" rel=\"noopener noreferrer nofollow\">\u0432 \u0441\u0446\u0435\u043d\u0435 22<\/a> \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b: \u0438\u043c\u044f &#8212; Sir Lancelot, \u043a\u0432\u0435\u0441\u0442 &#8212; Holy Grail, \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u0446\u0432\u0435\u0442 &#8212; Blue. \u0422\u0440\u0438 <s>\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u0433\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u043a\u0432\u044b \u0434\u0430\u044e\u0442 \u043f\u0440\u0430\u0432\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0434\u0432\u0435 \u0448\u043a\u0430\u0442\u0443\u043b\u043a\u0438<\/s> \u0443\u0433\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u043e\u0432\u0430 \u0432\u044b\u0434\u0430\u044e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0447\u0438\u0441\u043b\u043e. \u0412 .\/AntiochOS \u0435\u0441\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 {hash_name, hash_color, res_value}, \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0445\u044d\u0448\u0438 \u043e\u0442 \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0445 \u0432\u0430\u043c\u0438 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u044b &#8212; \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0432\u0430\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0438\u043c res_value &#8212; \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 [1..30]. \u0418\u043d\u0430\u0447\u0435&#8230; AAARGH! \u0418\u043c\u044f \u043a\u0432\u0435\u0441\u0442\u0430 \u043d\u0438\u0433\u0434\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f. <\/p>\n<p>\u0417\u0430\u043c\u0435\u0447\u0430\u0435\u043c, \u0447\u0442\u043e Sir Lancelot \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0434\u043e\u043a\u0435\u0440\u0430 \u0441 [a.dat &#8230; z.dat], \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0445\u044d\u0448\u0438 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u043c\u0451\u043d \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u044d\u0442\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0432\u043e\u0439 res_value, \u0434\u0430\u0436\u0435 \u043d\u0435 \u0437\u043d\u0430\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430 2 \u0438 3 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0432 gdb \u044d\u0442\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<details class=\"spoiler\">\n<summary>\u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e<\/summary>\n<div class=\"spoiler__content\">\n<p>\u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0445\u0435\u0448\u0430 \u043c\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043c \u043f\u043e \u0446\u0438\u043a\u043b\u0443 \u043f\u043e <em>i<\/em> \u0434\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0441 <em>data[i].hash_name<\/em>, \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0446\u0438\u043a\u043b\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 rdx \u0443\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e [rdx-0x4] &#8212; \u043d\u0430 data[i-1].res.value<\/p>\n<\/div>\n<\/details>\n<p>\u0438 \u0442.\u0434. \u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 &#8212; \u043c\u044b \u043d\u0435 \u0443\u0433\u0430\u0434\u0430\u043b\u0438 \u0441 \u0446\u0432\u0435\u0442\u043e\u043c, \u043d\u043e \u043d\u043e\u043c\u0435\u0440 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438. \u0414\u0430\u043b\u0435\u0435 \u0438\u0437 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c [a.dat&#8230;z.dat] \u0432 \u043e\u0431\u0449\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u044d\u0442\u0438\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u043c \u043d\u043e\u043c\u0435\u0440\u0430\u043c (\u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0430\u0436\u0435\u043d, \u0438\u0437-\u0437\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u0432 \u043d\u0435 \u0432\u0441\u0435 *.dat \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0431\u0443\u0434\u0443\u0442 \u0438\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430). \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0435\u0440\u043d\u043e, \u0432 \u043f\u0441\u0435\u0432\u0434\u043e\u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0435 &#171;consult&#187; \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0444\u043b\u0430\u0433 Five_Is_Right_0ut@flare-on.com.<\/p>\n<p>\u0421\u0438\u0434\u0435\u043b \u043d\u0430\u0434 \u0437\u0430\u0434\u0430\u043d\u0438\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0443\u0442\u043e\u043a &#8212; \u043c\u043d\u043e\u0433\u043e \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0445 \u0432\u0435\u0449\u0435\u0439, \u0434\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u0443\u043c\u0430\u043b \u043d\u0430\u0434 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0448\u0430\u0433\u043e\u043c &#8212; \u043d\u043e\u043c\u0435\u0440\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b, \u0432\u0441\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b a.dat..z.dat \u043d\u0430 \u0440\u0443\u043a\u0430\u0445, \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a \u0438\u0437\u0443\u0447\u0435\u043d \u0432\u0434\u043e\u043b\u044c \u0438 \u043f\u043e\u043f\u0435\u0440\u0451\u043a, \u0430 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u044d\u0442\u0438\u043c \u0431\u043e\u0433\u0430\u0442\u0441\u0442\u0432\u043e\u043c \u0434\u0430\u043b\u044c\u0448\u0435 &#8212; \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u043c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c \u0432 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u0443\u044e \u0438\u0433\u0440\u0443-\u0443\u0433\u0430\u0434\u0430\u0439\u043a\u0443 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u0437\u0430 \u0444\u043b\u0430\u0433. \u0421\u0443\u0442\u044c \u0438\u0433\u0440\u044b &#8212; \u043a\u043b\u0438\u043a\u043d\u0443\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043d\u0430 \u043b\u044e\u0431\u044b\u0435 \u0438\u0437 16 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u043c  \u043e\u043a\u043d\u0435 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0434\u043b\u044f \u043d\u0443\u043b\u0435\u0432\u044b\u0445 &#8212; standalone-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0434\u0432\u0438\u0436\u043e\u043a + \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 \u043e\u0434\u043d\u043e\u043c \u0444\u043b\u0430\u043a\u043e\u043d\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, AutoPlay Media Studio, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0445 \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u043e\u0432, \u0438\u0433\u0440\u043e\u0432\u044b\u0435 \u0434\u0432\u0438\u0436\u043a\u0438 &#8212; \u0431\u044b\u043b\u0438 \u0441\u043e\u0442\u043d\u0438 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c. CFF Explorer \u043d\u0430\u043c\u0435\u043a\u0430\u0435\u0442 \u043d\u0430\u043c, \u0447\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043e:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0430 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u044d\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Multimedia Builder:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/github.com\/qprotex\/MMUnbuilder\" rel=\"noopener noreferrer nofollow\">\u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/a> \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 Multimedia Builder \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u042f \u0440\u0435\u0448\u0438\u043b \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0440\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u041c\u041c\u0412 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 \u0442\u0430\u043c. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 \u043d\u0451\u043c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a-\u0442\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043a\u0440\u0438\u0432\u043e:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0423 \u043c\u0435\u043d\u044f \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u041c\u041c\u0412, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043d\u044f\u0442\u044c \u0432 \u043d\u0451\u043c, \u043a \u0447\u0435\u043c\u0443 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u043d\u043e \u0437\u0430\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043f\u043e\u0434\u043a\u0430\u0437\u043a\u0443, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0430\u043f\u043a\u0443 TEMP (\u0441\u043c. \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442). \u0410\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u0432\u044b\u043f\u0438\u0448\u0435\u043c \u0432\u0441\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f:<\/p>\n<pre><code class=\"cpp\">Script01: part1$='derelict:MZZWP'; PluginSet(\"PlugIn\",\"part1$\") Script02: part2$='lagan:BAJkR'; PluginSet(\"PlugIn\",\"part2$\") Script03: part2$='flotsam:DFWEyEW'; PluginSet(\"PlugIn\",\"part2$\") Script04: part1$='flotsam:PXopvM'; PluginSet(\"PlugIn\",\"part1$\") Script05: part2$='derelict:LDNCVYU'; PluginSet(\"PlugIn\",\"part2$\") Script06: part3$='derelict:yXQsGB'; PluginSet(\"PlugIn\",\"part3$\") Script07: part2$='jetsam:newaui'; PluginSet(\"PlugIn\",\"part2$\") Script08: part3$='lagan:QICMX'; PluginSet(\"PlugIn\",\"part3$\") Script09: part1$='lagan:rOPFG'; PluginSet(\"PlugIn\",\"part1$\") Script10: part3$='jetsam:HwdwAZ'; PluginSet(\"PlugIn\",\"part3$\") Script11: part1$='jetsam:SLdkv'; PluginSet(\"PlugIn\",\"part1$\") Script12: part2$='derelict:LSZvYSFHW'; PluginSet(\"PlugIn\",\"part2$\") Script13: part3$='flotsam:BGgsuhn'; PluginSet(\"PlugIn\",\"part3$\") Script14: part4$='lagan:GTYAKlwER'; PluginSet(\"PlugIn\",\"part2$\") Script15: part4$='derelict:RTYXAc'; PluginSet(\"PlugIn\",\"part4$\") Script16: part2$='lagan:GTXI'; PluginSet(\"PlugIn\",\"part2$\")<\/code><\/pre>\n<details class=\"spoiler\">\n<summary>Script17:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">PluginRun(\"PlugIn\",\"PluginFunc19\") PluginGet(\"PlugIn\",\"var1$\") NextPage() LoadVariable(\"visitors\",\"count\") count = count + 1 SaveVariable(\"visitors\",\"count\") vc$='Visitor Counter: ' + CHAR(count) CreateText(\"mytext\",\"visitlabel$,1050,580,yippy\") LoadText(\"visitlabel$\",\"vc$\") colr$='TEXTCOLOR=255,0,0' SetObjectParam(\"outlabel$\",\"colr$\") SetObjectParam(\"outlabel$\",\"FONTNAME=Comic Sans MS\") SetObjectParam(\"outlabel$\",\"FONTSIZE=24\") colors$[1] = '255,0,0' colors$[2] = '0,255,0' colors$[3] = '0,0,255' colors$[4] = '255,0,0' colors$[5] = '0,255,0' colors$[6] = '0,0,255' colors$[7] = '255,0,0' colors$[8] = '0,255,0' colors$[9] = '0,0,255' colors$[10] = '255,0,0' colors$[11] = '0,255,0' colors$[12] = '0,0,255' colors$[13] = '255,0,0' colors$[14] = '0,255,0' colors$[15] = '0,0,255' For Loop= 1 To 1000   For Counter= 1 To 15     CreateText(\"mytext\",\"outlabel$,20,100 + 50 * Counter,yippy\")     LoadText(\"outlabel$\",\"var1$\")     colr$='TEXTCOLOR='+colors$[Counter]     SetObjectParam(\"outlabel$\",\"colr$\")     SetObjectParam(\"outlabel$\",\"FONTNAME=Comic Sans MS\")     SetObjectParam(\"outlabel$\",\"FONTSIZE=48\")     Pause(\"1000\")     DeleteObject(\"outlabel$\")   Next Counter Next Loop<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0422\u0430\u043a. \u0417\u043d\u0430\u0447\u0438\u0442, \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0447\u0435\u0442\u044b\u0440\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 (derelict, lagan, flotsam, jetsam), \u0430 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0448\u0430\u0433\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 Script17. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0435 \u0432 \u043f\u0430\u043f\u043a\u0435 TEMP<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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-383224","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/383224","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=383224"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/383224\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=383224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=383224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=383224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}