{"id":322571,"date":"2021-05-04T15:00:59","date_gmt":"2021-05-04T15:00:59","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=322571"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=322571","title":{"rendered":"\u041b\u043e\u043c\u0430\u0435\u043c \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0434\u0438\u0441\u043a \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442 RedBalloonSecurity. Part 0x02"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/da1\/243\/dde\/da1243dde1569de3088a504875bb187b.jpeg\" width=\"839\" height=\"487\"><figcaption><\/figcaption><\/figure>\n<p><a href=\"https:\/\/habr.com\/ru\/news\/t\/536740\" rel=\"noopener noreferrer nofollow\"><strong>\u041f\u043e \u043c\u043e\u0442\u0438\u0432\u0430\u043c<\/strong><\/a><strong><br \/><\/strong><a href=\"https:\/\/habr.com\/ru\/post\/549090\/\" rel=\"noopener noreferrer nofollow\"><strong>\u0427\u0430\u0441\u0442\u044c 0x00<\/strong><\/a><strong><br \/><\/strong><a href=\"https:\/\/habr.com\/ru\/post\/549578\" rel=\"noopener noreferrer nofollow\"><strong>\u0427\u0430\u0441\u0442\u044c 0x01<\/strong><\/a><strong><br \/><\/strong><a href=\"https:\/\/habr.com\/ru\/post\/553858\/\" rel=\"noopener noreferrer nofollow\"><strong>\u0427\u0430\u0441\u0442\u044c 0x02<\/strong><\/a><\/p>\n<h2>\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c<\/h2>\n<p>\u0420\u0435\u0431\u044f\u0442\u0443\u0448\u043a\u0438, \u043d\u0430\u043a\u043e\u043d\u0435\u0446! \u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u0430 \u043a\u043e \u043c\u043d\u0435, \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432, \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e, \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0449\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0447\u0435\u0440\u0442\u043e\u0432\u0441\u043a\u0438 \u0434\u043e\u043b\u0433\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u043e \u0432\u0437\u043b\u043e\u043c\u0435 \u0434\u0438\u0441\u043a\u0430 \u043e\u0442 RedBalloonSecurity. \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0432\u0430\u0441 \u0436\u0434\u0435\u0442 \u0441\u0430\u043c\u043e\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u0438\u0437 \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u0439. \u0422\u043e, \u0441 \u0447\u0435\u043c \u044f \u0431\u043e\u0440\u043e\u043b\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432, \u043d\u043e \u0437\u0430 \u0447\u0442\u043e \u0431\u044b\u043b \u043e\u0447\u0435\u043d\u044c \u0449\u0435\u0434\u0440\u043e \u0432\u043e\u0437\u043d\u0430\u0433\u0440\u0430\u0436\u0434\u0435\u043d. \u041f\u0443\u0442\u044c \u043a \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u0431\u044b\u043b \u0442\u0435\u0440\u043d\u0438\u0441\u0442, \u0438 \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u0441 \u0432 \u043d\u0435\u0433\u043e \u043f\u043e\u0441\u0432\u044f\u0442\u0438\u0442\u044c.<\/p>\n<p>\u0421\u0440\u0430\u0437\u0443 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435 \u043c\u043e\u0435\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e! \u041e\u043d\u0430 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0430 \u0434\u043e \u043c\u0435\u043b\u043e\u0447\u0435\u0439. \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432\u044b \u043f\u0440\u043e\u0447\u043b\u0438 \u0438 \u043f\u043e\u043d\u044f\u043b\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e.<\/p>\n<h2>LEVEL3<\/h2>\n<p>\u041f\u043e \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438, \u044f \u043d\u0430\u0447\u043d\u0443 \u0441 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0434\u0438\u0441\u043a\u0430:<\/p>\n<pre><code>user@ubuntu:\/media\/user\/LEVEL3$ file * level_3.html:                  HTML document, ASCII text, with very long lines level3_instructions.txt:       ASCII text final_level.lod.7z.encrypted:  7-zip archive data, version 0.3<\/code><\/pre>\n<p>\u0412\u0441\u0435 \u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u043a\u0435:<\/p>\n<ol>\n<li>\n<p>level_3.html &#8212; \u0444\u0430\u0439\u043b \u0441 \u0434\u0430\u043c\u043f\u043e\u043c \u043f\u0430\u043c\u044f\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u044e\u0447<\/p>\n<\/li>\n<li>\n<p>level3_instructions.txt &#8212; \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0447\u0442\u043e \u0438 \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c<\/p>\n<\/li>\n<li>\n<p>final_level.lod.7z.encrypted &#8212; \u0437\u0430\u043f\u0430\u0440\u043e\u043b\u0435\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043e\u043b\u0436\u043d\u043e \u043d\u0430\u0441 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u0430\u0440\u043e\u043b\u044e \u043a \u044d\u0442\u043e\u043c\u0443 \u0430\u0440\u0445\u0438\u0432\u0443<\/p>\n<\/li>\n<\/ol>\n<p>\u0422\u0435, \u043a\u0442\u043e \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 \u044d\u0442\u0438\u043c \u0446\u0438\u043a\u043b\u043e\u043c \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u0443\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u0447\u0443\u044f\u0442\u044c \u0441\u0445\u043e\u0436\u0435\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c. \u0422\u0430\u043a \u043e\u043d\u043e \u0438 \u0435\u0441\u0442\u044c. \u041c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439. \u041d\u043e, \u043d\u0435 \u0432\u0441\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e \ud83d\ude42<\/p>\n<p>\u041d\u0430\u0448\u0430 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>user@ubuntu:\/media\/user\/LEVEL3$ cat level3_instructions.txt You made it! I guess I wasn't the best intern...  Maybe this one is better?  1. Invoke the function with command R&lt;User_Input&gt; 2. Find the key you must!!!!!  level3.html provides disassembly of a memory snapshot of the key generator function.  Read this. http:\/\/phrack.org\/issues\/66\/12.html<\/code><\/pre>\n<p>\u0425\u0430-\u0445\u0430. \u041a\u0442\u043e-\u0442\u043e \u043d\u0435 \u0431\u044b\u043b \u043b\u0443\u0447\u0448\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u043e\u043c. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438 \u043b\u0435\u0436\u0438\u0442 \u0441\u0441\u044b\u043b\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0435\u0434\u0435\u0442 \u043d\u0430 \u0441\u0430\u0439\u0442 phrack.org. \u042d\u0442\u043e\u0442 \u0441\u0430\u0439\u0442 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f\u0445. \u041e\u043d \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043f\u043e\u0434 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e malware\/viruses, \u043d\u043e \u0442\u0430\u043c \u043d\u0435\u0442\u0443 \u043d\u0438 \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u043f\u043b\u043e\u0445\u043e\u0433\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0430\u0440\u044b\u0439 \u043e\u043d\u043b\u0430\u0439\u043d \u0436\u0443\u0440\u043d\u0430\u043b, \u0433\u0434\u0435 \u0443\u043c\u0435\u043b\u044c\u0446\u044b \u043f\u0438\u0448\u0443\u0442 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0447\u0442\u043e-\u0442\u043e \u0432\u0437\u043b\u043e\u043c\u0430\u0442\u044c. \u041d\u0430\u0448\u0430 \u0441\u0441\u044b\u043b\u043a\u0430 \u0432\u0435\u0434\u0435\u0442 \u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044e \u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 <strong>ASCII<\/strong> <strong>\u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0430<\/strong> \u0434\u043b\u044f ARM \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432.<\/p>\n<h2>ASCII \u0448\u0435\u043b\u043b\u043a\u043e\u0434<\/h2>\n<p>\u041e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0436\u0435 \u0442\u0430\u043a\u043e\u0435 \u0448\u0435\u043b\u043b\u043a\u043e\u0434 \u0432 \u043f\u043e\u043b\u043d\u043e\u043c \u043e\u0431\u044c\u0435\u043c\u0435, \u044f, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043d\u0435 \u0441\u043c\u043e\u0433\u0443. \u041d\u043e, \u0432 \u043c\u043e\u0435\u0439 \u0433\u043e\u043b\u043e\u0432\u0435 \u043e\u0442\u0432\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<p>\u042d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u0430\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u0415\u0441\u043b\u0438 \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u0430\u0445 &#8212; \u0438\u0445 \u043a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u043d\u0430 \u0434\u0432\u0435 \u0447\u0430\u0441\u0442\u0438:<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0430\u0431\u044c\u044e\u0437 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438. \u0422\u043e \u0435\u0441\u0442\u044c, \u044d\u0442\u043e \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a buffer overflow, race condition, use-after-free \u0438 \u0442\u0434. \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u0442\u043e\u0440\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0410 \u0432\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c &#8212; \u044d\u0442\u043e \u0443\u0436\u0435 \u0442\u043e, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439. \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u043d\u0430\u0448 \u0448\u0435\u043b\u043b\u043a\u043e\u0434. \u041e\u043d \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u044b\u043c. \u042d\u0442\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442 \u0432\u0437\u043b\u043e\u043c\u0430\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0430 \u043a\u043e\u0434 \u0434\u043b\u044f \u0441\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043c\u0430\u0439\u043d\u0438\u043d\u0433\u0430 \u043a\u0440\u0438\u043f\u0442\u044b, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 bash \u0438 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u044b \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u043a\u0435\u0442 \u043a \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u041f\u041a (\u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0448\u0435\u043b\u043b \u043d\u0430 \u0432\u0437\u043b\u043e\u043c\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043f). \u041f\u043e \u0441\u0443\u0442\u0438, \u0448\u0435\u043b\u043b\u043a\u043e\u0434 \u044d\u0442\u043e \u0442\u043e, \u0447\u0435\u043c \u043c\u044b \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u043e\u0441\u043b\u0435 \u0432\u0437\u043b\u043e\u043c\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0442\u043e\u0438\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c <strong>\u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c<\/strong>. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u0434\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u043a\u043e\u0434, \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u0432\u0437\u043b\u043e\u043c\u0430\u043d\u043d\u043e\u043c \u041f\u041a, \u0430 \u043f\u043e\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c &#8212; \u0431\u0443\u0434\u0435\u0442 \u043d\u0443 \u043f\u0440\u044f\u043c \u0441\u043e\u0432\u0441\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u043d\u044b\u043c \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u043e\u043c. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u044b\u043c \u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0443. \u0420\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0447\u0443\u0442\u044c \u043b\u0438 \u043d\u0435 \u0441\u0430\u043c\u043e\u0435 \u0432\u0430\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0427\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0440\u0430\u0437\u043c\u0435\u0440 &#8212; \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 &#171;\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432&#187; \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0439\u0442\u0438 \u043d\u0430\u0448 \u0448\u0435\u043b\u043b\u043a\u043e\u0434. \u041e\u0431 \u044d\u0442\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0437\u0436\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u044d\u0442\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0421\u0430\u043c\u0430\u044f \u0437\u043d\u0430\u0447\u0438\u043c\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 phrack.org \u044d\u0442\u043e ASCII. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430 \u043a\u0430\u043a-\u0440\u0430\u0437 \u0442\u0430\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 ASCII \u0444\u043e\u0440\u043c\u0430\u0442\u0435 (\u043d\u0430\u0448 \u0434\u0438\u0441\u043a \u043d\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 &#8212; \u043a\u0440\u043e\u043c\u0435 \u0442\u0435\u043a\u0441\u0442\u0430, \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0438 \u0446\u0438\u0444\u0440 \u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0438\u043a \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f). \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u043a \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0438\u0441\u0430\u0442\u044c \u0448\u0435\u043b\u043b\u043a\u043e\u0434, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0441\u043b\u0430 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 0x20 \u0434\u043e 0x7E. \u0418, \u043c\u0430\u043b\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0431\u0438\u0442\u044b, \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u0434\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 ASCII &#171;\u0444\u0438\u043b\u044c\u0442\u0440&#187;, \u0430 \u0434\u0440\u0443\u0433\u0430\u044f \u043d\u0435\u0442. \u0421\u0442\u0430\u0442\u044c\u044e \u043f\u0438\u0441\u0430\u043b \u0438\u0441\u0442\u0438\u043d\u043d\u044b\u0439 \u0433\u0435\u043d\u0438\u0439!<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437, \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u0444\u0430\u0439\u043b level_3.html \u0446\u0435\u043b\u0438\u043a\u043e\u043c. \u0412\u0435\u0434\u044c \u043e\u043d \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u0435.<\/p>\n<details class=\"spoiler\">\n<summary>level_3.html<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>001. ROM:00332D30 002. ROM:00332D30 ; Segment type: Pure code 003. ROM:00332D30                 AREA ROM, CODE, READWRITE, ALIGN=0 004. ROM:00332D30                 ; ORG 0x332D30 005. ROM:00332D30                 CODE16 006. ROM:00332D30 007. ROM:00332D30 ; =============== S U B R O U T I N E ======================================= 008. ROM:00332D30 009. ROM:00332D30 ; prototype: generate_key(key_part_num, integrity_validate_table, key_table) 010. ROM:00332D30 ; Function called when serial console input is 'R'. Generates key parts in R0-R3. 011. ROM:00332D30 ; The next level to reach, the key parts to print you must! 012. ROM:00332D30 013. ROM:00332D30 generate_key 014. ROM:00332D30 015. ROM:00332D30 var_A8          = -0xA8 016. ROM:00332D30 017. ROM:00332D30                 PUSH            {R4-R7,LR} 018. ROM:00332D32                 SUB             SP, SP, #0x90 019. ROM:00332D34                 MOVS            R7, R1 020. ROM:00332D36                 MOVS            R4, R2 021. ROM:00332D38                 MOVS            R5, R0 022. ROM:00332D3A                 MOV             R1, SP 023. ROM:00332D3C                 LDR             R0, =0x35A05C ; \"SP: %x\" 024. ROM:00332D3E                 LDR             R3, =0x68B08D 025. ROM:00332D40                 NOP 026. ROM:00332D42                 LDR             R1, =0x6213600 ; \"R\"... 027. ROM:00332D44                 MOV             R2, SP 028. ROM:00332D46 029. ROM:00332D46 loc_332D46                              ; CODE XREF: generate_key+22j 030. ROM:00332D46                 LDRB            R6, [R1] 031. ROM:00332D48                 ADDS            R1, R1, #1 032. ROM:00332D4A                 CMP             R6, #0xD 033. ROM:00332D4C                 BEQ             loc_332D54 034. ROM:00332D4E                 STRB            R6, [R2] 035. ROM:00332D50                 ADDS            R2, R2, #1 036. ROM:00332D52                 B               loc_332D46 037. ROM:00332D54 ; --------------------------------------------------------------------------- 038. ROM:00332D54 039. ROM:00332D54 loc_332D54                              ; CODE XREF: generate_key+1Cj 040. ROM:00332D54                 SUBS            R6, #0xD 041. ROM:00332D56                 STRB            R6, [R2] 042. ROM:00332D58                 SUBS            R5, #0x49 ; 'I' 043. ROM:00332D5A                 CMP             R5, #9 044. ROM:00332D5C                 BGT             loc_332E14 045. ROM:00332D5E                 LSLS            R5, R5, #1 046. ROM:00332D60                 ADDS            R5, R5, #6 047. ROM:00332D62                 MOV             R0, PC 048. ROM:00332D64                 ADDS            R5, R0, R5 049. ROM:00332D66                 LDRH            R0, [R5] 050. ROM:00332D68                 ADDS            R0, R0, R5 051. ROM:00332D6A                 BX              R0 052. ROM:00332D6A ; --------------------------------------------------------------------------- 053. ROM:00332D6C                 DCW 0x15 054. ROM:00332D6E                 DCW 0xA6 055. ROM:00332D70                 DCW 0xA4 056. ROM:00332D72                 DCW 0xA2 057. ROM:00332D74                 DCW 0xA0 058. ROM:00332D76                 DCW 0x9E 059. ROM:00332D78                 DCW 0x30 060. ROM:00332D7A                 DCW 0x52 061. ROM:00332D7C                 DCW 0x98 062. ROM:00332D7E                 DCW 0xE 063. ROM:00332D80 ; --------------------------------------------------------------------------- 064. ROM:00332D80 065. ROM:00332D80 key_part1 066. ROM:00332D80                 LDR             R0, [R4] 067. ROM:00332D82                 MOVS            R6, #1 068. ROM:00332D84                 STR             R6, [R7] 069. ROM:00332D86                 BLX             loc_332E28 070. ROM:00332D86 ; --------------------------------------------------------------------------- 071. ROM:00332D8A                 CODE32 072. ROM:00332D8A                 DCB    0 073. ROM:00332D8B                 DCB    0 074. ROM:00332D8C ; --------------------------------------------------------------------------- 075. ROM:00332D8C 076. ROM:00332D8C key_part2 077. ROM:00332D8C                 LDR             R6, [R7] 078. ROM:00332D90                 CMP             R6, #1 079. ROM:00332D94                 LDREQ           R1, [R4,#4] 080. ROM:00332D98                 EOREQ           R1, R1, R0 081. ROM:00332D9C                 MOVEQ           R6, #1 082. ROM:00332DA0                 STREQ           R6, [R7,#4] 083. ROM:00332DA4                 B               loc_332E28 084. ROM:00332DA8 ; --------------------------------------------------------------------------- 085. ROM:00332DA8 086. ROM:00332DA8 key_part3 087. ROM:00332DA8                 LDR             R6, [R7] 088. ROM:00332DAC                 CMP             R6, #1 089. ROM:00332DB0                 LDREQ           R6, [R7,#4] 090. ROM:00332DB4                 CMPEQ           R6, #1 091. ROM:00332DB8                 LDREQ           R2, [R4,#8] 092. ROM:00332DBC                 EOREQ           R2, R2, R1 093. ROM:00332DC0                 MOVEQ           R6, #1 094. ROM:00332DC4                 STREQ           R6, [R7,#8] 095. ROM:00332DC8                 B               loc_332E28 096. ROM:00332DCC ; --------------------------------------------------------------------------- 097. ROM:00332DCC 098. ROM:00332DCC key_part4 099. ROM:00332DCC                 LDR             R6, [R7] 100. ROM:00332DD0                 CMP             R6, #1 101. ROM:00332DD4                 LDREQ           R6, [R7,#4] 102. ROM:00332DD8                 CMPEQ           R6, #1 103. ROM:00332DDC                 LDREQ           R6, [R7,#8] 104. ROM:00332DE0                 CMPEQ           R6, #1 105. ROM:00332DE4                 LDREQ           R3, [R4,#0xC] 106. ROM:00332DE8                 EOREQ           R3, R3, R2 107. ROM:00332DEC                 MOVEQ           R6, #1 108. ROM:00332DF0                 STREQ           R6, [R7,#8] 109. ROM:00332DF4                 LDR             R4, =0x35A036 ; \"Key Generated: %s%s%s%s\" 110. ROM:00332DF8                 SUB             SP, SP, #4 111. ROM:00332DFC                 STR             R0, [SP,#0xA8+var_A8] 112. ROM:00332E00                 MOVS            R0, R4 113. ROM:00332E04                 LDR             R4, dword_332E40+4 114. ROM:00332E08                 BLX             R4 115. ROM:00332E0C                 ADD             SP, SP, #4 116. ROM:00332E10 117. ROM:00332E10 loc_332E10                              ; CODE XREF: generate_key:loc_332E10j 118. ROM:00332E10                 B               loc_332E10 119. ROM:00332E14 ; --------------------------------------------------------------------------- 120. ROM:00332E14                 CODE16 121. ROM:00332E14 122. ROM:00332E14 loc_332E14                              ; CODE XREF: generate_key+2Cj 123. ROM:00332E14                 LDR             R4, =0x35A020 ; \"key not generated\" 124. ROM:00332E16                 SUB             SP, SP, #4 125. ROM:00332E18                 STR             R0, [SP,#0xA8+var_A8] 126. ROM:00332E1A                 MOVS            R0, R4 127. ROM:00332E1C                 LDR             R4, =0x68B08D 128. ROM:00332E1E                 BLX             R4 129. ROM:00332E20                 ADD             SP, SP, #4 130. ROM:00332E22                 BLX             loc_332E28 131. ROM:00332E26                 MOVS            R0, R0 132. ROM:00332E26 ; End of function generate_key 133. ROM:00332E26 134. ROM:00332E28                 CODE32 135. ROM:00332E28 136. ROM:00332E28 loc_332E28                              ; CODE XREF: generate_key+56p 137. ROM:00332E28                                         ; generate_key+74j ... 138. ROM:00332E28                 ADD             SP, SP, #0xA0 139. ROM:00332E2C                 LDR             LR, [SP],#4 140. ROM:00332E30                 BX              LR 141. ROM:00332E30 ; --------------------------------------------------------------------------- 142. ROM:00332E34 dword_332E34    DCD 0x35A05C            ; DATA XREF: generate_key+Cr 143. ROM:00332E38 dword_332E38    DCD 0x68B08D            ; DATA XREF: generate_key+Er 144. ROM:00332E3C dword_332E3C    DCD 0x6213600           ; DATA XREF: generate_key+12r 145. ROM:00332E40 dword_332E40    DCD 0x35A036, 0x68B08D  ; DATA XREF: generate_key+C4r 146. ROM:00332E40                                         ; generate_key+D4r 147. ROM:00332E48 dword_332E48    DCD 0x35A020            ; DATA XREF: generate_key:loc_332E14r 148. ROM:00332E4C off_332E4C      DCD 0x68B08D            ; DATA XREF: generate_key+ECr 149. ROM:00332E50                 DCD 0 150. ROM:00332E50 ; ROM           ends 151. ROM:00332E50 152. ROM:00332E50                 END<\/code><\/pre>\n<\/div>\n<\/details>\n<h2>\u041e\u0442\u043b\u0438\u0447\u0438\u044f<\/h2>\n<p>\u041e\u0433\u043e\u043e\u043e! \u041f\u0435\u0440\u0432\u044b\u0439 \u0431\u043b\u0438\u043d \u043a\u043e\u043c\u043e\u043c. \u0417\u0434\u0435\u0441\u044c \u043d\u0435\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 ahex2byte. \u0411\u0435\u0437 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u0432\u0432\u043e\u0434\u0438\u043c\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435, \u043c\u044b \u0443\u0436 \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u043f\u0440\u044b\u0433\u043d\u0443\u0442\u044c \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0430\u043c \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043a\u043b\u044e\u0447\u0430. \u0422\u043e \u0435\u0441\u0442\u044c, \u0443 \u043d\u0430\u0441 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0432\u0437\u043b\u043e\u043c\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439. \u041e\u043d\u043e \u0438 \u043d\u0435 \u0434\u0443\u0440\u043d\u043e &#8212; \u0437\u0430\u0434\u0430\u0447\u043a\u0430 \u0442\u043e \u043d\u043e\u0432\u0430\u044f!<\/p>\n<p>\u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043c\u043d\u0435 \u0441\u0440\u0430\u0437\u0443 \u0431\u0440\u043e\u0441\u0438\u043b\u043e\u0441\u044c \u0432 \u0433\u043b\u0430\u0437\u0430 &#8212; <strong>\u0441\u0442\u0440\u043e\u043a\u0430 18<\/strong>. \u041a\u0430\u043a \u043c\u044b \u043f\u043e\u043c\u043d\u0438\u043c \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u044c <strong>Function Prologue<\/strong>. \u041d\u043e, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u044b \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c \u0434\u043b\u044f \u0441\u0442\u0435\u043a\u0430 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 &#8212; \u0430\u0436 \u0446\u0435\u043b\u044b\u0445 0\u044590 \u0431\u0430\u0439\u0442. \u0415\u0441\u043b\u0438 \u0431\u044b \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u043c\u0435\u043b\u0430 \u043c\u043d\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0434\u043e\u0445\u0440\u0435\u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u043d\u0443\u0442\u0440\u0438, \u044d\u0442\u043e \u0431\u044b \u0445\u043e\u0442\u044c \u043a\u0430\u043a-\u0442\u043e \u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043b\u043e \u043d\u0430 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u0446\u0438\u0444\u0440\u0443. \u042d\u0442\u043e, \u0434\u0440\u0443\u0437\u044c\u044f, \u043d\u0430\u0448 &#171;\u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u0432\u043e\u043d\u043e\u0447\u0435\u043a&#187;.<\/p>\n<p>\u041d\u0430 <strong>\u0441\u0442\u0440\u043e\u043a\u0430\u0445 138-140<\/strong> \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u0441\u0442\u0435\u043a\u0430, \u0438 \u043f\u0440\u044b\u0436\u043e\u043a \u043d\u0430 \u0430\u0434\u0440\u0435\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0437\u0430\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d \u043f\u0435\u0440\u0435\u0434 \u0432\u0445\u043e\u0434\u043e\u043c \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e generate_key. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0439\u0442, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u044b \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u043c \u0441\u0442\u0435\u043a &#8212; 0xA0. \u042d\u0442\u043e \u043d\u0430 16 \u0431\u0430\u0439\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u043b\u0438 \u0441\u0442\u0435\u043a \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0432\u0445\u043e\u0434\u0430 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u041d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u0435, \u043c\u044b \u0438\u043c\u0435\u043b\u0438 \u0440\u043e\u0432\u043d\u043e \u0442\u0430\u043a\u0443\u044e \u0436\u0435 \u0440\u0430\u0437\u043d\u0438\u0446\u0443. \u0412 \u043e\u0431\u0449\u0435\u043c, \u044d\u0442\u043e\u0442 \u043a\u0443\u0441\u043e\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043d\u0430\u043c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u0435\u043c \u0440\u043e\u0432\u043d\u043e \u0442\u0430\u043a\u0443\u044e-\u0436\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c, \u043a\u0430\u043a \u0438 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u0435 &#8212; buffer overflow. \u041d\u043e, \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043e\u0442\u0434\u0430\u0442\u044c \u043a\u043b\u044e\u0447\u0438 \u043d\u0430\u043c \u043f\u0440\u0438\u0439\u0434\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c, \u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u043e\u0449\u0440\u0435\u043d\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c.<\/p>\n<p>\u041d\u0430 <strong>\u0441\u0442\u0440\u043e\u043a\u0435 24 <\/strong>\u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 printf \u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 R3. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0434\u043b\u044f \u043a\u0430\u043a\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u043c\u044b \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u043c, \u043d\u043e \u044d\u0442\u043e, \u0443\u0436 \u043f\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0441\u0442\u043e\u0438\u0442 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \ud83d\ude42<\/p>\n<p><strong>\u0421\u0442\u0440\u043e\u043a\u0438 30-36<\/strong>. \u0417\u0434\u0435\u0441\u044c \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442\u0443 \u043e\u0442\u043b\u0438\u0447\u0438\u0439 \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f &#8212; \u0432\u0441\u0435, \u0447\u0442\u043e \u043c\u044b \u0437\u0434\u0435\u0441\u044c \u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0438 \u0432\u0432\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0441\u0442\u0435\u043a, \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043a\u043e\u0433\u0434\u0430 \u0441\u0442\u043e\u043b\u043a\u043d\u0435\u043c\u0441\u044f \u0441 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n<p><strong>\u0421\u0442\u0440\u043e\u043a\u0438 40-41<\/strong>. \u041e\u043f\u0430! \u0410 \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0434\u0432\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u041d\u0430 <strong>\u0441\u0442\u0440\u043e\u043a\u0435 40<\/strong> \u043c\u044b \u043e\u0442\u043d\u0438\u043c\u0430\u0435\u043c 0x0D \u043e\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0432\u0432\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 &#8212; \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 (\u0442\u043e\u0442 \u0436\u0435 0x0D). <strong>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u043e\u043b\u044c<\/strong>. \u0418, \u043d\u0430 <strong>\u0441\u0442\u0440\u043e\u043a\u0435 41<\/strong>, \u043c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u044d\u0442\u043e\u0442 \u043d\u043e\u043b\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0432\u043e\u0434\u0430. \u042d\u0442\u043e \u043d\u0430\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0441 \u043d\u0430 \u043c\u044b\u0441\u043b\u044c, \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u0441\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0435\u043c, \u043e\u0434\u0438\u043d \u0438\u0437 \u0431\u0430\u0439\u0442\u043e\u0432 \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0435\u0440\u043d\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u0435\u0431\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c 0\u044500. \u041e\u043f\u044f\u0442\u044c \u0436\u0435, \u0434\u0435\u0440\u0436\u0438\u043c \u0432 \u0433\u043e\u043b\u043e\u0432\u0435. \u041e\u0434\u043d\u0430\u0436\u0434\u044b \u044d\u0442\u043e \u043d\u0430\u0441 \u0441\u043f\u0430\u0441\u0435\u0442 \ud83d\ude42<\/p>\n<p>\u041d\u0443, \u0432\u043e\u0442 \u0438 \u0432\u0441\u0435. \u0412 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u043c, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u043e\u0447\u0442\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430 \u0442\u043e\u0439, \u0447\u0442\u043e \u043c\u044b \u0438\u043c\u0435\u043b\u0438 \u043d\u0430 LEVEL2. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0441\u0442\u044c \u043f\u0430\u0440\u043e\u0447\u043a\u0430 \u043d\u0435\u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0432\u0435\u0449\u0435\u0439, \u043d\u043e \u043e\u043d\u0438 \u0432\u044b\u0445\u043e\u0434\u044f\u0442 \u0437\u0430 \u0440\u0430\u043c\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0432\u0437\u043b\u043e\u043c\u0430 \u044d\u0442\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f.<\/p>\n<h2>\u0416\u0430\u043b\u043a\u0438\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438<\/h2>\n<p>\u041a\u0430\u043a \u044f \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u0443 \u043c\u0435\u043d\u044f \u0443\u0448\u043b\u043e \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0447\u0442\u043e\u0431 \u043f\u043e\u043d\u044f\u0442\u044c \u043a\u0430\u043a \u0432\u0437\u043b\u043e\u043c\u0430\u0442\u044c \u044d\u0442\u0443 \u0435\u0440\u0443\u043d\u0434\u0443. \u0414\u0440\u0443\u0437\u044c\u044f, \u043f\u0440\u043e\u0432\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 &#8212; \u0442\u043e\u0436\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043f\u0440\u043e\u0439\u0434\u0435\u043c\u0441\u044f \u043f\u043e \u0442\u0435\u043c \u0431\u0435\u0437\u0443\u0441\u043f\u0435\u0448\u043d\u044b\u043c \u0448\u0430\u0433\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b, \u043d\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0443\u0432\u0435\u043d\u0447\u0430\u043b\u0438\u0441\u044c \u0443\u0441\u043f\u0435\u0445\u043e\u043c.<\/p>\n<h4>\u041c\u0435\u043d\u044f\u0435\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443<\/h4>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u043c\u044b\u0441\u043b\u044c \u0431\u044b\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0444\u0430\u0439\u043b level_3.lod \u0432 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440, \u043d\u0430\u0439\u0442\u0438 \u043c\u0435\u0441\u0442\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u044f \u0432\u0438\u0436\u0443 \u0432 level_3.html, \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0438 \u0437\u0430\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043d\u0430 \u0434\u0438\u0441\u043a. \u042f \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f Hopper Disassembler, \u0438 \u0432\u0441\u0435 \u0442\u0430\u043a\u0438 \u043d\u0430\u0448\u0435\u043b \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e! \u041e\u0447\u0435\u043d\u044c \u0441\u0442\u0440\u0430\u043d\u043d\u043e \u0442\u043e, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u0432\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043a\u043e\u0434\u0430 \u0431\u044b\u043b\u0430 \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u043f\u043e\u0445\u043e\u0436\u0430 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u044f \u0432\u0438\u0436\u0443 \u0432 level_3.html. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u044d\u0442\u043e \u0431\u044b\u043b\u0430 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430, \u0438\u043b\u0438 \u0436\u0435 \u043b\u043e\u0433\u0438\u043a\u0430 \u043f\u0440\u043e\u0448\u0438\u0432\u0430\u043b\u044c\u0449\u0438\u043a\u0430 seaflashlin_rbs \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0422\u0430\u043a \u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435, \u0447\u0438\u0441\u0442\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432, \u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u043f\u0430\u0440\u043e\u0447\u043a\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fab\/493\/b86\/fab493b86096d3ba6676b8636e2072cb.png\" width=\"1122\" height=\"1018\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u043e, \u043a\u043e\u0433\u0434\u0430 \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f \u043f\u0440\u043e\u0448\u0438\u0442\u044c \u0434\u0438\u0441\u043a, \u0443\u0442\u0438\u043b\u0438\u0442\u0430 seaflashlin_rbs \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u043b\u0430\u0441\u044c \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439. \u0418, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438, \u043c\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c.<\/p>\n<pre><code>root@ubuntu:\/home\/user\/Desktop# .\/seaflashlin_rbs -f level_3_patch.lod -d \/dev\/sg1  ================================================================================  Seagate Firmware Download Utility v0.4.6 Build Date: Oct 26 2015  Copyright (c) 2014 Seagate Technology LLC, All Rights Reserved  Tue Mar 23 19:25:42 2021 ================================================================================ Flashing microcode file level_3_patch.lod to \/dev\/sg1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  :  ! Microcode Download to \/dev\/sg1 FAILURE!!!<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u044f \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043f\u043e\u043d\u044f\u043b \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0442\u0430\u043b\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439. \u041b\u0438\u0431\u043e \u0441\u0430\u043c\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u043b\u0438\u0431\u043e \u043d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0444\u0430\u0439\u043b\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438. \u0412 \u043e\u0431\u0449\u0435\u043c, \u0440\u0435\u0448\u0438\u043b \u043d\u0435 \u043a\u043e\u043f\u0430\u0442\u044c \u0433\u043b\u0443\u0431\u043e\u043a\u043e. \u041a\u043e\u0435-\u0433\u0434\u0435 \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u0431\u044b\u043b\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e. \u042f \u0442\u0443\u0442 \u0436\u0435 \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u043b \u044d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442.<\/p>\n<h4>\u041c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u044b\u043a\u0430\u0442\u044c \u0436\u0435\u043b\u0435\u0437\u044f\u043a\u0443?<\/h4>\n<p>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0433\u0443\u0433\u043b\u0438\u0432, \u044f \u043f\u043e\u043d\u044f\u043b \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0438\u043f (IC) \u0438\u043c\u0435\u0435\u0442 \u0442\u0430\u043a\u0443\u044e \u0448\u0442\u0443\u043a\u0443 \u043a\u0430\u043a JTAG. \u042d\u0442\u043e \u0441\u0432\u043e\u0435\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0447\u0438\u043f\u0430. \u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0443 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430, \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u0441\u044f \u0432 debug-\u0440\u0435\u0436\u0438\u043c. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e openocd \u043c\u043e\u0436\u043d\u043e &#171;\u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c&#187; debug-\u0440\u0435\u0436\u0438\u043c\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0447\u0438\u043f\u043e\u0432, \u0438 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u0440\u0442 \u0434\u043b\u044f gdb. \u0410 \u0443\u0436\u0435 \u0441 gdb \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0443\u0447\u0430\u0441\u0442\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438, \u0434\u0430 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u043b\u0438\u0442\u044c \u0432\u0441\u044e \u043f\u0430\u043c\u044f\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u0415\u0441\u043b\u0438 \u043c\u044b \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u043c \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435, \u043c\u044b \u043e\u0442\u044b\u0449\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e generate_key \u0432 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u043c \u0434\u0430\u043c\u043f\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u0438 \u043f\u043e \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0441\u0430\u043c \u0441\u043c\u043e\u0436\u0435\u043c \u043d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435 \u043a\u043b\u044e\u0447\u0438!<\/p>\n<p>\u0414\u043b\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0439 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u043f\u0430\u0440\u043e\u0447\u043a\u0430 \u043d\u044e\u0430\u043d\u0441\u043e\u0432:<\/p>\n<ul>\n<li>\n<p>\u041d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u043d\u043e\u0436\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u0437\u0430 JTAG<\/p>\n<\/li>\n<li>\n<p>\u041d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c openocd<\/p>\n<\/li>\n<\/ul>\n<p>JTAG \u044d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0445\u0438\u0442\u0440\u0430\u044f \u0432\u0435\u0449\u044c. \u041d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 \u043e\u043d \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u043d\u043e\u0436\u043a\u0430\u0445, \u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043d\u044f\u0442\u044c \u0447\u0442\u043e \u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c &#8212; \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u042d\u0442\u043e \u043d\u0430 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0430\u043a\u0430\u044f \u0432\u0435\u0449\u044c \u043a\u0430\u043a jtagulator. \u0426\u0435\u043d\u0430 \u0436\u0435\u043b\u0435\u0437\u044f\u043a\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0441\u0430\u043c\u0430 \u0437\u0430 \u0441\u0435\u0431\u044f. <a href=\"https:\/\/www.parallax.com\/product\/jtagulator\/\" rel=\"noopener noreferrer nofollow\">https:\/\/www.parallax.com\/product\/jtagulator\/<\/a><\/p>\n<p>\u041d\u0430 \u0442\u044b\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043f\u043b\u0430\u0442\u044b \u0431\u044b\u043b 38-\u043f\u0438\u043d\u043e\u0432\u044b\u0439 \u0440\u0430\u0437\u044c\u0435\u043c. \u042f \u0442\u0430\u043a \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u044c\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u044b \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0430. \u041d\u0430 \u043d\u0435\u043c \u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043d\u0430\u0448 JTAG<\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0444\u043e\u0440\u0443\u043c\u0443 hddguru.com \u0438 \u0441\u0430\u0439\u0442\u0443 spritesmods.com &#8212; \u0442\u0430\u043c \u0431\u044b\u043b\u0438 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0440\u0430\u0441\u043f\u0438\u043d\u043e\u0432\u043a\u0438 \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0433\u0430\u0439\u0434\u044b \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0441\u044f \u043a JTAG \u043d\u0430 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0434\u0438\u0441\u043a\u0430\u0445. \u0414\u043b\u044f openocd \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u043f\u043e\u0434 raspberry pi, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u043b\u0438\u0448\u044c \u043e\u043f\u0446\u0438\u044e \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u043f\u043e\u0440\u0442\u0430 \u0434\u043b\u044f gdb, \u0438 \u043d\u0435\u043c\u043d\u043e\u0436\u043a\u043e \u043e\u043f\u0438\u0441\u0430\u0432 IC (\u043c\u043e\u0436\u0435\u0442 \u0434\u0430\u0436\u0435 \u043a\u0440\u0438\u0432\u043e). \u041a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u043d\u0430 \u0440\u0430\u0437\u044c\u0435\u043c\u0435 \u0431\u044b\u043b\u0438 \u0441\u043e\u0432\u0441\u0435\u043c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435, \u0438 \u043f\u0440\u0438\u043f\u0430\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043a \u043d\u0438\u043c \u0431\u044b\u043b\u043e \u0443\u0436\u0430\u0441\u043d\u043e \u043d\u0435 \u0443\u0434\u043e\u0431\u043d\u043e. \u041f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0433\u0434\u0435 \u043a\u0430\u043a\u0430\u044f \u043d\u043e\u0436\u043a\u0430 \u0431\u044b\u043b\u043e \u0442\u044f\u0436\u0435\u043b\u043e \u0434\u043b\u044f \u0437\u0440\u0435\u043d\u0438\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0444\u043e\u0442\u043a\u0438, \u0438 \u0432\u0441\u0435 \u0440\u0430\u0437\u0443\u043a\u0440\u0430\u0441\u0438\u043b \u0441 \u043e\u0431\u0435\u0438\u0445 \u0441\u0442\u043e\u0440\u043e\u043d. <\/p>\n<details class=\"spoiler\">\n<summary>\u0420\u0430\u0437\u0443\u043a\u0440\u0430\u0448\u0435\u043d\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9c4\/851\/9c8\/9c48519c8f08a0bd915c88c7f081caaa.jpeg\" width=\"1920\" height=\"1440\"><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/397\/84f\/c1c\/39784fc1c949cb614b4d7c7a3b36dbbd.jpeg\" width=\"1920\" height=\"1440\"><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/828\/1a5\/75e\/8281a575e1eb41b0687f8a9692217669.jpeg\" width=\"1024\" height=\"768\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435, \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u043c\u043e\u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0430 \u0443\u0436\u0430\u0441\u043d\u043e. \u041a\u043e\u0435 \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u043a\u0440\u0438\u0432\u043e \u043f\u0440\u0438\u043f\u0430\u044f\u043d\u043e, \u043a\u043e\u0435 \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u043e \u0441 \u043f\u043b\u0430\u0442\u043e\u0439 \u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u043f\u0430\u0439\u043a\u0438. \u041a\u0443\u0447\u0430 female-male-female&#8230; \u041d\u043e, \u0431\u043b\u0438\u043d, \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e. \u041a\u043e\u0433\u0434\u0430 \u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b openocd, \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0447\u0438\u043f! <\/p>\n<p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f openocd \u0431\u044b\u043b\u0430 \u0431\u0435\u0437\u0432\u043e\u0437\u0432\u0440\u0430\u0442\u043d\u043e \u0443\u0442\u0435\u0440\u044f\u043d\u0430, \u043d\u043e \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043e\u0441\u0442\u0430\u043b\u0441\u044f.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d9c\/202\/d31\/d9c202d31653778e12a3d720937c05b5.jpeg\" width=\"2146\" height=\"1232\"><figcaption><\/figcaption><\/figure>\n<p>\u042f \u0443\u0432\u0438\u0434\u0435\u043b 3 \u044f\u0434\u0440\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 (JTAG tap). \u041f\u043e partnumber \u044f \u0434\u0430\u0436\u0435 \u043d\u0430\u0448\u0435\u043b \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0447\u0438\u043f\u0430, \u0438 \u043e\u043d\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u043c\u0438 \u043d\u0430 \u0442\u043e\u0442, \u0447\u0442\u043e \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u043d\u0430 \u043f\u043b\u0430\u0442\u0435. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u044d\u0442\u043e STMicroelectronics STR912.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/2a7\/531\/e9a\/2a7531e9af013e5e5f6da7a3541df351.jpeg\" width=\"429\" height=\"391\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u043e, \u043a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435 &#8212; \u0432 \u043a\u043e\u043d\u0446\u0435 \u043b\u043e\u0433\u0430 \u043e\u0442 openocd \u044f \u0443\u0432\u0438\u0434\u0435\u043b \u043e\u0448\u0438\u0431\u043a\u0438. \u041e\u043d\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043d\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u043b \u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 halt. \u041a\u0430\u043a \u044f \u044d\u0442\u043e \u043f\u043e\u043d\u044f\u043b, \u043e\u043d \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0441\u044c\u0431\u0443 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c debug-\u0440\u0435\u0436\u0438\u043c. \u0411\u0435\u0437 debug-\u0440\u0435\u0436\u0438\u043c\u0430, \u043c\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0430\u043c\u044f\u0442\u0438&#8230; \u0438 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c. \u041e\u0447\u0435\u0440\u0435\u0434\u043d\u0430\u044f \u043d\u0435\u0443\u0434\u0430\u0447\u0430 &#8212; <strong>JTAG \u0431\u044b\u043b \u0437\u0430\u043a\u0440\u044b\u0442<\/strong>.<\/p>\n<p>\u041c\u043e\u0436\u0435\u0442, \u0442\u043e\u043b\u043a\u043e\u0432\u044b\u0435 \u0440\u0435\u0431\u044f\u0442\u0430 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043f\u043e\u0434\u0441\u043a\u0430\u0436\u0443\u0442, \u0448\u0435\u043b \u043b\u0438 \u044f \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u0443\u0442\u0438, \u0442\u043e\u0442 \u043b\u0438 \u044d\u0442\u043e \u0447\u0438\u043f \u0432\u043e\u043e\u0431\u0449\u0435, \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043b\u0438 \u044f \u043f\u043e\u043d\u044f\u043b \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0435.<\/p>\n<h2>\u0420\u0435\u0448\u0430\u0435\u043c \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c\u0443<\/h2>\n<p>\u0412 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432 \u044f \u0441\u0434\u0430\u043b\u0441\u044f, \u0438 \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0448\u0430\u0442\u044c \u043a\u0430\u043a \u0435\u0441\u0442\u044c, \u0431\u0435\u0437 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u043e\u0431\u043e\u0439\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u0423\u0436 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043e\u043a \u043d\u0430\u0441\u0447\u0435\u0442 \u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0430, \u043f\u0430\u0442\u0447 \u043e\u0442 keystone \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0448\u0435\u043b \u0438\u0437 \u0433\u043e\u043b\u043e\u0432\u044b, \u0438 \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043d\u0430 <strong>\u0441\u0442\u0440\u043e\u043a\u0435 23<\/strong> &#171;SP: %x&#187; \u0432\u0441\u0435 \u043d\u0435 \u0434\u0430\u0432\u0430\u043b \u043c\u043d\u0435 \u043f\u043e\u043a\u043e\u044f. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435, \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0435\u0441\u0442\u044c \u0432 \u0437\u0430\u0434\u0430\u0447\u0435 \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f.<\/p>\n<p>\u0423 \u043c\u0435\u043d\u044f \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u043c\u044b\u0441\u043b\u044c &#8212; \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0432\u0441\u0435 \u0432\u0432\u043e\u0434\u0438\u043c\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043d\u0430 \u0441\u0442\u0435\u043a, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0441\u0430\u043c\u043e\u043c\u0443 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c ASCII \u0448\u0435\u043b\u043b\u043a\u043e\u0434 \u0438 \u0437\u0430\u0430\u0431\u044c\u044e\u0437\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431 \u043e\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u043d\u0430 \u0441\u0442\u0435\u043a. <strong>\u0422\u0435\u043c \u0441\u0430\u043c\u044b\u043c, \u043c\u044b \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u043d\u0430\u043f\u0438\u0448\u0435\u043c. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0448\u0435\u043b\u043b\u043a\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430 \u043a\u043b\u044e\u0447\u0435\u0439 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 R0, \u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043d\u0443\u0442\u044c printf<\/strong>. \u041d\u043e, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 <strong>SP, <\/strong>\u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0432\u043e\u0434\u0430 \u043d\u0430 \u0441\u0442\u0435\u043a. \u042f \u0441\u0434\u0435\u043b\u0430\u043b \u043e\u0434\u043d\u043e \u0434\u043e\u043f\u0443\u0449\u0435\u043d\u0438\u0435 &#8212; \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441 embedded \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442\u0443 \u044f\u0434\u0440\u0430, \u043d\u0435\u0442\u0443 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 &#8212; \u0432\u0441\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0430\u0434\u0440\u0435\u0441 <strong>SP <\/strong>\u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 generate_key \u0447\u0435\u0440\u0435\u0437 &#171;R&#8230;&#187; \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c \u043d\u0430 LEVEL2 \u0438 \u043d\u0430 LEVEL3.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0433\u043b\u044f\u043d\u0435\u0442\u0435 \u043d\u0430 level_2.html \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e 0x00332DCC &#8212; \u044d\u0442\u043e \u0430\u0434\u0440\u0435\u0441, \u0433\u0434\u0435 \u043c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 <strong>SP<\/strong> \u0432 R1, \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f printf \u043f\u043e \u043c\u0435\u0441\u0442\u0430\u043c, \u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0438\u043c printf &#8212; \u0442\u043e \u0435\u0441\u0442\u044c, \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441 <strong>SP<\/strong>. \u042f \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0448\u0438\u043b \u0434\u0438\u0441\u043a \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c LEVEL2 \u0438 \u0441\u0434\u0435\u043b\u0430\u043b \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u0432\u0432\u043e\u0434 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c:<\/p>\n<pre><code>R1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACC2D3300<\/code><\/pre>\n<p>\u041d\u0430 \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043e\u0442\u0432\u0435\u0442:<\/p>\n<pre><code>SP:2c7bcc.<\/code><\/pre>\n<p>\u0425\u043c, 0x002C7BCC&#8230; \u043f\u0435\u0440\u0432\u044b\u0439 0x00 \u0431\u0430\u0439\u0442 \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043e\u0442\u043d\u0438\u043c\u0435\u043c 0xD \u043e\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 (<strong>\u0441\u0442\u0440\u043e\u043a\u0438 40-41<\/strong>), 0x2C \u0438 0x7B \u044d\u0442\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0432 ASCII \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 &#8212; &#171;,&#187; \u0438 &#171;{&#171;. \u0417\u0434\u0435\u0441\u044c \u0432\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u043e. \u0410 \u0432\u043e\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0431\u0430\u0439\u0442 0xCC \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b ASCII. \u041d\u043e, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u043c\u043d\u0438\u043c, \u0432 Function Prologue (<strong>\u0441\u0442\u0440\u043e\u043a\u0430 18<\/strong>), \u043c\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u043b\u0438 \u0441\u0442\u0435\u043a (\u0443\u043c\u0435\u043d\u044c\u0448\u0430\u043b\u0438 \u0430\u0434\u0440\u0435\u0441) \u0430\u0436 \u043d\u0430 0x90 \u0431\u0430\u0439\u0442. \u0422\u043e \u0435\u0441\u0442\u044c, \u043d\u0430\u0448 \u0448\u0435\u043b\u043b\u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0448\u0438\u0440\u043e\u043a\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0431\u0430\u0439\u0442 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431 \u043e\u043d \u0431\u044b\u043b \u0432 ASCII.<\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c, \u043a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0437\u0430\u0442\u0435\u044f \u0441 \u043f\u0440\u044b\u0436\u043a\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0442\u0435\u043a <strong>\u0432\u043f\u043e\u043b\u043d\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u0430<\/strong>!<\/p>\n<p>\u041d\u043e, \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043a\u0430 &#8212; \u043c\u044b \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441 <strong>SP<\/strong> \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0410 \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0430\u0434\u0440\u0435\u0441 <strong>SP<\/strong> \u043d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0432\u043e\u0434\u0438\u043c\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u043d\u0430 \u0441\u0442\u0435\u043a. \u042d\u0442\u043e \u0438 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0448 \u0430\u0434\u0440\u0435\u0441, \u043a\u0443\u0434\u0430 \u043c\u044b \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0410 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u0435\u043a\u0430 \u0438 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0448\u0438\u043c \u0448\u0435\u043b\u043b\u043a\u043e\u0434\u043e\u043c.<\/p>\n<p>\u0411\u0435\u0440\u0435\u043c \u0432\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0432\u0441\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0441 <strong>SP<\/strong> \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 generate_key. \u0427\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043f\u0435\u0440\u043e\u043c&#8230; \u043d\u0443 \u0432\u044b \u043f\u043e\u043d\u044f\u043b\u0438. \u042f \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u043b LEVEL2 &amp; LEVEL3 \u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0432\u0441\u0435 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043b. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0444\u043e\u0442\u043e\u043a \u043e\u0442 LEVEL2 \u043d\u0435 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u043a\u0443\u0441\u043e\u043a \u043a\u043e\u0434\u0430 \u0438\u0437 level_2.html:<\/p>\n<pre><code>013. ROM:00332D00 generate_key 014. ROM:00332D00 015. ROM:00332D00 var_28          = -0x28 016. ROM:00332D00 017. ROM:00332D00                 PUSH            {R4-R7,LR} 018. ROM:00332D02                 SUB             SP, SP, #0x10 019. ROM:00332D04                 MOVS            R7, R1 020. ROM:00332D06                 MOVS            R4, R2 ... 108. ROM:00332DCC                 MOV             R1, SP 109. ROM:00332DD0                 LDR             R4, =0x35A05C ; \"SP: %x\" 110. ROM:00332DD4                 BLX             loc_332DDC 111. ROM:00332DD8                 CODE16 112. ROM:00332DD8 113. ROM:00332DD8 loc_332DD8                              ; CODE XREF: generate_key+2Ej 114. ROM:00332DD8                 LDR             R4, =0x35A020 ; \"key not generated\" 115. ROM:00332DDA                 NOP 116. ROM:00332DDC 117. ROM:00332DDC loc_332DDC                              ; CODE XREF: generate_key+C8p 118. ROM:00332DDC                                         ; generate_key+D4p 119. ROM:00332DDC                 SUB             SP, SP, #4 120. ROM:00332DDE                 STR             R0, [SP,#0x28+var_28] 121. ROM:00332DE0                 MOVS            R0, R4 123. ROM:00332DE2                 LDR             R4, =0x68B08D 124. ROM:00332DE4                 BLX             R4 125. ROM:00332DE6                 ADD             SP, SP, #4 126. ROM:00332DE8                 BLX             loc_332DEC 127. ROM:00332DE8 ; End of function generate_key 128. ROM:00332DE8 129. ROM:00332DEC                 CODE32 130. ROM:00332DEC 131. ROM:00332DEC loc_332DEC                              ; CODE XREF: generate_key+58p 132. ROM:00332DEC                                         ; generate_key+74j ... 133. ROM:00332DEC                 ADD             SP, SP, #0x20 134. ROM:00332DF0                 LDR             LR, [SP],#4 135. ROM:00332DF4                 BX              LR 136. ROM:00332DF8 137. ROM:00332DF8 ; =============== S U B R O U T I N E =======================================<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7e2\/760\/8ec\/7e27608ec5361004ac18761542c90f30.jpg\" alt=\"level_3.html\" title=\"level_3.html\" width=\"1280\" height=\"960\"><figcaption>level_3.html<\/figcaption><\/figure>\n<p>\u041d\u0430 LEVEL2 (level_2.html), \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435, \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0435 18, \u043c\u044b <strong>\u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u043c<\/strong> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 <strong>SP<\/strong> \u043d\u0430 0\u044510 \u0431\u0430\u0439\u0442. \u041d\u0430 \u0441\u0442\u0440\u043e\u043a\u0435 133 \u043c\u044b \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c <strong>\u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u044f<\/strong> 0\u044520 \u0431\u0430\u0439\u0442. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0435 134<\/p>\n<p><code>LDR LR, [SP],#4<\/code><\/p>\n<p>\u0437\u0430\u0431\u0430\u0432\u043d\u0430\u044f. \u0412 \u043d\u0435\u0439 \u043c\u044b \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u043c \u0441\u0442\u0435\u043a \u043d\u0430 4 \u0431\u0430\u0439\u0442\u0430, \u043b\u0435\u0437\u0435\u043c \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 LR. \u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 LR &#8212; \u043d\u0435 \u0432\u0430\u0436\u043d\u043e. \u0412\u0430\u0436\u043d\u043e \u043b\u0438\u0448\u044c \u0442\u043e, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 <strong>SP<\/strong> <strong>\u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u043e\u0441\u044c<\/strong> \u043d\u0430 4 \u0431\u0430\u0439\u0442\u0430.<\/p>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u0443\u044e \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0443:<\/p>\n<pre><code>0x002C7BCC + 0\u044510 = 0x002C7BDC 0x002C7BDC - 0x20 = 0x002C7BBC 0x002C7BBC - 0x04 = 0x002C7BB8<\/code><\/pre>\n<p>0x002C7BB8 \u0438 \u0435\u0441\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 SP \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0440\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 generate_key. \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0435\u043b\u0430\u0435\u043c \u0440\u0430\u0441\u0447\u0435\u0442\u044b \u0438\u0437 LEVEL3. \u0417\u0434\u0435\u0441\u044c, \u043f\u0435\u0440\u0435\u0434 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0432\u0432\u043e\u0434\u0438\u043c\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043c\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0442\u0435\u043a (<strong>\u043e\u0442\u043d\u0438\u043c\u0430\u0435\u043c<\/strong> \u0430\u0434\u0440\u0435\u0441) \u043d\u0430 0\u044590 \u0431\u0430\u0439\u0442. \u0417\u0434\u0435\u0441\u044c \u0443\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0440\u044f\u043c\u0443\u044e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0443:<\/p>\n<pre><code>0x002C7BB8 - 0\u044590 = 0x002C7B28<\/code><\/pre>\n<p>\u0418\u0442\u0430\u043a, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441, \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0448 \u0432\u0432\u043e\u0434. \u0410\u0445 \u0434\u0430, \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043e\u0431 \u0435\u0449\u0435 \u043e\u0434\u043d\u043e\u0439 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e\u0439 \u0432\u0435\u0449\u0438 &#8212; \u043d\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0432\u043e\u0434\u0438\u043c\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u044d\u0442\u043e &#171;R&#187; &#8212; \u043e\u043d \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u043e \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0430. \u0418\u0437\u0431\u0430\u0432\u0438\u0442\u0441\u044f \u043e\u0442 \u043d\u0435\u0433\u043e \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c, \u0434\u0430 \u0438 \u043d\u0430\u043c \u044d\u0442\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u041f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u043c\u043d\u043e\u0436\u043a\u043e \u0441\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0432\u043f\u0435\u0440\u0435\u0434 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e<\/p>\n<ul>\n<li>\n<p>\u0421\u0434\u0432\u0438\u0433 \u043d\u0430 1 \u0431\u0430\u0439\u0442 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441 little endian \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439. \u041f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u0448\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438\u043c\u0435\u044e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u0432 2 \u0431\u0430\u0439\u0442\u0430. \u0414\u0435\u043b\u0430\u044f \u0442\u0430\u043a\u043e\u0439 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u0441\u0434\u0432\u0438\u0433, \u043c\u044b \u0440\u0438\u0441\u043a\u0443\u0435\u043c &#171;\u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c&#187; \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b &#171;R&#187; \u043a\u0430\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438 \u043d\u0430\u0448 \u0448\u0435\u043b\u043b\u043a\u043e\u0434 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0434\u0432\u0438\u0433 \u043d\u0430 2 \u0431\u0430\u0439\u0442\u0430 \u0442\u043e\u0436\u0435 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u043e\u043c\u0443 &#8212; \u043f\u0430\u0440\u043d\u043e\u0441\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430. \u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b \u0430\u0431\u0437\u0430\u0446, \u0433\u0434\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b, \u0447\u0442\u043e \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e Branch (B) \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c Exchange (X) \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442 \u0441\u043c\u0435\u043d\u0443 \u0440\u0435\u0436\u0438\u043c\u0430. \u0415\u0441\u043b\u0438 \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u0440\u043d\u044b\u043c, \u043c\u044b \u0441\u043c\u0435\u043d\u0438\u043c \u0440\u0435\u0436\u0438\u043c \u043d\u0430 ARM, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u043c \u0438\u043c\u0435\u0442\u044c 4 \u0431\u0430\u0439\u0442\u0430 \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e. \u041f\u0438\u0441\u0430\u0442\u044c \u0448\u0435\u043b\u043b\u043a\u043e\u0434 \u043f\u043e\u0434 ASCII \u0444\u0438\u043b\u044c\u0442\u0440 \u043a\u0443\u0434\u0430 \u043f\u0440\u043e\u0449\u0435 \u0438\u043c\u0435\u044f 2 \u0431\u0430\u0439\u0442\u0430 \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e, \u0447\u0435\u043c 4 (\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u043f\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u043d\u0430 non-ASCII \u043e\u043f\u043a\u043e\u0434 \u0432 2 \u0440\u0430\u0437\u0430 \u043d\u0438\u0436\u0435). \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b, \u043b\u0443\u0447\u0448\u0435 \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 Thumb.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0434\u0432\u0438\u0433 \u043d\u0430 3 \u0431\u0430\u0439\u0442\u0430 \u044d\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u043e, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e.<\/p>\n<\/li>\n<\/ul>\n<pre><code>0x002C7B28 + 0x03 = 0x002C7B2B<\/code><\/pre>\n<p>\u041d\u0430\u0434\u043e \u0436\u0435, \u0432 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u0441\u044f \u0432 ASCII \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0431\u0430\u0439\u0442\u043e\u043c \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f 0x2B &#8212; \u044d\u0442\u043e ASCII &#171;+&#187;.<\/p>\n<p>\u0427\u0442\u043e \u0436\u0435, \u043d\u0430\u043c \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0432\u043e\u0434\u0438\u043c\u044b\u0445 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u0438\u0437 generate_key \u043d\u0430\u043f\u0440\u0430\u0432\u0438\u043b \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 0x002C7B2B. \u041f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u043d\u0430 <strong>\u0441\u0442\u0440\u043e\u043a\u0430\u0445 138-140<\/strong> \u0438\u0437 level_3.html \u043c\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u043b\u0438 \u0430\u0434\u0440\u0435\u0441 \u0441\u0442\u0435\u043a\u0430 \u043d\u0430 0xA0 (160) \u0431\u0430\u0439\u0442. \u0418, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u043b\u0438 \u0435\u0449\u0435 \u043d\u0430 4 \u0431\u0430\u0439\u0442\u0430 \u043a\u043e\u0433\u0434\u0430 \u0441\u043d\u0438\u043c\u0430\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e \u0441\u0442\u0435\u043a\u0430 \u0432 LR. <\/p>\n<p>\u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043e \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 0x0D &#8212; \u043e\u043d\u0430 \u0442\u043e\u0436\u0435 \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0432\u043e\u0434\u0430. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043e\u043d\u0430 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u0432 0x00. \u0418\u0442\u043e\u0433\u043e, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0432\u043e\u0434\u0438\u043c\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c 160 + 4 &#8212; 1 = 163. \u0410\u0434\u0440\u0435\u0441 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0431\u0430\u0439\u0442 \u0438\u0437-\u0437\u0430 <strong>little endian<\/strong> \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f 0x2B 0x7B 0x2C &#8212; ASCII &#171;,{+&#187;. \u0412 \u0438\u0442\u043e\u0433\u0435, \u0432\u0432\u0435\u0434\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0435 \u043d\u0430 \u0432\u043e\u0442 \u044d\u0442\u043e:<\/p>\n<pre><code>RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+{,<\/code><\/pre>\n<h2>\u0422\u0435\u0441\u0442\u0438\u043c \u0448\u0435\u043b\u043b\u043a\u043e\u0434<\/h2>\n<p>\u0427\u0442\u043e\u0431\u044b \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043d\u0443\u0436\u043d\u043e \u044d\u0442\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c. \u0417\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u0438 \u043d\u0443\u0436\u0435\u043d keystone assembler \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0448\u043b\u0430 \u0440\u0435\u0447\u044c \u043d\u0430 LEVEL2. \u042d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440. \u041a\u0440\u043e\u043c\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u043e\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0421-\u0448\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e, \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0435\u0435 \u043a\u0430\u043a \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0432 keyston-\u043e\u0432\u0441\u043a\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c 2\u0445, \u0438\u043b\u0438 4\u0445 (Thumb \u0438\u043b\u0438 ARM) \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u043e\u043f\u043a\u043e\u0434).<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e, \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c keystone. \u0427\u0442\u043e \u0436\u0435, \u0438\u0434\u0435\u043c \u0432 \u0440\u0435\u043f\u0443  <a href=\"https:\/\/github.com\/keystone-engine\/keystone\/blob\/master\/docs\/COMPILE-NIX.md\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/keystone-engine\/keystone<\/a>, \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c.<\/p>\n<pre><code>user@ubuntu:~\/Desktop$ git clone https:\/\/github.com\/keystone-engine\/keystone Cloning into 'keystone'... remote: Enumerating objects: 6806, done. remote: Counting objects: 100% (84\/84), done. remote: Compressing objects: 100% (66\/66), done. remote: Total 6806 (delta 18), reused 51 (delta 14), pack-reused 6722 Receiving objects: 100% (6806\/6806), 11.78 MiB | 1.84 MiB\/s, done. Resolving deltas: 100% (4617\/4617), done. user@ubuntu:~\/Desktop$ cd keystone<\/code><\/pre>\n<p>\u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0430\u0442\u0447 \u0438\u0437 LEVEL2.<\/p>\n<details class=\"spoiler\">\n<summary>0001-keystone-armv5.patch<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>user@ubuntu:\/media\/user\/LEVEL2$ cat 0001-keystone-armv5.patch From 5532e7ccbc6c794545530eb725bed548cbc1ac3e Mon Sep 17 00:00:00 2001 From: mysteriousmysteries &lt;mysteriousmysteries@redballoonsecurity.com&gt; Date: Wed, 15 Feb 2017 09:23:31 -0800 Subject: [PATCH] armv5 support  ---  llvm\/keystone\/ks.cpp | 8 ++++----  1 file changed, 4 insertions(+), 4 deletions(-)  diff --git a\/llvm\/keystone\/ks.cpp b\/llvm\/keystone\/ks.cpp index d1819f0..8c66f19 100644 --- a\/llvm\/keystone\/ks.cpp +++ b\/llvm\/keystone\/ks.cpp @@ -250,7 +250,7 @@ ks_err ks_open(ks_arch arch, int mode, ks_engine **result)       if (arch &lt; KS_ARCH_MAX) {          ks = new (std::nothrow) ks_struct(arch, mode, KS_ERR_OK, KS_OPT_SYNTAX_INTEL); - +          if (!ks) {              \/\/ memory insufficient              return KS_ERR_NOMEM; @@ -294,7 +294,7 @@ ks_err ks_open(ks_arch arch, int mode, ks_engine **result)                          TripleName = \"armv7\";                          break;                      case KS_MODE_LITTLE_ENDIAN | KS_MODE_THUMB: -                        TripleName = \"thumbv7\"; +                        TripleName = \"armv5te\";                          break;                  }  @@ -566,7 +566,7 @@ int ks_asm(ks_engine *ks,      Streamer = ks-&gt;TheTarget-&gt;createMCObjectStreamer(              Triple(ks-&gt;TripleName), Ctx, *ks-&gt;MAB, OS, CE, *ks-&gt;STI, ks-&gt;MCOptions.MCRelaxAll,              \/*DWARFMustBeAtTheEnd*\/ false); - +      if (!Streamer) {          \/\/ memory insufficient          delete CE; @@ -594,7 +594,7 @@ int ks_asm(ks_engine *ks,          return KS_ERR_NOMEM;      }      MCTargetAsmParser *TAP = ks-&gt;TheTarget-&gt;createMCAsmParser(*ks-&gt;STI, *Parser, *ks-&gt;MCII, ks-&gt;MCOptions); -    if (!TAP) { +    if (!TAP) {          \/\/ memory insufficient          delete Parser;          delete Streamer; -- 1.9.1<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u041f\u0430\u0442\u0447 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u043d\u043e \u0432 \u043d\u0435\u043c \u0443 \u043d\u0430\u0441 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u043e \u043d\u0430\u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435 llvm\/keystone\/ks.cpp. \u041f\u0430\u0442\u0447 \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 keystone \u0438 \u0432 \u043d\u0435\u043c \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u0442\u0440\u043e\u043a. \u041d\u0430\u043c \u043f\u0440\u0438\u0439\u0434\u0435\u0442\u0441\u044f \u043e\u0442\u044b\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0435\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 \u043a\u043e\u0434\u0435, \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0440\u0443\u0447\u043a\u0430\u043c\u0438. \u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u044d\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430 305 (\u0444\u0443\u043d\u043a\u0446\u0438\u044f ks_open, \u043a\u0443\u0441\u043e\u043a switch\/case, \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u0440\u0435\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 KS_MODE_LITTLE_ENDIAN | KS_MODE_THUMB). \u041c\u0435\u043d\u044f\u0435\u043c \u0441<\/p>\n<pre><code>304.                case KS_MODE_LITTLE_ENDIAN | KS_MODE_THUMB: 305.                    TripleName = \"thumbv7\"; 306.                break;<\/code><\/pre>\n<p>\u043d\u0430<\/p>\n<pre><code>304.                case KS_MODE_LITTLE_ENDIAN | KS_MODE_THUMB: 305.                    TripleName = \"armv5te\"; 306.                break;<\/code><\/pre>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043d\u0430\u043c, \u0447\u0442\u043e \u043d\u0443\u0436\u0435\u043d cmake. \u041c\u0435\u0442\u0430\u043f\u0430\u043a\u0435\u0442 build-essential \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d. \u0421\u0442\u0430\u0432\u0438\u043c \u0432\u0441\u0435 \u0447\u0435\u0440\u0435\u0437 apt get install.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0430\u043f\u043a\u0443 build \u0432 \u043a\u043e\u0440\u043d\u0435 keystone, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0435\u0435, \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0431\u0438\u043b\u0434\u0430 \u0441 \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439 \u0432\u044b\u0448\u0435.<\/p>\n<pre><code>user@ubuntu:~\/Desktop\/keystone$ mkdir build user@ubuntu:~\/Desktop\/keystone$ cd build user@ubuntu:~\/Desktop\/keystone\/build$ ..\/make-share.sh<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445. \u0412 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439, \u043d\u043e \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0435 \u0431\u044b\u043b\u043e. \u0414\u0430\u043b\u044c\u0448\u0435, \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c keystone. \u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043e\u0431 sudo &#8212; \u043c\u044b \u0432\u0435\u0434\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c. \u0410\u0445 \u0434\u0430, \u043f\u0440\u043e\u0433\u043d\u0430\u0442\u044c ldconfig &#8212; \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e!<\/p>\n<pre><code>user@ubuntu:~\/Desktop\/keystone\/build$ sudo make install user@ubuntu:~\/Desktop\/keystone\/build$ sudo ldconfig<\/code><\/pre>\n<p>\u0418\u0438\u0438\u0438, \u043d\u0430 \u044d\u0442\u043e\u043c \u0432\u0441\u0451! \u0412 \u043a\u043e\u0440\u043d\u0435 \u0443 keystone \u0435\u0441\u0442\u044c \u043f\u0430\u043f\u043e\u0447\u043a\u0430 samples. \u0422\u0430\u043c \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f keyston-\u043e\u0432\u0441\u043a\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0421-\u0448\u043d\u044b\u0439 \u0444\u0430\u0439\u043b &#8212; sample.c. \u0412 \u043d\u0435\u043c \u0435\u0441\u0442\u044c main \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043a\u0443\u0447\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 test_ks \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438. \u0415\u0441\u043b\u0438 \u043c\u044b \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043d\u0435\u043c make \u0432 \u044d\u0442\u043e\u0439 \u043f\u0430\u043f\u043a\u0435, \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a sample. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0432 \u0435\u0433\u043e &#8212; \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u043f\u0430\u0447\u043a\u0443 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u043f\u043a\u043e\u0434\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u0415\u0441\u043b\u0438 \u0432\u044b \u0443\u0432\u0438\u0434\u0435\u043b\u0438 \u044d\u0442\u043e\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u043e\u0442 sample, \u0437\u043d\u0430\u0447\u0438\u0442 \u0432\u0441\u0435 \u0441\u043e\u0431\u0440\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e.<\/p>\n<pre><code>user@ubuntu:~\/Desktop\/keystone\/build$ cd ..\/samples user@ubuntu:~\/Desktop\/keystone\/samples$ make cc -o sample sample.c -lkeystone -lstdc++ -lm user@ubuntu:~\/Desktop\/keystone\/samples$ .\/sample add eax, ecx = 66 01 c8 Assembled: 3 bytes, 1 statements  add eax, ecx = 01 c8 Assembled: 2 bytes, 1 statements ...<\/code><\/pre>\n<p>\u0414\u0430\u0431\u044b \u043d\u0435 \u043b\u043e\u043c\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b, \u043f\u0440\u043e\u0434\u0443\u0431\u043b\u0438\u0440\u0443\u0435\u043c sample.c \u0432, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, lv3.c, \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u043c \u0435\u0433\u043e \u0432 Makefile:<\/p>\n<pre><code>user@ubuntu:~\/Desktop\/keystone\/samples$ cp sample.c lv3.c<\/code><\/pre>\n<p>\u041d\u0430\u0448 Makefile \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>user@ubuntu:~\/Desktop\/keystone\/samples$ cat Makefile # Sample code for Keystone Assembler Engine (www.keystone-engine.org). # By Nguyen Anh Quynh, 2016  .PHONY: all clean  KEYSTONE_LDFLAGS = -lkeystone -lstdc++ -lm  all: \t${CC} -o lv3 lv3.c ${KEYSTONE_LDFLAGS}  clean: \trm -rf *.o lv3<\/code><\/pre>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c lv3.c, \u0438 \u0443\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u0443\u0447\u0443 \u043b\u0438\u0448\u043d\u0435\u0433\u043e \u0438\u0437 main. \u041d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u043b\u0438\u0448\u044c \u043e\u0434\u043d\u0430 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 &#8212; \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 ARM, \u0440\u0435\u0436\u0438\u043c Thumb, little endian. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430, \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u0440\u044b\u0436\u043a\u0430 \u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 R7 \u0438 R3 . \u0418\u0442\u043e\u0433\u043e\u0432\u0430\u044f main \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">int main(int argc, char **argv) {     \/\/ ARM     test_ks(KS_ARCH_ARM, KS_MODE_THUMB, \"bx r3\", 0);     test_ks(KS_ARCH_ARM, KS_MODE_THUMB, \"bx r7\", 0);     return 0; }<\/code><\/pre>\n<p>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/p>\n<pre><code>user@ubuntu:~\/Desktop\/keystone\/samples$ make &amp;&amp; .\/lv3 bx r3 = 13 ff 2f e1 Assembled: 4 bytes, 1 statements  bx r7 = 17 ff 2f e1 Assembled: 4 bytes, 1 statements<\/code><\/pre>\n<p>\u041e\u0433\u043e\u043e! \u041c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 4 \u0431\u0430\u0439\u0442\u0430 \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0432\u043c\u0435\u0441\u0442\u043e 2\u0445. \u0427\u0442\u043e \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442? \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f keystone \u043c\u043d\u0435 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430. \u041c\u044b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0443\u043a\u0430\u0437\u0430\u043b\u0438 keystone \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c Thumb \u043e\u043f\u043a\u043e\u0434\u044b, \u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0435-\u0442\u043e 4\u0445 \u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0435 \u0433. \u041f\u0430\u0442\u0447 \u0432\u043f\u043e\u043b\u043d\u0435 \u043c\u043e\u0433 \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 &#8212; \u043c\u043e\u0436\u0435\u0442 \u0440\u0435\u0431\u044f\u0442\u0430 \u0438\u0437 RedBalloonSecurity \u0445\u043e\u0442\u0435\u043b\u0438 \u0447\u0442\u043e\u0431 \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0438\u043c\u0435\u043d\u043d\u043e ARM \u0448\u0435\u043b\u043b\u043a\u043e\u0434 &#8212; \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e. \u041f\u0430\u0442\u0447 \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0435 \u0443\u0431\u0438\u0440\u0430\u0442\u044c, \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432, \u0440\u0435\u0448\u0438\u043b \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0447\u0435\u0440\u0435\u0437 big endian. \u041c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u043c\u0435\u043d\u0438\u0442\u044c main \u0432\u043e\u0442 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0435:<\/p>\n<pre><code class=\"cpp\">int main(int argc, char **argv) {     \/\/ ARM     test_ks(KS_ARCH_ARM, KS_MODE_THUMB + KS_MODE_BIG_ENDIAN, \"bx r3\", 0);     test_ks(KS_ARCH_ARM, KS_MODE_THUMB + KS_MODE_BIG_ENDIAN, \"bx r7\", 0);     return 0; }<\/code><\/pre>\n<pre><code>user@ubuntu:~\/Desktop\/keystone\/samples$ make &amp;&amp; .\/lv3 cc -o lv3 lv3.c -lkeystone -lstdc++ -lm bx r3 = 47 18 Assembled: 2 bytes, 1 statements  bx r7 = 47 38 Assembled: 2 bytes, 1 statements<\/code><\/pre>\n<p>\u0412\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u043a\u0440\u0430\u0441\u043e\u0442\u0430. \u041f\u0440\u0430\u0432\u0434\u0430 \u0442\u043e\u043b\u044c\u043a\u043e, \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0431\u0430\u0439\u0442.<\/p>\n<h4>\u041d\u0435\u0443\u0436\u0435\u043b\u0438 \u0433\u043e\u0442\u043e\u0432\u043e?<\/h4>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438? \u041c\u044b \u0432\u0432\u0435\u043b\u0438 \u0436\u0435\u043b\u0430\u0435\u043c\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0435\u0435 \u043e\u043f\u043a\u043e\u0434, \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u043b\u0438 \u044d\u0442\u043e\u0442 \u043e\u043f\u043a\u043e\u0434 ASCII \u0444\u0438\u043b\u044c\u0442\u0440. \u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043e\u043f\u043a\u043e\u0434\u044b, \u0438 \u0438\u0434\u0435\u043c \u0432\u043e\u0442 \u0441\u044e\u0434\u0430 <a href=\"http:\/\/www.asciitable.com\/\" rel=\"noopener noreferrer nofollow\">http:\/\/www.asciitable.com<\/a>. \u0415\u0449\u0435 \u0435\u0441\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0440 <a href=\"https:\/\/www.rapidtables.com\/convert\/number\/hex-to-ascii.html\" rel=\"noopener noreferrer nofollow\">https:\/\/www.rapidtables.com\/convert\/number\/hex-to-ascii.html<\/a><\/p>\n<p>\u0412 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f BX R3 \u0438\u043c\u0435\u0435\u0442 \u043e\u043f\u043a\u043e\u0434 0x18 0x47. \u0421\u0443\u0434\u044f \u043f\u043e ASCII \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u043f\u0435\u0440\u0432\u0430\u044f \u0446\u0438\u0444\u0440\u0430 \u044d\u0442\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e CANCEL. \u042f \u0443\u0436 \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u0432\u0432\u0435\u0434\u0443 \u0442\u0430\u043a\u043e\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c. \u0412\u0442\u043e\u0440\u043e\u0439 \u0441\u0438\u043c\u0432\u043e\u043b 0\u044547 \u0434\u0430\u0436\u0435 \u043d\u0435 \u0441\u043c\u043e\u0442\u0440\u0438\u043c. <strong>\u042d\u0442\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 ASCII \u0444\u0438\u043b\u044c\u0442\u0440, \u0438 \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0432 \u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0435<\/strong>.<\/p>\n<p>\u0410 \u0432\u043e\u0442 BX R7 \u0438\u043c\u0435\u0435\u0442 \u043e\u043f\u043a\u043e\u0434 0x38 0x47. \u0421\u0443\u0434\u044f \u043f\u043e ASCII \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u044d\u0442\u043e &#171;8&#187; \u0438 &#171;G&#187;. <strong>\u0412\u043e\u0442 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u0432 \u0448\u0435\u043b\u043b\u043a\u043e\u0434.<\/strong><\/p>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0432\u0441\u0435 \u043f\u043e\u043d\u044f\u043b\u0438 \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 ASCII \u0444\u0438\u043b\u044c\u0442\u0440, \u0438 \u0447\u0435\u043c \u043c\u044b \u0442\u0443\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0441\u044f \ud83d\ude42<\/p>\n<h2>\u041f\u0438\u0448\u0435\u043c<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043f\u0440\u0438\u0439\u0434\u0435\u0442\u0441\u044f, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0442\u0430\u043a\u0438 \u0441\u0438\u043b\u044c\u043d\u043e, \u043d\u0430\u043f\u0440\u044f\u0447\u044c \u043c\u043e\u0437\u0433. \u0421\u0430\u043c\u043e\u0435 \u0432\u0430\u0436\u043d\u043e\u0435, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u043c\u0435\u0442\u044c \u043d\u0430\u0448 \u0448\u0435\u043b\u043b\u043a\u043e\u0434 &#8212; \u044d\u0442\u043e \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0438\u0442\u044c printf. \u0411\u0435\u0437 \u044d\u0442\u043e\u0433\u043e, \u043c\u044b \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043d\u0438 \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u041a\u0430\u043a \u043c\u044b \u043f\u043e\u043c\u043d\u0438\u043c, \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0435 24, <strong>\u043c\u044b \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u0430\u0434\u0440\u0435\u0441 printf \u0432 R3<\/strong>, \u0438 \u044d\u0442\u043e\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043d\u0438 \u0440\u0430\u0437\u0443 \u043d\u0435 \u043c\u0435\u043d\u044f\u043b\u0441\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041c\u044b \u0443\u0436\u0435 \u043f\u044b\u0442\u0430\u043b\u0438\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e BX R3 &#8212; \u043e\u043d\u0430 \u043d\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 ASCII \u0444\u0438\u043b\u044c\u0442\u0440. \u041d\u043e, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0438\u0437 R3 \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c Branch \u043d\u0430 \u043d\u0435\u0433\u043e. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0433\u043b\u044f\u043d\u0435\u043c \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 MOV R5, R3 \u0438 BX R5 \u0432 \u0432\u0438\u0434\u0435 \u043e\u043f\u043a\u043e\u0434\u043e\u0432. \u0414\u0435\u0442\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0447\u0442\u043e \u0438 \u043a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u044f \u043d\u0435 \u0431\u0443\u0434\u0443. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0441 keystone \u0432\u0441\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c. \u0423\u043f\u0440\u043e\u0449\u0443 \u0432\u0441\u0435 \u0434\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430:<\/p>\n<pre><code>MOV R5, R3  = 0x46 0x1D  = \"F \" BX R5       = 0x28 0x47  = \"(G\"<\/code><\/pre>\n<p>\u0411\u043b\u0438\u043d, <strong>\u043f\u0435\u0440\u0432\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f, \u043a\u0430\u043a \u0438 \u0432\u0441\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 MOV, \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0443\u0442 \u0444\u0438\u043b\u044c\u0442\u0440<\/strong>. \u0425\u043c, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0434\u0443\u043c\u0430\u0435\u043c. \u041c\u043e\u0436\u0435\u0442 \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 R3 \u043a\u0443\u0434\u0430-\u0442\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u0430 \u043f\u043e\u0442\u043e\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0435\u0433\u043e \u0432 R5? \u0412\u0435\u0434\u044c, BX R5 \u043f\u0440\u043e\u0448\u043b\u0430 \u0444\u0438\u043b\u044c\u0442\u0440. \u0421\u0443\u0434\u044f \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, R7 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u044e\u0447\u0435\u0439 &#8212; \u0442\u043e \u0435\u0441\u0442\u044c, \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0430\u0434\u0440\u0435\u0441 \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u0443\u0434\u0430 \u043c\u044b, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043c\u043e\u0436\u0435\u043c \u043f\u0438\u0441\u0430\u0442\u044c. \u041a \u0447\u0435\u0440\u0442\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 &#8212; \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u0448\u0435\u043b\u043b\u043a\u043e\u0434, \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u043d\u0430\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u0430!<\/p>\n<h4>\u041f\u0435\u0440\u0432\u044b\u0439<\/h4>\n<pre><code>1. STR R3, [R7]  = 0x3B 0x60  = \";`\" 2. LDR R5, [R7]  = 0x3D 0x68  = \"=h\" 3. BX R5         = 0x28 0x47  = \"(G\"<\/code><\/pre>\n<ol>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0430\u0434\u0440\u0435\u0441 pfintf \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u043a\u0443\u0434\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 R7<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441 printf \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 R5<\/p>\n<\/li>\n<li>\n<p>\u0422\u0440\u0438\u0433\u0433\u0435\u0440\u0438\u043c printf<\/p>\n<\/li>\n<\/ol>\n<p>\u0412\u0430\u0443! \u0412\u0441\u0435 \u043e\u043f\u043a\u043e\u0434\u044b \u043f\u0440\u043e\u0439\u0434\u0443\u0442 \u0444\u0438\u043b\u044c\u0442\u0440. \u041f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u043c\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0430\u0448 \u043a\u043e\u0434 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 <strong>\u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430<\/strong>. \u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b &#8212; \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u0443\u0434\u0435\u0442 &#171;R&#187;, \u0432\u0442\u043e\u0440\u043e\u0439 &#8212; \u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u043a\u0430\u043a\u043e\u0439. \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u043c hex \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u043f\u043a\u043e\u0434\u043e\u0432 \u0432 ASCII, \u0432\u0432\u043e\u0434\u0438\u043c \u0447\u0442\u043e-\u0442\u043e \u0440\u0430\u043d\u0434\u043e\u043c\u043d\u043e\u0435 (\u0441\u043e\u0431\u043b\u044e\u0434\u0430\u0435\u043c \u043d\u0430\u0448\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432 163 \u0441\u0438\u043c\u0432\u043e\u043b\u0430), \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043f\u0438\u0448\u0435\u043c \u0430\u0434\u0440\u0435\u0441 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 &#8212; \u0442\u0443\u0434\u0430 \u0438 \u0432\u0435\u0440\u043d\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0412\u0435\u0440\u0445\u043d\u0438\u0439 \u0431\u0430\u0439\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 0x00 \u0432\u043e\u0437\u044c\u043c\u0435\u0442\u0441\u044f \u0441 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n<pre><code>F3 T&gt;R!;`=h(G!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+{, WRITE_READ_VERIFY_ENABLED LED:000000EE FAddr:002C7BB4 LED:000000EE FAddr:002C7BB4 LED:000000EE FAddr:002C7BB4<\/code><\/pre>\n<p>\u0412 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u043c\u0435\u043d\u044f \u043f\u0440\u044f\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0448\u043b\u0438 \u043c\u0443\u0440\u0430\u0448\u043a\u0438 \u043f\u043e \u043a\u043e\u0436\u0435! \u041c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043c\u0438\u043c\u043e \u043e\u0448\u0438\u0431\u043e\u043a. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e &#8212; \u043c\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043d\u0443\u043b\u0438 printf. \u0418, \u0441\u0443\u0434\u044f \u043f\u043e \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043c\u044b, \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0439 (\u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e \u043f\u0435\u0440\u0432\u043e\u043c\u0443), \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043b\u0435\u0436\u0430\u0442\u044c \u0432 R0. Ladies &amp; Gentleman, <strong>\u043c\u044b \u0432\u0438\u0434\u0438\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043b\u044e\u0447<\/strong>! \u041f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u043e\u0448\u0438\u0431\u043e\u043a FAddr \u044f \u043f\u0438\u0441\u0430\u043b \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043d\u043e \u0437\u0434\u0435\u0441\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u044e\u0441\u044c &#8212; \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0430\u0431\u044c\u044e\u0437\u0438\u043c \u0430\u0434\u0440\u0435\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430, \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f printf \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043d\u0430\u043c \u043a\u043e\u0434. \u041e\u043d \u043d\u0430\u0442\u044b\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0430\u0434\u0440\u0435\u0441, \u0433\u0434\u0435 \u043e\u043d \u0441 \u043d\u0438\u043c \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f. \u041f\u043e\u0441\u043b\u0435 \u0442\u0430\u043a\u043e\u0433\u043e &#8212; \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0431\u0443\u0442 \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430 \u043f\u043e \u043f\u0438\u0442\u0430\u043d\u0438\u044e.<\/p>\n<h4>\u0412\u0442\u043e\u0440\u043e\u0439<\/h4>\n<p>\u0414\u043b\u044f \u0432\u0441\u0435\u0445 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439 \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435. \u0417\u0434\u0435\u0441\u044c \u0432\u044b \u0432\u0438\u0434\u0438\u0442\u0435 \u0447\u0430\u0441\u0442\u0438 \u0438\u0437 level_3.html, \u0433\u0434\u0435 \u043a\u043b\u044e\u0447\u0438 \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b R1-R3:<\/p>\n<pre><code>... 079. ROM:00332D94                 LDREQ           R1, [R4,#4] 080. ROM:00332D98                 EOREQ           R1, R1, R0 ... 091. ROM:00332DB8                 LDREQ           R2, [R4,#8] 092. ROM:00332DBC                 EOREQ           R2, R2, R1 ... 105. ROM:00332DE4                 LDREQ           R3, [R4,#0xC] 106. ROM:00332DE8                 EOREQ           R3, R3, R2 ...<\/code><\/pre>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u043c, \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043b\u044e\u0447 \u0437\u0430\u0432\u0438\u0441\u0438\u043c \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 EOR. \u0418\u0437-\u0437\u0430 \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0434\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430, \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0433\u0434\u0435-\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439. \u0414\u043b\u044f \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0433\u0434\u0435-\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0442\u043e\u0440\u043e\u0439 \u0438 \u0442\u0434. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0441 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u043e\u0439 -EQ \u043d\u0435\u0442\u0443 \u0432 Thumb. \u041e\u043d\u0438 \u043d\u0430\u043c \u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u044b. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 Thumb-\u043e\u0432\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432, \u0434\u043b\u044f LDREQ \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 LDR, \u0430 \u0434\u043b\u044f EOREQ \u0435\u0441\u0442\u044c EORS (\u044d\u0442\u043e \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u0438, \u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 &#8212; \u0441\u043e\u0439\u0434\u0443\u0442).<\/p>\n<p>\u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u043b\u044e\u0447:<\/p>\n<pre><code>1. STR R3, [R7]       = 0x3B 0x60   = \";`\" 2. LDR R5, [R7]       = 0x3D 0x68   = \"=h\" 3. LDR  R1, [R4, #4]  = 0x61 0x68   = \"ah\" 4. EORS R1, R0        = 0x41 0x40   = \"A@\" 5. STR R1, [R7]       = 0x39 0x60   = \"9`\" 6. LDR R0, [R7]       = 0x38 0x68   = \"8h\" 7. BX R5              = 0x28 0x47   = \"(G\"<\/code><\/pre>\n<ol>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0430\u0434\u0440\u0435\u0441 pfintf \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u043a\u0443\u0434\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 R7<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441 printf \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 R5<\/p>\n<\/li>\n<li>\n<p>\u0413\u0440\u0443\u0437\u0438\u043c \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u043b\u044e\u0447 \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c \u0438\u0437 level_3.html \u0432 R1<\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c EORS \u0441 \u043f\u0435\u0440\u0432\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c \u0438\u0437 R0 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 R1. \u0412\u0442\u043e\u0440\u043e\u0439 \u043a\u043b\u044e\u0447 \u0433\u043e\u0442\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0435\u0433\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u043a\u0443\u0434\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 R7<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0435\u0433\u043e \u0432 R0<\/p>\n<\/li>\n<li>\n<p>\u0422\u0440\u0438\u0433\u0433\u0435\u0440\u0438\u043c printf<\/p>\n<\/li>\n<\/ol>\n<p>\u0412\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0444\u0438\u043b\u044c\u0442\u0440. \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0438 \u0440\u0430\u0434\u0443\u0435\u043c\u0441\u044f &#8212; <strong>\u0432\u043e\u0442 \u043d\u0430\u0448 \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u043b\u044e\u0447!<\/strong> <\/p>\n<pre><code>F3 T&gt;R!;`=hahA@9`8h(G!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+{, DOWNLOAD_MICROCODE_FUTURE_USE_ONLY LED:000000EE FAddr:002C7B5C LED:000000EE FAddr:002C7B5C<\/code><\/pre>\n<h4>\u0422\u0440\u0435\u0442\u0438\u0439<\/h4>\n<p>\u0414\u043b\u044f \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043a\u043b\u044e\u0447\u0430, \u0434\u0435\u043b\u0430\u0435\u043c \u043f\u043e\u0445\u043e\u0436\u0435\u0435:<\/p>\n<pre><code>1. STR R3, [R7]       = 0x3B 0x60 = \";`\" 2. LDR R5, [R7]       = 0x3D 0x68 = \"=h\" 3. LDR R1, [R4, #4]   = 0x61 0x68 = \"ah\" 4. EORS R1, R0        = 0x41 0x40 = \"A@\" 5. LDR R2, [R4, #8]   = 0xA2 0x68 = \"\u00a2h\" 6. EORS R2, R1        = 0x4A 0x40 = \"J@\" 7. STR R2, [R7]       = 0x3a 0x60 = \":`\" 8. LDR R0, [R7]       = 0x38 0x68 = \"8h\" 9. BX R5              = 0x28 0x47 = \"(G\"<\/code><\/pre>\n<p>\u041e\u043f\u0430! \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0435 5 \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u0444\u0438\u043b\u044c\u0442\u0440 \u0438\u0437-\u0437\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 &#171;\u00a2&#187;. \u041e\u043d \u0445\u043e\u0442\u044c \u0438 \u0438\u043c\u0435\u0435\u0442 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u043d\u043e \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0440\u0430\u043c\u043a\u0438 ASCII. \u0415\u0441\u043b\u0438 \u044f \u0432\u0432\u0435\u0434\u0443 \u0435\u0433\u043e \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c, \u043c\u043d\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u043c\u043e\u043b, \u0441\u0438\u043c\u0432\u043e\u043b \u043d\u0435 \u0432\u0435\u0440\u043d\u044b\u0439, \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0447\u0438\u0441\u0442\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f:<\/p>\n<pre><code>F3 T&gt; Input_Command_Error  F3 T&gt;<\/code><\/pre>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f LDR R2, [R4, #8] \u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0444\u0444\u0441\u0435\u0442 \u043e\u0442 R4 \u043d\u0430 8 \u0431\u0430\u0439\u0442, \u043b\u0435\u0437\u0435\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 R2. \u0425\u043c, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0445\u0438\u0442\u0440\u043e \u0432\u044b\u043a\u0440\u0443\u0442\u0438\u0442\u0441\u044f, \u0438 \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u0430\u0434\u0440\u0435\u0441\u0443 \u0432 R4 4 \u0431\u0430\u0439\u0442\u0430, \u0430 \u043f\u043e\u0442\u043e\u043c \u043b\u0435\u0437\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u043e\u0444\u0444\u0441\u0435\u0442\u043e\u043c \u043a\u0430\u043a \u0438 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 (\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0435 3 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 ASCII \u0444\u0438\u043b\u044c\u0442\u0440 \u043a\u0430\u043a \u0441 R1, \u0442\u0430\u043a \u0438 \u0441 R2).<\/p>\n<pre><code>ADDS R4, #4   = 0x04 0x34 = \" 4\"<\/code><\/pre>\n<p>\u0427\u0435\u0440\u0442 \u043f\u043e\u0431\u0435\u0440\u0438, \u0438\u0437-\u0437\u0430 0\u044504 \u043c\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435. \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u044c! \u041c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c 44, \u0430 \u043f\u043e\u0442\u043e\u043c \u043e\u0442\u043d\u044f\u0442\u044c 40?<\/p>\n<pre><code>ADDS R4, #44  = 0x2c 0x34 = \",4\" SUBS R4, #40  = 0x28 0x3c = \"(&lt;\"<\/code><\/pre>\n<p>\u0412\u0430\u0443! \u0414\u043e\u043b\u0436\u043d\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u0414\u0435\u043b\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u0447\u043a\u0443 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:<\/p>\n<pre><code>01. STR R3, [R7]       = 0x3B 0x60 = \";`\" 02. LDR R5, [R7]       = 0x3D 0x68 = \"=h\" 03. LDR  R1, [R4, #4]  = 0x61 0x68 = \"ah\" 04. EORS R1, R0        = 0x41 0x40 = \"A@\" 05. ADDS R4, #44       = 0x2c 0x34 = \",4\" 06. SUBS R4, #40       = 0x28 0x3c = \"(&lt;\" 07. LDR R2, [R4, #4]   = 0xA2 0x68 = \"bh\" 08. EORS R2, R1        = 0x4A 0x40 = \"J@\" 09. STR R2, [R7]       = 0x3a 0x60 = \":`\" 10. LDR R0, [R7]       = 0x38 0x68 = \"8h\" 11. BX R5              = 0x28 0x47 = \"(G\"<\/code><\/pre>\n<pre><code>F3 T&gt;R!;`=hahA@,4(&lt;bhJ@:`8h(G!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+{, TraceBufferControlFlags1_37 LED:000000EE FAddr:002C7BB4 LED:000000EE FAddr:002C7BB4<\/code><\/pre>\n<p>\u041d\u0443 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u0435\u0431\u0435! \u0423 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c. <strong>\u042d\u0442\u043e \u043d\u0430\u0448 \u0442\u0440\u0435\u0442\u0438\u0439 \u043a\u043b\u044e\u0447\u0438\u043a!<\/strong><\/p>\n<h4>\u0427\u0435\u0442\u0432\u0435\u0440\u0442\u044b\u0439<\/h4>\n<p>\u0418\u0434\u0435\u043c \u043f\u043e \u0442\u043e\u043c\u0443 \u0436\u0435 \u043f\u0443\u0442\u0438:<\/p>\n<pre><code>01. STR R3, [R7]       = 0x3B 0x60 = \";`\" 02. LDR R5, [R7]       = 0x3D 0x68 = \"=h\" 03. LDR R1, [R4, #4]   = 0x61 0x68 = \"ah\" 04. EORS R1, R0        = 0x41 0x40 = \"A@\" 05. ADDS R4, #44       = 0x2c 0x34 = \",4\" 06. SUBS R4, #40       = 0x28 0x3c = \"(&lt;\" 07. LDR R2, [R4, #4]   = 0xA2 0x68 = \"bh\" 08. EORS R2, R1        = 0x4A 0x40 = \"J@\" 09. ADDS R4, #44       = 0x30 0x34 = \",4\" 10. SUBS R4, #40       = 0x28 0x3c = \"(&lt;\" 11. LDR R3, [R4, #4]   = 0x63 0x68 = \"ch\" 12. EORS R3, R2        = 0x53 0x40 = \"S@\" 09. STR R3, [R7]       = 0x3b 0x60 = \";`\" 10. LDR R0, [R7]       = 0x38 0x68 = \"8h\" 11. BX R5              = 0x28 0x47 = \"(G\"<\/code><\/pre>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c:<\/p>\n<pre><code>F3 T&gt;R!;`=hahA@,4(&lt;bhJ@,4(&lt;chS@;`8h(G!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+{, ${SORRY_HABR_DONT_WANT_TO_LEAK_KEY} LED:000000EE FAddr:002C7BB4 LED:000000EE FAddr:002C7BB4<\/code><\/pre>\n<p>\u041d\u0443 \u0432\u043e\u0442 \u0438 \u0432\u0441\u0435. \u041c\u044b \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0432\u0441\u0435 \u043a\u043b\u044e\u0447\u0438! \u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u0432 \u0438\u0445 \u0432 1 \u0441\u0442\u0440\u043e\u043a\u0443 \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043f\u0430\u0440\u043e\u043b\u044c \u043a \u0430\u0440\u0445\u0438\u0432\u0443. \u041a\u043e\u0433\u0434\u0430 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0435\u0433\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u0432 7z, \u044f \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043e\u0448\u0438\u0431\u043a\u0443. \u041d\u043e, \u043f\u043e\u0442\u044b\u043a\u0430\u0432 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043a\u043b\u044e\u0447\u0435\u0439 \u043f\u0440\u0438 \u0441\u043e\u0432\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0441\u0442\u0440\u043e\u043a\u0438, \u044f \u0432\u0441\u0435 \u0436\u0435 \u0434\u043e\u0431\u0438\u043b\u0441\u044f \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0433\u043e. \u0423 \u043d\u0430\u0441 4 \u043a\u043b\u044e\u0447\u0430, \u0442\u043e \u0435\u0441\u0442\u044c &#8212; 16 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439. \u0422\u0430\u043a\u043e\u0435 \u0431\u0440\u0443\u0442\u0444\u043e\u0440\u0441\u0438\u0442\u0441\u044f \u0432 \u0440\u0443\u0447\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435.<\/p>\n<pre><code>user@ubuntu:\/media\/user\/LEVEL3$ 7z x final_level.lod.7z.encrypted  7-Zip [64] 17.04 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28 p7zip Version 17.04 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,8 CPUs x64)  Scanning the drive for archives: 1 file, 653959 bytes (639 KiB)  Extracting archive: final_level.lod.7z.encrypted -- Path = final_level.lod.7z.encrypted Type = 7z Physical Size = 653959 Headers Size = 151 Method = LZMA:20 7zAES Solid = - Blocks = 1   Enter password (will not be echoed): Everything is Ok  Size:       1014784 Compressed: 653959 user@ubuntu:\/media\/user\/LEVEL3$ file final_level.lod final_level.lod: data<\/code><\/pre>\n<p>\u0421\u0442\u043e\u0438\u0442 \u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0430\u0448 \u0448\u0435\u043b\u043b\u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0435\u0449\u0435 \u043a\u0440\u0443\u0447\u0435. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c format string \u0442\u0438\u043f\u0430 &#171;%s%s%s%s&#187;, \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0433\u0434\u0435-\u0442\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441 \u0447\u0435\u0440\u0435\u0437 R0, \u0430 \u0432 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043b\u044e\u0447\u0438. \u0423 \u043d\u0430\u0441 \u0446\u0435\u043b\u044b\u0445 0x90 \u0431\u0430\u0439\u0442 \u0434\u043b\u044f \u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0430. \u041d\u043e, \u0440\u0430\u0437 \u0443\u0436 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043b\u0435\u0432\u0435\u043b, \u0434\u0432\u0438\u0433\u0430\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n<h2>1337<\/h2>\n<p>\u0424\u0438\u043d\u0430\u043b\u043e\u0447\u043a\u0430. \u041f\u0440\u043e\u0448\u0438\u0432 \u0434\u0438\u0441\u043a \u0444\u0430\u0439\u043b\u043e\u043c final_level.lod \u043c\u043d\u0435 \u043e\u0442\u043a\u0440\u044b\u043b\u0441\u044f \u0440\u0430\u0437\u0434\u0435\u043b \u0434\u0438\u0441\u043a\u0430 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c 1337. \u041c\u044b \u043e\u0447\u0435\u043d\u044c \u0431\u043b\u0438\u0437\u043a\u0438 \u043a \u043d\u0430\u0433\u0440\u0430\u0434\u0435! \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0430:<\/p>\n<pre><code>user@ubuntu:\/media\/user\/1337$ file * level4_instructions.txt:   ASCII text congrats.pdf.7z.encrypted: 7-zip archive data, version 0.3<\/code><\/pre>\n<p>\u041d\u0430\u0448\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f:<\/p>\n<pre><code>user@ubuntu:\/media\/user\/1337$ cat level4_instructions.txt Almost...  Enter the following commands: 1. \/5 2. B,,,,1,1  BEE-BOOP-BAP-BOOP-BEE-BOOP<\/code><\/pre>\n<p>\u041d\u0430\u043c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0432\u0432\u0435\u0441\u0442\u0438 \u044d\u0442\u043e \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0434\u0438\u0441\u043a\u0430. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e:<\/p>\n<p><iframe id=\"608db180c7398d6d553b1d49\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/608db180c7398d6d553b1d49\" class=\"embed_video embed__content\" allowfullscreen=\"true\"><\/iframe><\/p>\n<p>\u041d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043c\u043e\u0433 \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0430\u0437\u0431\u0443\u043a\u0443 \u043c\u043e\u0440\u0437\u0435 \u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u0447\u043a\u0438 \u0438 \u0442\u0438\u0440\u0435 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u043e\u0436\u043d\u043e. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0440\u0442\u044b \u0432\u0441\u0435\u043c, \u043a\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u0441\u043e \u043c\u043d\u043e\u0439 \u0432 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0441\u044f \u0430\u0439\u0444\u043e\u043d\u043e\u0432\u0441\u043a\u0438\u043c \u0434\u0438\u043a\u0442\u043e\u0444\u043e\u043d\u043e\u043c \ud83d\ude00<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f56\/69b\/d69\/f5669bd691fc090077a594c4f7027599.jpeg\" width=\"601\" height=\"114\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e\u0447\u043a\u0438 \u0438 \u0442\u0438\u0440\u0435 \u0431\u044b\u043b\u0438 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u043c\u044b \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430. \u041d\u0430 pdf-\u043a\u0435 \u0431\u044b\u043b \u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u044b\u0439 \u0435\u0434\u0438\u043d\u043e\u0440\u043e\u0433 \u043d\u0430 \u0440\u0430\u0434\u0443\u0436\u043d\u043e\u043c \u0444\u043e\u043d\u0435, \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043e\u0444\u0438\u0441\u0430 \u0440\u0435\u0431\u044f\u0442 \u0432 NYC \u0438 email \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0440\u0435\u0448\u0438\u043b \u0434\u0438\u0441\u043a. \u0410 \u0442\u0430\u043a\u0436\u0435, <strong>\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447\u0438 \u043e\u0442 BTC \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430<\/strong> \u0441 \u043e\u0431\u0435\u0449\u0430\u043d\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0430\u0434\u043e\u0439. \u042f \u0441\u043a\u0430\u0447\u0430\u043b \u0431\u0438\u0442\u043a\u043e\u0438\u043d \u043a\u043b\u0438\u0435\u043d\u0442 Electrum, \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043b \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0430 \u0432\u0441\u0435 0.1337 BTC \u043d\u0430 \u043c\u043e\u0439 \u043a\u043e\u0448\u0435\u043b\u0435\u043a. \u0412 \u043d\u0430\u0448\u0435 \u0432\u0440\u0435\u043c\u044f, \u0431\u0435\u0437 \u043f\u0440\u0443\u0444\u043e\u0432 \u043d\u0438\u043a\u0443\u0434\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0432\u043e\u0442\u044c:<\/p>\n<p><a href=\"https:\/\/www.blockchain.com\/btc\/address\/1JKXc7mv3HLAWVZJNMMK5sMCMvMUhUyqt5\" rel=\"noopener noreferrer nofollow\">https:\/\/www.blockchain.com\/btc\/address\/1JKXc7mv3HLAWVZJNMMK5sMCMvMUhUyqt5<\/a><\/p>\n<details class=\"spoiler\">\n<summary>Congrats.pdf<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bea\/8e9\/04d\/bea8e904d2a1a13e0009115a6d2c7022.jpeg\" width=\"960\" height=\"1280\"><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<h2>\u042d\u043f\u0438\u043b\u043e\u0433<\/h2>\n<p>\u0415\u0441\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0432\u0435\u0449\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0445\u043e\u0434\u0438\u043b\u0430 \u0437\u0430 \u0440\u0430\u043c\u043a\u0438 \u044d\u0442\u0438\u0445 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439, \u043d\u043e \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u043e\u0438\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f. \u041d\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u0445 \u0434\u0438\u0441\u043a\u0430 \u0431\u044b\u043b\u043e \u043a\u0443\u0447\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043e\u0442 \u0440\u0435\u0431\u044f\u0442 \u0438\u0437 RedBalloonSecurity &#8212; pdf-\u043a\u0438 \u0438 \u0432\u0438\u0434\u043e\u0441\u044b \u0441 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439. \u041a\u0430\u043a \u043f\u043e \u043c\u043d\u0435, \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u043b\u044f \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0443\u0437\u043d\u0430\u0442\u044c \u0447\u0435\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u0438 \u0447\u0430\u0441\u0442\u044c\u044e \u043a\u0430\u043a\u043e\u0433\u043e \u043c\u0438\u0440\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0435\u043d\u0442\u0443. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043a\u0440\u0443\u0442\u043e!<\/p>\n<p>\u0414\u0440\u0443\u0437\u044c\u044f, \u044d\u0442\u043e\u0442 \u0434\u0438\u0441\u043a \u043f\u043e \u043f\u0440\u0430\u0432\u0434\u0435 \u0437\u0430\u043d\u044f\u043b \u043e\u0447\u0435\u043d\u044c \u0442\u0435\u043f\u043b\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043c\u043e\u0435\u0439 \u0436\u0438\u0437\u043d\u0438. \u0418 \u044f \u0431\u044b\u043b \u0447\u0435\u0440\u0442\u043e\u0432\u0441\u043a\u0438 \u0440\u0430\u0434 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u0441\u044f \u044d\u0442\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0441 \u0432\u0430\u043c\u0438. \u042d\u0442\u043e \u0431\u044b\u043b \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0434\u043e\u043b\u0433\u0438\u0439 \u043f\u0443\u0442\u044c. \u041a\u0430\u043a \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0432\u0437\u043b\u043e\u043c\u0430, \u0442\u0430\u043a \u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043c\u043e\u0438\u0445 \u043c\u044b\u0441\u043b\u0435\u0439 \u0438 \u0432\u043e\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0439 \u0432 \u0432\u0438\u0434\u0435 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0432\u0441\u0435\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441, \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043b\u0438 \u044f \u0440\u0430\u0431\u043e\u0442\u0443 \u0432 \u041d\u044c\u044e \u0419\u043e\u0440\u043a\u0435&#8230; \u043c\u043d\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0442\u0430\u0439\u043d\u0443 \u0430-\u043b\u044f \u0432 \u0444\u0438\u043b\u044c\u043c\u0435 &#171;\u041d\u0430\u0447\u0430\u043b\u043e&#187; \u041a\u0440\u0438\u0441\u0442\u043e\u0444\u0435\u0440\u0430 \u041d\u043e\u043b\u0430\u043d\u0430. \u042e\u043b\u0430 \u043f\u0443\u0441\u043a\u0430\u0439 \u043a\u0440\u0443\u0442\u0438\u0442\u0441\u044f, \u0430 \u0437\u0440\u0438\u0442\u0435\u043b\u044c&#8230; \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u043c \u0434\u0443\u043c\u0430\u0442\u044c, \u0432\u043e \u0441\u043d\u0435 \u044d\u0442\u043e, \u0438\u043b\u0438 \u043d\u0430\u044f\u0432\u0443.<\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u0430\u0448\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u044b \u0438 \u043b\u0430\u0439\u043a\u0438. \u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u0438\u043d\u0441\u0442\u0443 o.tkachuk, \u0445\u043e\u0442\u044f \u0431\u044b \u0438\u043d\u043e\u0433\u0434\u0430 \u0442\u044b\u043a\u0430\u0439\u0442\u0435 reddit, \u0438 \u0434\u0435\u0440\u0436\u0438\u0442\u0435 \u0441\u0432\u043e\u0438 HDD \u043f\u043e\u0434\u0430\u043b\u044c\u0448\u0435 \u043e\u0442 \u044d\u0442\u0438\u0445 \u0440\u0435\u0431\u044f\u0442. \u0412\u0441\u0435\u043c \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/553858\/\"> https:\/\/habr.com\/ru\/post\/553858\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p><a href=\"https:\/\/habr.com\/ru\/news\/t\/536740\" rel=\"noopener noreferrer nofollow\"><strong>\u041f\u043e \u043c\u043e\u0442\u0438\u0432\u0430\u043c<\/strong><\/a><strong><br \/><\/strong><a href=\"https:\/\/habr.com\/ru\/post\/549090\/\" rel=\"noopener noreferrer nofollow\"><strong>\u0427\u0430\u0441\u0442\u044c 0x00<\/strong><\/a><strong><br \/><\/strong><a href=\"https:\/\/habr.com\/ru\/post\/549578\" rel=\"noopener noreferrer nofollow\"><strong>\u0427\u0430\u0441\u0442\u044c 0x01<\/strong><\/a><strong><br \/><\/strong><a href=\"https:\/\/habr.com\/ru\/post\/553858\/\" rel=\"noopener noreferrer nofollow\"><strong>\u0427\u0430\u0441\u0442\u044c 0x02<\/strong><\/a><\/p>\n<h2>\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c<\/h2>\n<p>\u0420\u0435\u0431\u044f\u0442\u0443\u0448\u043a\u0438, \u043d\u0430\u043a\u043e\u043d\u0435\u0446! \u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u0430 \u043a\u043e \u043c\u043d\u0435, \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432, \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e, \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0449\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0447\u0435\u0440\u0442\u043e\u0432\u0441\u043a\u0438 \u0434\u043e\u043b\u0433\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u043e \u0432\u0437\u043b\u043e\u043c\u0435 \u0434\u0438\u0441\u043a\u0430 \u043e\u0442 RedBalloonSecurity. \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0432\u0430\u0441 \u0436\u0434\u0435\u0442 \u0441\u0430\u043c\u043e\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u0438\u0437 \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u0439. \u0422\u043e, \u0441 \u0447\u0435\u043c \u044f \u0431\u043e\u0440\u043e\u043b\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432, \u043d\u043e \u0437\u0430 \u0447\u0442\u043e \u0431\u044b\u043b \u043e\u0447\u0435\u043d\u044c \u0449\u0435\u0434\u0440\u043e \u0432\u043e\u0437\u043d\u0430\u0433\u0440\u0430\u0436\u0434\u0435\u043d. \u041f\u0443\u0442\u044c \u043a \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u0431\u044b\u043b \u0442\u0435\u0440\u043d\u0438\u0441\u0442, \u0438 \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u0441 \u0432 \u043d\u0435\u0433\u043e \u043f\u043e\u0441\u0432\u044f\u0442\u0438\u0442\u044c.<\/p>\n<p>\u0421\u0440\u0430\u0437\u0443 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435 \u043c\u043e\u0435\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e! \u041e\u043d\u0430 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0430 \u0434\u043e \u043c\u0435\u043b\u043e\u0447\u0435\u0439. \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432\u044b \u043f\u0440\u043e\u0447\u043b\u0438 \u0438 \u043f\u043e\u043d\u044f\u043b\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e.<\/p>\n<h2>LEVEL3<\/h2>\n<p>\u041f\u043e \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438, \u044f \u043d\u0430\u0447\u043d\u0443 \u0441 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0434\u0438\u0441\u043a\u0430:<\/p>\n<pre><code>user@ubuntu:\/media\/user\/LEVEL3$ file * level_3.html:                  HTML document, ASCII text, with very long lines level3_instructions.txt:       ASCII text final_level.lod.7z.encrypted:  7-zip archive data, version 0.3<\/code><\/pre>\n<p>\u0412\u0441\u0435 \u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u043a\u0435:<\/p>\n<ol>\n<li>\n<p>level_3.html &#8212; \u0444\u0430\u0439\u043b \u0441 \u0434\u0430\u043c\u043f\u043e\u043c \u043f\u0430\u043c\u044f\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u044e\u0447<\/p>\n<\/li>\n<li>\n<p>level3_instructions.txt &#8212; \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0447\u0442\u043e \u0438 \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c<\/p>\n<\/li>\n<li>\n<p>final_level.lod.7z.encrypted &#8212; \u0437\u0430\u043f\u0430\u0440\u043e\u043b\u0435\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043e\u043b\u0436\u043d\u043e \u043d\u0430\u0441 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u0430\u0440\u043e\u043b\u044e \u043a \u044d\u0442\u043e\u043c\u0443 \u0430\u0440\u0445\u0438\u0432\u0443<\/p>\n<\/li>\n<\/ol>\n<p>\u0422\u0435, \u043a\u0442\u043e \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 \u044d\u0442\u0438\u043c \u0446\u0438\u043a\u043b\u043e\u043c \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u0443\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u0447\u0443\u044f\u0442\u044c \u0441\u0445\u043e\u0436\u0435\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c. \u0422\u0430\u043a \u043e\u043d\u043e \u0438 \u0435\u0441\u0442\u044c. \u041c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439. \u041d\u043e, \u043d\u0435 \u0432\u0441\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e \ud83d\ude42<\/p>\n<p>\u041d\u0430\u0448\u0430 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>user@ubuntu:\/media\/user\/LEVEL3$ cat level3_instructions.txt You made it! I guess I wasn't the best intern...  Maybe this one is better?  1. Invoke the function with command R&lt;User_Input&gt; 2. Find the key you must!!!!!  level3.html provides disassembly of a memory snapshot of the key generator function.  Read this. http:\/\/phrack.org\/issues\/66\/12.html<\/code><\/pre>\n<p>\u0425\u0430-\u0445\u0430. \u041a\u0442\u043e-\u0442\u043e \u043d\u0435 \u0431\u044b\u043b \u043b\u0443\u0447\u0448\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u043e\u043c. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438 \u043b\u0435\u0436\u0438\u0442 \u0441\u0441\u044b\u043b\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0435\u0434\u0435\u0442 \u043d\u0430 \u0441\u0430\u0439\u0442 phrack.org. \u042d\u0442\u043e\u0442 \u0441\u0430\u0439\u0442 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f\u0445. \u041e\u043d \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043f\u043e\u0434 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e malware\/viruses, \u043d\u043e \u0442\u0430\u043c \u043d\u0435\u0442\u0443 \u043d\u0438 \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u043f\u043b\u043e\u0445\u043e\u0433\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0430\u0440\u044b\u0439 \u043e\u043d\u043b\u0430\u0439\u043d \u0436\u0443\u0440\u043d\u0430\u043b, \u0433\u0434\u0435 \u0443\u043c\u0435\u043b\u044c\u0446\u044b \u043f\u0438\u0448\u0443\u0442 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0447\u0442\u043e-\u0442\u043e \u0432\u0437\u043b\u043e\u043c\u0430\u0442\u044c. \u041d\u0430\u0448\u0430 \u0441\u0441\u044b\u043b\u043a\u0430 \u0432\u0435\u0434\u0435\u0442 \u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044e \u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 <strong>ASCII<\/strong> <strong>\u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0430<\/strong> \u0434\u043b\u044f ARM \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432.<\/p>\n<h2>ASCII \u0448\u0435\u043b\u043b\u043a\u043e\u0434<\/h2>\n<p>\u041e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0436\u0435 \u0442\u0430\u043a\u043e\u0435 \u0448\u0435\u043b\u043b\u043a\u043e\u0434 \u0432 \u043f\u043e\u043b\u043d\u043e\u043c \u043e\u0431\u044c\u0435\u043c\u0435, \u044f, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043d\u0435 \u0441\u043c\u043e\u0433\u0443. \u041d\u043e, \u0432 \u043c\u043e\u0435\u0439 \u0433\u043e\u043b\u043e\u0432\u0435 \u043e\u0442\u0432\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<p>\u042d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u0430\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u0415\u0441\u043b\u0438 \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u0430\u0445 &#8212; \u0438\u0445 \u043a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u043d\u0430 \u0434\u0432\u0435 \u0447\u0430\u0441\u0442\u0438:<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0430\u0431\u044c\u044e\u0437 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438. \u0422\u043e \u0435\u0441\u0442\u044c, \u044d\u0442\u043e \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a buffer overflow, race condition, use-after-free \u0438 \u0442\u0434. \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u0442\u043e\u0440\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0410 \u0432\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c &#8212; \u044d\u0442\u043e \u0443\u0436\u0435 \u0442\u043e, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439. \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u043d\u0430\u0448 \u0448\u0435\u043b\u043b\u043a\u043e\u0434. \u041e\u043d \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u044b\u043c. \u042d\u0442\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442 \u0432\u0437\u043b\u043e\u043c\u0430\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0430 \u043a\u043e\u0434 \u0434\u043b\u044f \u0441\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043c\u0430\u0439\u043d\u0438\u043d\u0433\u0430 \u043a\u0440\u0438\u043f\u0442\u044b, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 bash \u0438 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u044b \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u043a\u0435\u0442 \u043a \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u041f\u041a (\u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0448\u0435\u043b\u043b \u043d\u0430 \u0432\u0437\u043b\u043e\u043c\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043f). \u041f\u043e \u0441\u0443\u0442\u0438, \u0448\u0435\u043b\u043b\u043a\u043e\u0434 \u044d\u0442\u043e \u0442\u043e, \u0447\u0435\u043c \u043c\u044b \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u043e\u0441\u043b\u0435 \u0432\u0437\u043b\u043e\u043c\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0442\u043e\u0438\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c <strong>\u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c<\/strong>. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u0434\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u043a\u043e\u0434, \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u0432\u0437\u043b\u043e\u043c\u0430\u043d\u043d\u043e\u043c \u041f\u041a, \u0430 \u043f\u043e\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c &#8212; \u0431\u0443\u0434\u0435\u0442 \u043d\u0443 \u043f\u0440\u044f\u043c \u0441\u043e\u0432\u0441\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u043d\u044b\u043c \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u043e\u043c. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u044b\u043c \u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0443. \u0420\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0447\u0443\u0442\u044c \u043b\u0438 \u043d\u0435 \u0441\u0430\u043c\u043e\u0435 \u0432\u0430\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0427\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0440\u0430\u0437\u043c\u0435\u0440 &#8212; \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 &#171;\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432&#187; \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0439\u0442\u0438 \u043d\u0430\u0448 \u0448\u0435\u043b\u043b\u043a\u043e\u0434. \u041e\u0431 \u044d\u0442\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0437\u0436\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u044d\u0442\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0421\u0430\u043c\u0430\u044f \u0437\u043d\u0430\u0447\u0438\u043c\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 phrack.org \u044d\u0442\u043e ASCII. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430 \u043a\u0430\u043a-\u0440\u0430\u0437 \u0442\u0430\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 ASCII \u0444\u043e\u0440\u043c\u0430\u0442\u0435 (\u043d\u0430\u0448 \u0434\u0438\u0441\u043a \u043d\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 &#8212; \u043a\u0440\u043e\u043c\u0435 \u0442\u0435\u043a\u0441\u0442\u0430, \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0438 \u0446\u0438\u0444\u0440 \u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0438\u043a \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f). \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u043a \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0438\u0441\u0430\u0442\u044c \u0448\u0435\u043b\u043b\u043a\u043e\u0434, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0441\u043b\u0430 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 0x20 \u0434\u043e 0x7E. \u0418, \u043c\u0430\u043b\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0431\u0438\u0442\u044b, \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u0434\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 ASCII &#171;\u0444\u0438\u043b\u044c\u0442\u0440&#187;, \u0430 \u0434\u0440\u0443\u0433\u0430\u044f \u043d\u0435\u0442. \u0421\u0442\u0430\u0442\u044c\u044e \u043f\u0438\u0441\u0430\u043b \u0438\u0441\u0442\u0438\u043d\u043d\u044b\u0439 \u0433\u0435\u043d\u0438\u0439!<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437, \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u0444\u0430\u0439\u043b level_3.html \u0446\u0435\u043b\u0438\u043a\u043e\u043c. \u0412\u0435\u0434\u044c \u043e\u043d \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u0435.<\/p>\n<details class=\"spoiler\">\n<summary>level_3.html<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>001. ROM:00332D30 002. ROM:00332D30 ; Segment type: Pure code 003. ROM:00332D30                 AREA ROM, CODE, READWRITE, ALIGN=0 004. ROM:00332D30                 ; ORG 0x332D30 005. ROM:00332D30                 CODE16 006. ROM:00332D30 007. ROM:00332D30 ; =============== S U B R O U T I N E ======================================= 008. ROM:00332D30 009. ROM:00332D30 ; prototype: generate_key(key_part_num, integrity_validate_table, key_table) 010. ROM:00332D30 ; Function called when serial console input is 'R'. Generates key parts in R0-R3. 011. ROM:00332D30 ; The next level to reach, the key parts to print you must! 012. ROM:00332D30 013. ROM:00332D30 generate_key 014. ROM:00332D30 015. ROM:00332D30 var_A8          = -0xA8 016. ROM:00332D30 017. ROM:00332D30                 PUSH            {R4-R7,LR} 018. ROM:00332D32                 SUB             SP, SP, #0x90 019. ROM:00332D34                 MOVS            R7, R1 020. ROM:00332D36                 MOVS            R4, R2 021. ROM:00332D38                 MOVS            R5, R0 022. ROM:00332D3A                 MOV             R1, SP 023. ROM:00332D3C                 LDR             R0, =0x35A05C ; \"SP: %x\" 024. ROM:00332D3E                 LDR             R3, =0x68B08D 025. ROM:00332D40                 NOP 026. ROM:00332D42                 LDR             R1, =0x6213600 ; \"R\"... 027. ROM:00332D44                 MOV             R2, SP 028. ROM:00332D46 029. ROM:00332D46 loc_332D46                              ; CODE XREF: generate_key+22j 030. ROM:00332D46                 LDRB            R6, [R1] 031. ROM:00332D48                 ADDS            R1, R1, #1 032. ROM:00332D4A                 CMP             R6, #0xD 033. ROM:00332D4C                 BEQ             loc_332D54 034. ROM:00332D4E                 STRB            R6, [R2] 035. ROM:00332D50                 ADDS            R2, R2, #1 036. ROM:00332D52                 B               loc_332D46 037. ROM:00332D54 ; --------------------------------------------------------------------------- 038. ROM:00332D54 039. ROM:00332D54 loc_332D54                              ; CODE XREF: generate_key+1Cj 040. ROM:00332D54                 SUBS            R6, #0xD 041. ROM:00332D56                 STRB            R6, [R2] 042. ROM:00332D58                 SUBS            R5, #0x49 ; 'I' 043. ROM:00332D5A                 CMP             R5, #9 044. ROM:00332D5C                 BGT             loc_332E14 045. ROM:00332D5E                 LSLS            R5, R5, #1 046. ROM:00332D60                 ADDS            R5, R5, #6 047. ROM:00332D62                 MOV             R0, PC 048. ROM:00332D64                 ADDS            R5, R0, R5 049. ROM:00332D66                 LDRH            R0, [R5] 050. ROM:00332D68                 ADDS            R0, R0, R5 051. ROM:00332D6A                 BX              R0 052. ROM:00332D6A ; --------------------------------------------------------------------------- 053. ROM:00332D6C                 DCW 0x15 054. ROM:00332D6E                 DCW 0xA6 055. ROM:00332D70                 DCW 0xA4 056. ROM:00332D72                 DCW 0xA2 057. ROM:00332D74                 DCW 0xA0 058. ROM:00332D76                 DCW 0x9E 059. ROM:00332D78                 DCW 0x30 060. ROM:00332D7A                 DCW 0x52 061. ROM:00332D7C                 DCW 0x98 062. ROM:00332D7E                 DCW 0xE 063. ROM:00332D80 ; --------------------------------------------------------------------------- 064. ROM:00332D80 065. ROM:00332D80 key_part1 066. ROM:00332D80                 LDR             R0, [R4] 067. ROM:00332D82                 MOVS            R6, #1 068. ROM:00332D84                 STR             R6, [R7] 069. ROM:00332D86                 BLX             loc_332E28 070. ROM:00332D86 ; --------------------------------------------------------------------------- 071. ROM:00332D8A                 CODE32 072. ROM:00332D8A                 DCB    0 073. ROM:00332D8B                 DCB    0 074. ROM:00332D8C ; --------------------------------------------------------------------------- 075. ROM:00332D8C 076. ROM:00332D8C key_part2 077. ROM:00332D8C                 LDR             R6, [R7] 078. ROM:00332D90                 CMP             R6, #1 079. ROM:00332D94                 LDREQ           R1, [R4,#4] 080. ROM:00332D98                 EOREQ           R1, R1, R0 081. ROM:00332D9C                 MOVEQ           R6, #1 082. ROM:00332DA0                 STREQ           R6, [R7,#4] 083. ROM:00332DA4                 B               loc_332E28 084. ROM:00332DA8 ; --------------------------------------------------------------------------- 085. ROM:00332DA8 086. ROM:00332DA8 key_part3 087. ROM:00332DA8                 LDR             R6, [R7] 088. ROM:00332DAC                 CMP             R6, #1 089. ROM:00332DB0                 LDREQ           R6, [R7,#4] 090. ROM:00332DB4                 CMPEQ           R6, #1 091. ROM:00332DB8                 LDREQ           R2, [R4,#8] 092. ROM:00332DBC                 EOREQ           R2, R2, R1 093. ROM:00332DC0                 MOVEQ           R6, #1 094. ROM:00332DC4                 STREQ           R6, [R7,#8] 095. ROM:00332DC8                 B               loc_332E28 096. ROM:00332DCC ; --------------------------------------------------------------------------- 097. ROM:00332DCC 098. ROM:00332DCC key_part4 099. ROM:00332DCC                 LDR             R6, [R7] 100. ROM:00332DD0                 CMP             R6, #1 101. ROM:00332DD4                 LDREQ           R6, [R7,#4] 102. ROM:00332DD8                 CMPEQ           R6, #1 103. ROM:00332DDC      <\/code><\/pre>\n<\/div>\n<\/details>\n<p><\/strong><\/strong><\/p>\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-322571","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/322571","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=322571"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/322571\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=322571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=322571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=322571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}