{"id":462520,"date":"2025-06-09T03:08:20","date_gmt":"2025-06-09T03:08:20","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=462520"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=462520","title":{"rendered":"<span>\u041e\u0434\u0438\u043d \u043d\u0430 \u043e\u0434\u0438\u043d \u0441 Rust<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3e2\/6ae\/bdd\/3e26aebdd74ec609d18122b9251b5bc6.png\" width=\"1280\" height=\"720\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/3e2\/6ae\/bdd\/3e26aebdd74ec609d18122b9251b5bc6.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3e2\/6ae\/bdd\/3e26aebdd74ec609d18122b9251b5bc6.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<details class=\"spoiler\">\n<summary>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/summary>\n<div class=\"spoiler__content\">\n<p><a href=\"#1\" rel=\"noopener noreferrer nofollow\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/a><\/p>\n<p><a href=\"#2\" rel=\"noopener noreferrer nofollow\">\u0420\u043e\u0441\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u00a0Rust<\/a><\/p>\n<p><a href=\"#3\" rel=\"noopener noreferrer nofollow\">\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0432\u0435\u0440\u0441\u0430 Rust<\/a><\/p>\n<p><a href=\"#4\" rel=\"noopener noreferrer nofollow\">\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u00a0Rust<\/a><\/p>\n<p><a href=\"#5\" rel=\"noopener noreferrer nofollow\">\u0418\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b<\/a><\/p>\n<p><a href=\"#6\" rel=\"noopener noreferrer nofollow\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e<\/a><\/p>\n<p><a href=\"#7\" rel=\"noopener noreferrer nofollow\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442 \u0434\u043b\u044f\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e <\/a><\/p>\n<p><a href=\"#8\" rel=\"noopener noreferrer nofollow\">\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0431\u00a0\u043e\u0434\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0435<\/a><\/p>\n<p><a href=\"#9\" rel=\"noopener noreferrer nofollow\">\u041d\u0430\u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Boogle!?<\/a><\/p>\n<p><a href=\"#10\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/a><\/p>\n<p><a href=\"#11\" rel=\"noopener noreferrer nofollow\">Tokio\u00a0\u2014 \u043a\u0440\u0435\u0439\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439!!!<\/a><\/p>\n<p><a href=\"#12\" rel=\"noopener noreferrer nofollow\">\u0412\u044b\u0432\u043e\u0434\u044b<\/a><\/p>\n<\/div>\n<\/details>\n<hr\/>\n<p><a class=\"anchor\" name=\"1\" id=\"1\"><\/a><\/p>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u042f \u0412\u043b\u0430\u0434 \u041b\u0443\u043d\u0438\u043d, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0443\u0433\u0440\u043e\u0437 \u0432\u00a0\u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u043e\u043c \u0446\u0435\u043d\u0442\u0440\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Positive Technologies. \u0412\u00a0\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u00a0\u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c (\u0412\u041f\u041e), \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c \u043d\u0430\u00a0Rust, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0435\u0432\u0435\u0440\u0441\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c \u043d\u0430\u00a0\u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435. \u0412\u041f\u041e\u00a0\u0431\u044b\u0432\u0430\u0435\u0442 \u043a\u0430\u043a\u00a0\u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0435, \u0442\u0430\u043a \u0438 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u0432\u00a0\u0441\u0432\u043e\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0438 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 Rust. \u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e \u0434\u043b\u044f\u00a0\u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0440\u0435\u0432\u0435\u0440\u0441\u0430, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u00a0\u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0441\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f, \u0438 \u043a\u0430\u043a\u00a0\u0438\u0445 \u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u0432\u0430\u043b.<\/p>\n<blockquote>\n<p><em>\u0421\u0442\u0430\u0442\u044c\u044f \u043d\u043e\u0441\u0438\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440 \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 \u0438\u043b\u0438 \u043f\u0440\u0438\u0437\u044b\u0432\u043e\u043c \u043a \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u0440\u0430\u0432\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. \u041d\u0430\u0448\u0430 \u0446\u0435\u043b\u044c \u2014 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u043c \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0445 \u0446\u0435\u043f\u043e\u0447\u0435\u043a \u0430\u0442\u0430\u043a \u0441 \u0446\u0435\u043b\u044c\u044e \u0432\u0437\u043b\u043e\u043c\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439, \u0438 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u0442\u044c \u043e\u0431 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043c\u0438\u0440\u0443.<\/em><\/p>\n<\/blockquote>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/715\/d51\/b46\/715d51b467d629a40cd8cf1e67b360a7.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 1. \u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c!\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 1. \u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c!\" width=\"936\" height=\"634\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/715\/d51\/b46\/715d51b467d629a40cd8cf1e67b360a7.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/715\/d51\/b46\/715d51b467d629a40cd8cf1e67b360a7.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 1. \u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c!<\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"2\" id=\"2\"><\/a><\/p>\n<h2>\u0420\u043e\u0441\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 Rust<\/h2>\n<p>\u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u043d\u0435\u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0440\u0442\u043e\u0432, \u0432\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0412\u041f\u041e \u043d\u0430\u00a0Rust:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.bitdefender.com.au\/blog\/businessinsights\/hive-ransomwares-offspring-hunters-international-takes-the-stage\/\" rel=\"noopener noreferrer nofollow\">2023\u201311\u201309\u00a0\u2014 Bitdefender\u00a0\u2014 Hive Ransomware&#8217;s Offspring: Hunters International Takes the Stage<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/research.checkpoint.com\/2023\/israel-hamas-war-spotlight-shaking-the-rust-off-sysjoker\/\" rel=\"noopener noreferrer nofollow\">2023\u201311\u201323\u00a0\u2014 Check Point\u00a0\u2014 Israel\u2011Hamas War Spotlight: Shaking the Rust Off SysJoker<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/intezer.com\/blog\/research\/wildcard-evolution-of-sysjoker-cyber-threat\/\" rel=\"noopener noreferrer nofollow\">2023\u201311\u201327\u00a0\u2014 Intezer\u00a0\u2014 WildCard: The APT Behind SysJoker Targets Critical Sectors in Israel<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/cyb3rkitties.github.io\/posts\/exewho2-download-execution-payload-red-teaming\/\" rel=\"noopener noreferrer nofollow\">2023\u201312\u201304\u00a0\u2014 Alex Perotti\u00a0\u2014 ExeWho2\u00a0\u2014 A Tool from the Wild<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.seqrite.com\/blog\/operation-rusticweb-targets-indian-govt-from-rust-based-malware-to-web-service-exfiltration\/\" rel=\"noopener noreferrer nofollow\">2023\u201312\u201321\u00a0\u2014 Seqrite\u00a0\u2014 Operation RusticWeb targets Indian Govt: From Rust\u2011based malware to Web\u2011service exfiltration<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/g-les.github.io\/yara\/2024\/01\/04\/100DaysofYARA-CosmicRust.html\" rel=\"noopener noreferrer nofollow\">2024\u201301\u201304\u00a0\u2014 Greg Lesnewich\u00a0\u2014 100DaysofYARA\u00a0\u2014 CosmicRust<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.google\/threat-analysis-group\/google-tag-coldriver-russian-phishing-malware\/\" rel=\"noopener noreferrer nofollow\">2024\u201301\u201318\u00a0\u2014 Google TAG\u00a0\u2014 Russian threat group COLDRIVER expands its targeting of Western officials to include the use of malware<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/unit42.paloaltonetworks.com\/analysis-pentest-tool-splinter\/\" rel=\"noopener noreferrer nofollow\">2024\u201309\u201319\u00a0\u2014 Discovering Splinter: A First Look at a New Post\u2011Exploitation Red Team Tool<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/research.checkpoint.com\/2024\/inside-akira-ransomwares-rust-experiment\/\" rel=\"noopener noreferrer nofollow\">2024\u201312\u201303\u00a0\u2014 Inside Akira Ransomware\u201ds Rust Experiment<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u00a0\u044d\u0442\u0438\u0445 \u0440\u0435\u043f\u043e\u0440\u0442\u0430\u0445 \u043f\u0440\u043e\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043a\u00a0\u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Rust \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 threat actor \u0432\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044f\u0437\u044b\u043a\u0430 \u0434\u043b\u044f\u00a0\u0441\u0432\u043e\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043d\u043e\u00a0\u0438 \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043a\u00a0\u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u044e \u044d\u0442\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u0415\u0441\u043b\u0438 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0438, \u0434\u0440\u043e\u043f\u043f\u0435\u0440\u044b, \u0438\u043d\u0436\u0435\u043a\u0442\u043e\u0440\u044b \u0438\u043b\u0438\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f\u00a0\u0440\u0430\u0437\u0432\u0435\u0434\u043a\u0438 \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0435\u00a0\u0436\u0435\u0440\u0442\u0432\u044b, \u0432\u00a0\u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c Rust \u0441\u0442\u0430\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f\u00a0\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u044c\u0449\u0438\u043a\u043e\u0432 \u0438 C2-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u00a0\u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043d\u043e\u00a0\u0438 \u0441\u00a0\u0437\u0430\u043a\u0440\u044b\u0442\u044b\u043c\u00a0\u2014 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u044b\u0435.<\/p>\n<p><a class=\"anchor\" name=\"3\" id=\"3\"><\/a><\/p>\n<h2>\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0432\u0435\u0440\u0441\u0430 Rust<\/h2>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a\u00a0\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c\u00a0\u0431\u044b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043f\u0438\u0441\u0430\u0442\u044c, \u0432\u00a0\u0447\u0435\u043c \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0432\u0435\u0440\u0441\u0430 Rust \u0441\u00a0\u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u00a0\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441\u00a0\u0434\u0440\u0443\u0433\u0438\u043c\u0438. \u0412\u00a0\u044d\u0442\u043e\u043c \u043c\u043d\u0435 \u043e\u0442\u0447\u0430\u0441\u0442\u0438 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0438\u0437\u00a0\u0432\u043e\u0440\u043a\u0448\u043e\u043f\u0430<a href=\"https:\/\/github.com\/cxiao\/rust-reversing-workshop-northsec-2024\/tree\/main\" rel=\"noopener noreferrer nofollow\"> Reversing Rust Binaries: One step beyond strings<\/a>. \u042d\u0442\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u0432\u00a0\u043d\u0435\u0439 \u043b\u0435\u0433\u043b\u0438 \u0432\u00a0\u043e\u0441\u043d\u043e\u0432\u0443 \u043c\u043e\u0435\u0433\u043e \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u043e\u00a0\u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0432\u0435\u0440\u0441\u0430 Rust.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c46\/6ca\/1cb\/c466ca1cb1aaa58c85cd0e68e50c0292.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 2. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e Rust\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 2. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e Rust\" width=\"936\" height=\"746\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/c46\/6ca\/1cb\/c466ca1cb1aaa58c85cd0e68e50c0292.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c46\/6ca\/1cb\/c466ca1cb1aaa58c85cd0e68e50c0292.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 2. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u00a0Rust<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u043e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u0432, \u0438\u0437\u2011\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n<ul>\n<li>\n<p>\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438. Rust \u0438\u043c\u0435\u0435\u0442 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u0441\u00a0\u043c\u043e\u0449\u043d\u044b\u043c\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a\u00a0\u043f\u0430\u0442\u0442\u0435\u0440\u043d\u2011\u043c\u0430\u0442\u0447\u0438\u043d\u0433, \u0448\u0430\u0431\u043b\u043e\u043d\u044b, \u043c\u0430\u043a\u0440\u043e\u0441\u044b, \u0442\u0440\u0435\u0439\u0442\u044b. \u042d\u0442\u0438 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a\u00a0\u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u0438 \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430, \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. Rust \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u00a0\u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0435 \u043c\u0443\u0441\u043e\u0440\u0430, \u043d\u043e\u00a0\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u0433\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0437\u0430\u00a0\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0436\u0438\u0437\u043d\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a\u00a0\u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u044f\u043c, \u0447\u0442\u043e\u00a0\u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u0435\u0442 \u0430\u043d\u0430\u043b\u0438\u0437 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432\u00a0\u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0435.<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f. Rust \u043c\u043e\u0436\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u00a0\u043e\u0447\u0435\u043d\u044c \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a\u00a0\u0438\u043d\u043b\u0430\u0439\u043d\u0438\u043d\u0433\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438, \u0447\u0442\u043e\u00a0\u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u0435\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043a\u043e\u0434\u0430.<\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"4\" id=\"4\"><\/a><\/p>\n<h2>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e Rust<\/h2>\n<p>\u042d\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430\u043c \u0432\u00a0\u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0438 \u0440\u0430\u043d\u0442\u0430\u0439\u043c Rust. Rust \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438:<\/p>\n<ul>\n<li>\n<p>Cargo\u00a0\u2014 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438 Rust. \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f\u00a0\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f, \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Rust. Cargo \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u0434.<\/p>\n<\/li>\n<li>\n<p>Rustc\u00a0\u2014 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Rust, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f\u00a0\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u0434\u0430 Rust \u0432\u00a0\u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434. Cargo \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 rustc \u043f\u043e\u0434\u00a0\u043a\u0430\u043f\u043e\u0442\u043e\u043c \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>Rustup\u00a0\u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f\u00a0\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Rust. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Rust \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a\u00a0Cargo.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430:<\/p>\n<ul>\n<li>\n<p>Cargo.toml\u00a0\u2014 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u00a0\u043f\u0440\u043e\u0435\u043a\u0442\u0435: \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0432\u0435\u0440\u0441\u0438\u044e, \u0430\u0432\u0442\u043e\u0440\u0430 \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p>src\u00a0\u2014 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>src\/main.rs\u00a0\u2014 \u0432\u0445\u043e\u0434\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434.<\/p>\n<\/li>\n<li>\n<p>src\/lib.rs\u00a0\u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0442\u0438\u043f\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u00a0\u0434\u0440\u0443\u0433\u0438\u0445 \u0447\u0430\u0441\u0442\u044f\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>tests\u00a0\u2014 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0442\u0435\u0441\u0442\u044b \u0434\u043b\u044f\u00a0\u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>examples\u00a0\u2014 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bda\/ae8\/5f5\/bdaae85f51bfca0b341799e7e519147e.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 3. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 3. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\" width=\"936\" height=\"828\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/bda\/ae8\/5f5\/bdaae85f51bfca0b341799e7e519147e.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bda\/ae8\/5f5\/bdaae85f51bfca0b341799e7e519147e.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 3. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0438\u043b\u0438\u00a0\u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443, \u0432\u00a0Cargo.toml \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0438\u043f \u0441\u0431\u043e\u0440\u043a\u0438.<\/p>\n<pre><code class=\"rust\">crate-type = [\"cdylib\"] crate-type = [\"staticlib\"]<\/code><\/pre>\n<div class=\"floating-image\">\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u0449\u0438\u043a\u0430, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 &#8212;target \u043f\u0440\u0438\u00a0\u0441\u0431\u043e\u0440\u043a\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<\/div>\n<pre><code class=\"rust\">cargo build --target x86_64-unknown-linux-musl<\/code><\/pre>\n<div class=\"floating-image\">\n<p>\u0422\u0430\u043a\u0436\u0435 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u0443\u044e \u0440\u043e\u043b\u044c \u0438\u0433\u0440\u0430\u044e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n<\/div>\n<ol>\n<li>\n<p>strip\u00a0\u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u043b\u0430\u0433\u043e\u043c \u2011C strip, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430\u00a0\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0438\u0437\u00a0\u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430\u00a0\u043b\u0438\u0431\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432,\u00a0\u043b\u0438\u0431\u043e \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>opt\u2011level\u00a0\u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u043b\u0430\u0433\u043e\u043c \u2011C opt\u2011level, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430\u00a0\u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/91c\/708\/673\/91c708673c67599eac214af22624727d.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 4. \u0412\u044b\u0431\u043e\u0440 \u043f\u0440\u043e\u0444\u0438\u043b\u044f\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 4. \u0412\u044b\u0431\u043e\u0440 \u043f\u0440\u043e\u0444\u0438\u043b\u044f\" width=\"936\" height=\"870\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/91c\/708\/673\/91c708673c67599eac214af22624727d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/91c\/708\/673\/91c708673c67599eac214af22624727d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 4. \u0412\u044b\u0431\u043e\u0440 \u043f\u0440\u043e\u0444\u0438\u043b\u044f<\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"5\" id=\"5\"><\/a><\/p>\n<h2>\u0418\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u0443\u00a0\u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u00a0Rust, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0442\u0438\u043f\u0430\u0445, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u0445, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a\u00a0\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435. \u0414\u043b\u044f\u00a0\u043d\u0430\u0447\u0430\u043b\u0430, \u043a\u0430\u043a\u00a0\u0432\u00a0\u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u00a0Go, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4ed\/cfb\/3f9\/4edcfb3f9881caa22222ddf851b8d79f.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 5. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Go\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 5. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Go\" width=\"902\" height=\"258\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/4ed\/cfb\/3f9\/4edcfb3f9881caa22222ddf851b8d79f.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4ed\/cfb\/3f9\/4edcfb3f9881caa22222ddf851b8d79f.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 5. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Go<\/figcaption><\/div>\n<\/figure>\n<p>Rust, \u043a\u0430\u043a\u00a0\u0438 Go, \u0438\u043c\u0435\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434, \u0438, \u043d\u0435\u0434\u043e\u043b\u0433\u043e \u0438\u0437\u0443\u0447\u0430\u044f \u0435\u0433\u043e, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0444\u0430\u0439\u043b<a href=\"https:\/\/github.com\/rust-lang\/rust\/blob\/master\/library\/std\/src\/rt.rs#L192\" rel=\"noopener noreferrer nofollow\"> \/library\/std\/src\/rt.rs<\/a>, \u0432\u00a0\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/855\/a82\/6a6\/855a826a6362a1c4dacd7b63049b4c45.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 6. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Rust \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 6. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Rust \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435\" width=\"936\" height=\"444\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/855\/a82\/6a6\/855a826a6362a1c4dacd7b63049b4c45.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/855\/a82\/6a6\/855a826a6362a1c4dacd7b63049b4c45.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 6. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Rust \u0432\u00a0\u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u00a0IDA Pro \u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/66b\/09a\/df8\/66b09adf8bea5a950a00d3f6d6c1bc63.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 7. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Rust \u0432 IDA Pro\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 7. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Rust \u0432 IDA Pro\" width=\"754\" height=\"102\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/66b\/09a\/df8\/66b09adf8bea5a950a00d3f6d6c1bc63.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/66b\/09a\/df8\/66b09adf8bea5a950a00d3f6d6c1bc63.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 7. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Rust \u0432\u00a0IDA Pro<\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"6\" id=\"6\"><\/a><\/p>\n<h3>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e<\/h3>\n<p>\u041d\u0430\u00a0\u043e\u0434\u043d\u043e\u043c \u0438\u0437\u00a0\u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u0432\u00a0\u0431\u044b\u043b \u043d\u0430\u0439\u0434\u0435\u043d \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430\u00a0\u2014 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442. \u0418 \u043f\u043e\u00a0\u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0412\u041f\u041e\u00a0\u2014 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a (loader).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ada\/9a8\/6a6\/ada9a86a6fa81173f0ce84fe9fad8649.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 8. \u0421\u0442\u0440\u043e\u043a\u0438 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 8. \u0421\u0442\u0440\u043e\u043a\u0438 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430\" width=\"936\" height=\"184\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/ada\/9a8\/6a6\/ada9a86a6fa81173f0ce84fe9fad8649.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ada\/9a8\/6a6\/ada9a86a6fa81173f0ce84fe9fad8649.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 8. \u0421\u0442\u0440\u043e\u043a\u0438 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u00a0\u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441\u00a0\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u043e\u043c, \u044d\u0442\u043e \u043e\u0433\u0440\u043e\u043c\u043d\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u00a0\u0443\u0436\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043e\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u0412\u041f\u041e \u0447\u0442\u043e\u2011\u0442\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442. <\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/575\/2f9\/ce7\/5752f9ce7bfe1a5e0afe8b438562186a.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 9. \u0421\u0435\u043a\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 9. \u0421\u0435\u043a\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443\" width=\"936\" height=\"82\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/575\/2f9\/ce7\/5752f9ce7bfe1a5e0afe8b438562186a.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/575\/2f9\/ce7\/5752f9ce7bfe1a5e0afe8b438562186a.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 9. \u0421\u0435\u043a\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443<\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"7\" id=\"7\"><\/a><\/p>\n<h2>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e<\/h2>\n<p>\u0421\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c, \u0447\u0442\u043e\u00a0IDA Pro \u0438\u043c\u0435\u0435\u0442<a href=\"https:\/\/github.com\/timetravelthree\/IDARustDemangler\" rel=\"noopener noreferrer nofollow\"> \u043f\u043b\u0430\u0433\u0438\u043d<\/a> \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0Rust, \u043d\u043e\u00a0\u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430\u00a0\u2014 \u044d\u0442\u043e \u0434\u0435\u043c\u0430\u043d\u0433\u043b\u0438\u043d\u0433 (\u043e\u0442 \u0430\u043d\u0433\u043b. demangling) \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u0441\u0435\u00a0\u0436\u0435 \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430<a href=\"https:\/\/github.com\/N0fix\/rustbinsign\/\" rel=\"noopener noreferrer nofollow\"> rustbinsign<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u00a0\u043d\u0430\u0441 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u0440\u0430\u0431\u043e\u0442\u044b. \u042d\u0442\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 (\u043a\u0440\u0435\u0439\u0442\u044b, \u043e\u0442\u00a0\u0430\u043d\u0433\u043b. crate) \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 Rust, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u0441\u0431\u043e\u0440\u043a\u0443 (\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f\u00a0Rust) \u0434\u043b\u044f\u00a0\u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 (\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0443\u00a0\u043d\u0430\u0441 \u043d\u0443\u0436\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u0437\u00a0SDK IDA Pro). \u0415\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u0438\u0436\u0435.<\/p>\n<pre><code class=\"rust\">pip install rustbinsign rustbinsign info &lt;sample&gt;<\/code><\/pre>\n<p>\u0421\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 info \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u043a\u0440\u0435\u0439\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432\u00a0\u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u043e\u043c \u0440\u0430\u043d\u0435\u0435 \u0412\u041f\u041e.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/74c\/7bd\/ae4\/74c7bdae4d9da8472ab6d25d431a1d3a.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 10. \u0412\u044b\u0432\u043e\u0434 rustbinsign\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 10. \u0412\u044b\u0432\u043e\u0434 rustbinsign\" width=\"936\" height=\"290\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/74c\/7bd\/ae4\/74c7bdae4d9da8472ab6d25d431a1d3a.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/74c\/7bd\/ae4\/74c7bdae4d9da8472ab6d25d431a1d3a.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 10. \u0412\u044b\u0432\u043e\u0434 rustbinsign<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u00a0\u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0441\u00a0\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u043c\u0438 \u0440\u0430\u043d\u0435\u0435, \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e\u0431\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043a\u0440\u0435\u0439\u0442\u0430\u0445 \u043c\u044b \u043d\u0435\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u043c \u043d\u0430\u0448 \u0432\u044b\u0432\u043e\u0434 \u043e\u00a0\u043a\u043b\u0430\u0441\u0441\u0435 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e (\u043a\u0440\u0435\u0439\u0442 memmap2), \u043d\u043e\u00a0\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u044b \u0441\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 AES \u0432\u00a0\u0440\u0435\u0436\u0438\u043c\u0435 CFB, \u0438 \u043f\u0440\u0438\u00a0\u044d\u0442\u043e\u043c \u043c\u044b \u043d\u0435\u00a0\u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u043d\u0438 \u043c\u0438\u043d\u0443\u0442\u044b \u043d\u0430\u00a0\u0430\u043d\u0430\u043b\u0438\u0437 \u043a\u043e\u0434\u0430!<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435\u2011\u0442\u0430\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 \u0438\u0437\u00a0\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f <a href=\"https:\/\/github.com\/N0fix\/rust-std-sigs\" rel=\"noopener noreferrer nofollow\">rust\u2011std\u2011sigs<\/a>, \u0430\u00a0\u0435\u0449\u0435 \u0441\u043a\u0440\u0438\u043f\u0442<a href=\"https:\/\/github.com\/N0fix\/IDA_rust_metadata_finder\" rel=\"noopener noreferrer nofollow\"> IDA_rust_metadata_finder<\/a>. \u042d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0438 \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0435 \u00ab\u043f\u0430\u043d\u0438\u043a\u0438\u00bb (\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0431\u00a0\u043e\u0448\u0438\u0431\u043a\u0430\u0445), \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0432\u00a0\u0446\u0435\u043b\u0435\u0432\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0435.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/868\/571\/fdb\/868571fdbd34c9f99d1894a76e4aef80.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 11. \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 FLIRT-\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b IDA_rust_metadata_finder\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 11. \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 FLIRT-\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b IDA_rust_metadata_finder\" width=\"936\" height=\"584\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/868\/571\/fdb\/868571fdbd34c9f99d1894a76e4aef80.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/868\/571\/fdb\/868571fdbd34c9f99d1894a76e4aef80.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 11. \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b IDA_rust_metadata_finder<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 rustbinsign, \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 help.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b82\/5a1\/4fd\/b825a14fdbe4ab9dace8210e75053c5f.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 12. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 help\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 12. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 help\" width=\"936\" height=\"126\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/b82\/5a1\/4fd\/b825a14fdbe4ab9dace8210e75053c5f.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b82\/5a1\/4fd\/b825a14fdbe4ab9dace8210e75053c5f.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 12. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 help<\/figcaption><\/div>\n<\/figure>\n<p>\u0417\u0430\u0431\u0435\u0433\u0430\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0432\u043f\u0435\u0440\u0435\u0434, \u0434\u043e\u0431\u0430\u0432\u043b\u044e, \u0447\u0442\u043e\u00a0\u0434\u043b\u044f\u00a0\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f\u00a0\u0444\u0430\u0439\u043b\u043e\u0432, \u0441\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/www.musl-libc.org\/how.html\" rel=\"noopener noreferrer nofollow\">musl<\/a>, \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430.<\/p>\n<pre><code class=\"rust\">sudo apt install musl-tools sudo snap install rustup --classic rustup default stable rustup target add x86_64-unknown-linux-musl  rustbinsign -l DEBUG get_std_lib 1.70.0-x86_64-unknown-linux-musl<\/code><\/pre>\n<p>\u042d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 rustbinsign \u0441\u043e\u0431\u0435\u0440\u0435\u0442 \u0434\u043b\u044f\u00a0\u043d\u0430\u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 musl. \u0421\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u043e\u00a0\u0438 \u0432\u0441\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u00a0\u0432\u0438\u0434\u0435 \u0444\u0430\u0439\u043b\u043e\u0432.so, c \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b. \u0414\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c<a href=\"https:\/\/github.com\/mandiant\/flare-ida\/blob\/master\/python\/flare\/idb2pat.py\" rel=\"noopener noreferrer nofollow\"> idb2pat.py<\/a> \u0434\u043b\u044f\u00a0\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430.pat. \u041a\u0442\u043e \u043d\u0435\u00a0\u0437\u043d\u0430\u0435\u0442, \u043a\u0430\u043a\u00a0\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0431\u00a0\u044d\u0442\u043e\u043c<a href=\"https:\/\/habr.com\/ru\/articles\/509148\/\" rel=\"noopener noreferrer nofollow\"> \u0437\u0434\u0435\u0441\u044c<\/a>, \u0430\u00a0\u0434\u043b\u044f\u00a0\u0442\u0435\u0445, \u043a\u0442\u043e \u0443\u0436\u0435 \u044d\u0442\u0438\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u0438 \u043a\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0439 \u0432\u00a0\u0444\u0430\u0439\u043b\u0435.exc, \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e \u0441\u043a\u0440\u0438\u043f\u0442. \u0421\u043a\u0440\u0438\u043f\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0444\u0430\u0439\u043b.exc, \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f + \u0434\u043b\u044f\u00a0\u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u0435\u0440\u0432\u043e\u0439 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0438. \u0418 \u043f\u043e\u043c\u043d\u0438\u0442\u0435\u00a0\u2014 FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u043d\u0435\u00a0\u043f\u0430\u043d\u0430\u0446\u0435\u044f!<\/p>\n<pre><code class=\"rust\">import sys  with open(sys.argv[1], 'r') as f:     d = f.read()  s = d.split('\\n')  for i in range(len(s)):     if s[i] == '' and (i + 1) &lt; len(s):         s[i+1] = '+' + s[i+1]         s[i] += '\\n'     else:         s[i] += '\\n'  file1 = open(sys.argv[1], 'w') file1.writelines(s) file1.close()<\/code><\/pre>\n<p><a class=\"anchor\" name=\"8\" id=\"8\"><\/a><\/p>\n<h2>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0435<\/h2>\n<p>\u0418 \u0432\u043e\u0442 \u043d\u0430\u0441\u0442\u0430\u043b \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435, \u043e\u00a0\u0447\u0435\u043c \u044f \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b \u0440\u0430\u043d\u0435\u0435, \u043d\u0435\u00a0\u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e. \u041d\u043e\u00a0\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u00a0\u043f\u043e\u0440\u044f\u0434\u043a\u0443. \u041d\u0430\u00a0\u043e\u0434\u043d\u043e\u043c \u0438\u0437\u00a0\u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u0432 \u043d\u0430\u00a0\u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0445\u043e\u0441\u0442\u0435\u00a0\u0436\u0435\u0440\u0442\u0432\u044b\u00a0\u0431\u044b\u043b \u043d\u0430\u0439\u0434\u0435\u043d \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 elf\u2011\u0444\u0430\u0439\u043b, \u0441\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u043f\u043e\u00a0\u0441\u0435\u0442\u0438. \u0417\u0430\u0434\u0430\u0447\u0430: \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0412\u041f\u041e \u0438 \u043f\u043e\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u0421\u043f\u0443\u0441\u0442\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u043e\u0432 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0412\u041f\u041e \u044f \u043f\u0440\u0438\u0445\u043e\u0436\u0443 \u043a\u00a0\u0432\u044b\u0432\u043e\u0434\u0443: \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e\u00a0\u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u00a0\u043f\u043e\u043d\u044f\u0442\u043d\u043e.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/136\/448\/c4a\/136448c4a259de277fe6ca3fa3a6ab44.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 13. \u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 13. \u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e\" width=\"754\" height=\"760\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/136\/448\/c4a\/136448c4a259de277fe6ca3fa3a6ab44.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/136\/448\/c4a\/136448c4a259de277fe6ca3fa3a6ab44.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 13. \u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e\u00a0\u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u00a0\u043f\u043e\u043d\u044f\u0442\u043d\u043e<\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"9\" id=\"9\"><\/a><\/p>\n<h3>\u041d\u0430\u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Boogle!?<\/h3>\n<p>\u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u00a0\u0440\u0430\u0437 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b (\u0438 \u0432\u00a0\u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b),\u00a0\u2014 \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 google for binary (aka Boogle). \u041d\u0430\u00a0\u043d\u0430\u0448\u0435 \u0441\u0447\u0430\u0441\u0442\u044c\u0435, \u0432\u00a0\u0441\u0435\u043c\u043f\u043b\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0440\u0430\u0437\u0443 \u0431\u0440\u043e\u0441\u0438\u043b\u0441\u044f \u043c\u043d\u0435 \u0432\u00a0\u0433\u043b\u0430\u0437\u0430, \u0438 \u043f\u043e\u0438\u0441\u043a \u043f\u043e\u00a0\u043d\u0435\u043c\u0443 \u0434\u0430\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442! \u041d\u0430\u0448 \u0441\u0435\u043c\u043f\u043b\u00a0\u2014 \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 elf\u2011\u0444\u0430\u0439\u043b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430\u00a0Rust \u0438 \u0441\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e musl.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/86f\/26d\/ec4\/86f26dec4e36db94fd3ba30205530bb3.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 14. \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f Rust \u0438 musl\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 14. \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f Rust \u0438 musl\" width=\"936\" height=\"268\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/86f\/26d\/ec4\/86f26dec4e36db94fd3ba30205530bb3.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/86f\/26d\/ec4\/86f26dec4e36db94fd3ba30205530bb3.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 14. \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f Rust \u0438 musl<\/figcaption><\/div>\n<\/figure>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u044f rustbinsign \u0441\u00a0\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c info, \u043a\u0430\u043a\u00a0\u0434\u0435\u043b\u0430\u043b \u044d\u0442\u043e \u0440\u0430\u043d\u0435\u0435, \u043d\u0435\u00a0\u043e\u0436\u0438\u0434\u0430\u043b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443, \u043d\u043e\u00a0\u043e\u043d\u0430\u00a0\u0431\u044b\u043b\u0430.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/86f\/9b5\/936\/86f9b59365f03765a0797381f49c8dfd.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 15. Rustbinsign \u0432\u044b\u0434\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 15. Rustbinsign \u0432\u044b\u0434\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443\" width=\"936\" height=\"276\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/86f\/9b5\/936\/86f9b59365f03765a0797381f49c8dfd.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/86f\/9b5\/936\/86f9b59365f03765a0797381f49c8dfd.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 15. Rustbinsign \u0432\u044b\u0434\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u0438\u0441\u043a \u043f\u043e\u00a0\u0441\u0442\u0440\u043e\u043a\u0430\u043c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u043b \u043c\u043e\u0438 \u0434\u043e\u0433\u0430\u0434\u043a\u0438, \u043f\u043e\u0447\u0435\u043c\u0443 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043d\u0435\u00a0\u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430. \u041d\u0438\u043a\u0430\u043a\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u00a0\u0431\u044b\u043b\u043e, \u043a\u0443\u0434\u0430 \u043e\u043d\u0430 \u0434\u0435\u043b\u0430\u0441\u044c? \u041e\u0431\u00a0\u044d\u0442\u043e\u043c \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1cf\/ee1\/51a\/1cfee151a27115949681c3a352d095dd.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 16. \u041d\u0443\u043b\u0435\u0432\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 16. \u041d\u0443\u043b\u0435\u0432\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\" width=\"914\" height=\"400\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/1cf\/ee1\/51a\/1cfee151a27115949681c3a352d095dd.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1cf\/ee1\/51a\/1cfee151a27115949681c3a352d095dd.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 16. \u041d\u0443\u043b\u0435\u0432\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043d\u0435\u00a0\u043f\u0440\u0438\u043d\u0435\u0441\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u042f \u0441\u043d\u043e\u0432\u0430 \u043e\u0434\u0438\u043d \u043d\u0430\u00a0\u043e\u0434\u0438\u043d\u2026<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f0a\/0a6\/11f\/f0a0a611f6dd443528d6abddb158acbc.gif\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 17. \u0412\u0435\u0441\u0435\u043b\u044c\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 17. \u0412\u0435\u0441\u0435\u043b\u044c\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f\" width=\"498\" height=\"359\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f0a\/0a6\/11f\/f0a0a611f6dd443528d6abddb158acbc.gif 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f0a\/0a6\/11f\/f0a0a611f6dd443528d6abddb158acbc.gif 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 17. \u0412\u0435\u0441\u0435\u043b\u044c\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f<\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"10\" id=\"10\"><\/a><\/p>\n<h3>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/h3>\n<p>\u0418\u043c\u0435\u044f \u043e\u043f\u044b\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u00a0C++ \u0441\u00a0\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u043c<a href=\"https:\/\/ptsecurity.com\/ru-ru\/research\/pt-esc-threat-intelligence\/tax-off-kazhetsya-u-vas-bekdor\/#id8\" rel=\"noopener noreferrer nofollow\"> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c STL<\/a>, \u043f\u043b\u0430\u043d\u00a0\u0431\u044b\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439: \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u00a0\u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441\u00a0\u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0432\u00a0Rust, \u043f\u043e\u043d\u044f\u0442\u044c \u0438\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/231\/9d8\/4e0\/2319d84e082ea7b987105ce6764469c8.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 18. \u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430 stl\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 18. \u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430 stl\" width=\"936\" height=\"756\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/231\/9d8\/4e0\/2319d84e082ea7b987105ce6764469c8.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/231\/9d8\/4e0\/2319d84e082ea7b987105ce6764469c8.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 18. \u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430 stl<\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u043b\u044f\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e\u00a0\u0434\u0432\u0443\u0445 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445\u00a0\u2014 string \u0438 vector. \u0414\u043b\u044f\u00a0\u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b Visual code \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043b\u044f\u00a0\u043d\u0435\u0433\u043e<a href=\"https:\/\/rust-analyzer.github.io\/\" rel=\"noopener noreferrer nofollow\"> rust analyzer<\/a>.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/988\/09a\/73f\/98809a73f292336d1bb75ceb2544fcf8.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 19. \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u0434\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 19. \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u0434\" width=\"936\" height=\"264\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/988\/09a\/73f\/98809a73f292336d1bb75ceb2544fcf8.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/988\/09a\/73f\/98809a73f292336d1bb75ceb2544fcf8.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 19. \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u0434<\/figcaption><\/div>\n<\/figure>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 Rust, \u043d\u0435\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e GitHub. \u041f\u0440\u0438\u00a0\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0432\u044b\u044f\u0441\u043d\u044f\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u00a0string \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f vector \u0441\u00a0\u0442\u0438\u043f\u043e\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 u8.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/980\/4b8\/1c8\/9804b81c8a4476b0db0b73f2a724d0d3.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 20. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 string\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 20. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 string\" width=\"936\" height=\"778\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/980\/4b8\/1c8\/9804b81c8a4476b0db0b73f2a724d0d3.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/980\/4b8\/1c8\/9804b81c8a4476b0db0b73f2a724d0d3.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 20. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 string<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043b\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0432\u00a0\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u0445 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u0438 \u0432\u044b\u0442\u0430\u0449\u0438\u0442\u044c \u0432\u0441\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u043d\u0430\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0447\u0435\u043c\u0443\u2011\u0442\u043e IDA Pro \u043d\u0435\u00a0\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442 \u0442\u0438\u043f string.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0fb\/e7d\/db6\/0fbe7ddb6d756cbc59917b945421759b.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 21. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 21. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439\" width=\"936\" height=\"226\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/0fb\/e7d\/db6\/0fbe7ddb6d756cbc59917b945421759b.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0fb\/e7d\/db6\/0fbe7ddb6d756cbc59917b945421759b.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 21. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439<\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u043b\u044f\u00a0\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438 \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0438 \u043d\u0430\u0439\u0434\u0435\u043c string. \u041f\u043e\u0447\u0435\u043c\u0443\u2011\u0442\u043e \u043d\u0435\u00a0\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0432\u00a0\u044d\u0442\u043e\u043c \u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430. \u041a\u0430\u043a\u00a0\u043c\u044b \u0443\u0436\u0435 \u0437\u043d\u0430\u0435\u043c, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 string \u0438\u043c\u0435\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0438\u0437\u00a0\u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0432\u00a0\u043e\u0448\u0438\u0431\u043a\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0440\u0435\u0434\u0438 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7ea\/9d8\/161\/7ea9d81611193a0faab698a31f7dbe25.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 22. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 22. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430\" width=\"856\" height=\"1050\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/7ea\/9d8\/161\/7ea9d81611193a0faab698a31f7dbe25.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7ea\/9d8\/161\/7ea9d81611193a0faab698a31f7dbe25.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 22. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0418\u0437\u0443\u0447\u0438\u0432 \u0432\u0441\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e\u00a0\u043d\u0438\u0433\u0434\u0435 \u043d\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u00a0\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445.<\/p>\n<pre><code class=\"rust\">struct alloc::alloc::Global struct core::marker::PhantomData<\/code><\/pre>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/714\/e8a\/276\/714e8a276f8bdcfe9b6074a6b1eab997.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 23. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b alloc::alloc::Global\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 23. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b alloc::alloc::Global\" width=\"936\" height=\"496\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/714\/e8a\/276\/714e8a276f8bdcfe9b6074a6b1eab997.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/714\/e8a\/276\/714e8a276f8bdcfe9b6074a6b1eab997.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 23. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b alloc::alloc::Global<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0432, \u0447\u0442\u043e\u00a0\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431\u00a0\u044d\u0442\u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445 \u043d\u0435\u00a0\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u00a0\u0444\u0430\u0439\u043b.pdb, \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u0442\u043b\u0430\u0434\u0438\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a, \u043a\u0430\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u044e\u0442 \u044d\u0442\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ae6\/941\/c1d\/ae6941c1db55283285c92358470f9856.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 24. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 marker \u0438 alloc\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 24. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 marker \u0438 alloc\" width=\"936\" height=\"538\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/ae6\/941\/c1d\/ae6941c1db55283285c92358470f9856.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ae6\/941\/c1d\/ae6941c1db55283285c92358470f9856.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 24. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 marker \u0438 alloc<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043d\u044f\u0432, \u0447\u0442\u043e\u00a0\u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a \u044d\u0442\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043d\u0435\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432\u00a0\u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435, \u0438 \u0443\u0431\u0435\u0434\u0438\u0432\u0448\u0438\u0441\u044c \u0432\u00a0\u044d\u0442\u043e\u043c, \u043f\u043e\u0438\u0437\u0443\u0447\u0430\u0432 \u043a\u0430\u043a\u043e\u0435\u2011\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438, \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0438\u0445 \u0438\u0437\u00a0\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440, \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u043e\u0448\u0438\u0431\u043a\u0443.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/11c\/716\/530\/11c716530b327dd55f6feca413a61e62.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 25. \u0423\u0441\u043f\u0435\u0448\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u0435\u0439\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 25. \u0423\u0441\u043f\u0435\u0448\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u0435\u0439\" width=\"928\" height=\"224\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/11c\/716\/530\/11c716530b327dd55f6feca413a61e62.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/11c\/716\/530\/11c716530b327dd55f6feca413a61e62.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 25. \u0423\u0441\u043f\u0435\u0448\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u0435\u0439<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 string \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439.<\/p>\n<pre><code class=\"rust\">struct alloc::string::String { alloc::vec::Vec vec; };  struct alloc::vec::Vec { alloc::raw_vec::RawVec buf; unsigned __int64 len; };  struct alloc::raw_vec::RawVec { alloc::raw_vec::RawVecInner inner; };  struct alloc::raw_vec::RawVecInner { core::num::niche_types::UsizeNoHighBit cap; core::ptr::unique::Unique ptr; };  struct core::num::niche_types::UsizeNoHighBit { unsigned __int64 __0; };  struct core::ptr::unique::Unique { core::ptr::non_null::NonNull pointer; }; struct core::ptr::non_null::NonNull { unsigned __int8* pointer; }; <\/code><\/pre>\n<p>\u0418\u043b\u0438\u00a0\u0436\u0435 \u0432\u00a0\u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435.<\/p>\n<pre><code class=\"rust\">struct alloc::string::String { alloc::vec::Vec vec; };  struct alloc::vec::Vec { unsigned __int64 cap;  unsigned __int8* pointer; unsigned __int64 len; }; <\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u0432\u0441\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0438 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0438\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u043d\u0435\u00a0\u0431\u0443\u0434\u0435\u043c: \u044d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043e\u0434\u043d\u043e\u0442\u0438\u043f\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u043c\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430.<\/p>\n<p><a class=\"anchor\" name=\"11\" id=\"11\"><\/a><\/p>\n<h3>Tokio \u2014 \u043a\u0440\u0435\u0439\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439<\/h3>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 Rust \u0438 \u0438\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a\u00a0\u043d\u0430\u0448\u0435\u043c\u0443 \u0441\u0435\u043c\u043f\u043b\u0443. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u043c\u043d\u043e\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0435\u0441\u043b\u0430 \u043f\u043b\u043e\u0434\u044b \u0432\u00a0\u0432\u0438\u0434\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0438 \u0438\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430, \u043d\u043e\u00a0\u043d\u0435\u00a0\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b: \u044f \u0447\u0442\u043e\u2011\u0442\u043e \u0443\u043f\u0443\u0441\u043a\u0430\u043b. \u0412\u0435\u0440\u043d\u0443\u0432\u0448\u0438\u0441\u044c \u043a\u00a0boogle \u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u044f \u0432\u00a0\u043d\u0435\u043c \u043a\u0430\u043a\u043e\u0435\u2011\u0442\u043e \u0432\u0440\u0435\u043c\u044f, \u044f \u043d\u0430\u0448\u0435\u043b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u043f\u0430\u0437\u043b\u0430. \u0418 \u044d\u0442\u0438\u043c \u043a\u0443\u0441\u043e\u0447\u043a\u043e\u043c\u00a0\u0431\u044b\u043b \u043a\u0440\u0435\u0439\u0442<a href=\"https:\/\/tokio.rs\/tokio\/tutorial\" rel=\"noopener noreferrer nofollow\"> Tokio<\/a>. \u041e\u00a0\u043d\u0435\u043c \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435.<\/p>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0441\u044c \u043a\u00a0\u0432\u043e\u043f\u0440\u043e\u0441\u0443: \u043a\u0443\u0434\u0430\u00a0\u0436\u0435 \u0434\u0435\u043b\u0438\u0441\u044c \u0441\u0442\u0440\u043e\u043a\u0438? \u0410\u00a0\u043e\u043d\u0438 \u0432\u0441\u0435\u00a0\u0431\u044b\u043b\u0438 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0438\u043b\u0438\u00a0\u0432\u044b\u0440\u0435\u0437\u0430\u043d\u044b, \u0447\u0442\u043e\u00a0\u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u043e \u043a\u00a0\u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b rustbinsign \u0438 \u0440\u0443\u0447\u043d\u043e\u043c\u0443 \u043f\u043e\u0438\u0441\u043a\u0443 \u0441\u0442\u0440\u043e\u043a. \u041f\u0440\u0438\u00a0\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432\u0441\u0435 \u00ab\u043f\u0430\u043d\u0438\u043a\u0438\u00bb\u00a0\u0431\u044b\u043b\u0438 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u044b \u043d\u0430\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e abort, \u0447\u0442\u043e\u00a0\u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u043e \u043a\u00a0\u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 IDA_rust_metadata_finder.py. \u0410\u00a0\u0435\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u043c\u043f\u043b\u00a0\u0431\u044b\u043b \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0441\u00a0\u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u0447\u0442\u043e\u00a0\u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u043e \u043a\u00a0\u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u0438 FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440. \u0412\u0441\u0435 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0438 \u043c\u0435\u0448\u0430\u043b\u043e \u043d\u0430\u043c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u043a\u0440\u0435\u0439\u0442 Tokio, \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439, \u0442\u0430\u043a \u0447\u0442\u043e\u00a0\u0434\u0430\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u043e\u0431\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445 Rust \u0438 \u0438\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u0445 \u043d\u0430\u043c \u043d\u0435\u00a0\u043f\u043e\u043c\u043e\u0433\u043b\u0438.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8cb\/e96\/343\/8cbe96343b3b83322a89e684b9661941.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 26. \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430 Tokio\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 26. \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430 Tokio\" width=\"716\" height=\"598\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/8cb\/e96\/343\/8cbe96343b3b83322a89e684b9661941.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8cb\/e96\/343\/8cbe96343b3b83322a89e684b9661941.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 26. \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430 Tokio<\/figcaption><\/div>\n<\/figure>\n<p>Tokio\u00a0\u2014 \u044d\u0442\u043e \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0440\u0435\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 Rust. \u041e\u043d\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f\u00a0\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043b\u044e\u0431\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430. \u0427\u0442\u043e\u00a0\u0434\u0435\u043b\u0430\u0435\u0442 \u0435\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u0440\u0435\u0439\u0442\u043e\u043c \u043f\u0440\u0438\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0412\u041f\u041e, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u0414\u043b\u044f\u00a0\u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u0440\u0435\u0439\u0442\u0430 \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0440\u0435\u0432\u0435\u0440\u0441\u2011\u0448\u0435\u043b\u043b \u0441\u00a0\u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8b7\/277\/ad1\/8b7277ad1c627aa2bf120526202211c2.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 27. \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u0434\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 27. \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u0434\" width=\"936\" height=\"762\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/8b7\/277\/ad1\/8b7277ad1c627aa2bf120526202211c2.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8b7\/277\/ad1\/8b7277ad1c627aa2bf120526202211c2.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 27. \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u0434<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u043e\u0431\u0440\u0430\u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u0438 \u043e\u0442\u043a\u0440\u044b\u0432 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u0432\u00a0IDA Pro, \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e\u00a0\u044d\u0442\u043e \u043d\u0435\u00a0\u043d\u0430\u0448 \u043a\u043e\u0434, \u043d\u043e\u00a0\u043e\u0442\u043a\u0443\u0434\u0430\u00a0\u0436\u0435 \u043e\u043d \u0432\u0437\u044f\u043b\u0441\u044f? \u041e\u0431\u00a0\u044d\u0442\u043e\u043c \u043f\u043e\u0437\u0436\u0435.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/41f\/e35\/6f5\/41fe356f5278f12383415518c530989b.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 28. \u0424\u0443\u043d\u043a\u0446\u0438\u044f main\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 28. \u0424\u0443\u043d\u043a\u0446\u0438\u044f main\" width=\"936\" height=\"478\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/41f\/e35\/6f5\/41fe356f5278f12383415518c530989b.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/41f\/e35\/6f5\/41fe356f5278f12383415518c530989b.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 28. \u0424\u0443\u043d\u043a\u0446\u0438\u044f main<\/figcaption><\/div>\n<\/figure>\n<p>\u041c\u044b \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e\u00a0\u043f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e\u00a0\u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u0432\u00a0\u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, \u044d\u0442\u043e \u0432\u044b\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438 start_connect. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0439\u0434\u0435\u043c \u0435\u0435 \u0432\u00a0\u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043f\u043e\u00a0\u043f\u0435\u0440\u0435\u043a\u0440\u0435\u0441\u0442\u043d\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435 \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0432\u00a0\u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f. \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u043c\u0435\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 core::task::poll::Poll \u0438 \u0438\u043c\u0435\u0435\u0442 11\u00a0\u043f\u0435\u0440\u0435\u043a\u0440\u0435\u0441\u0442\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u0434\u043e\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0438 main.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ec4\/70b\/950\/ec470b9500b147c1906dfd0112108b8f.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 29. \u041d\u0430\u0447\u0430\u043b\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 29. \u041d\u0430\u0447\u0430\u043b\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430\" width=\"906\" height=\"450\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/ec4\/70b\/950\/ec470b9500b147c1906dfd0112108b8f.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ec4\/70b\/950\/ec470b9500b147c1906dfd0112108b8f.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 29. \u041d\u0430\u0447\u0430\u043b\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a\u00a0\u0436\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0438 \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439 get_command \u0438 \u043f\u043e\u043f\u0430\u0434\u0435\u043c \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e tokio::main::{{closure}}::{{closure}}, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u043c\u0435\u0435\u0442 26\u00a0\u043f\u0435\u0440\u0435\u043a\u0440\u0435\u0441\u0442\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u0434\u043e\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0438 core::task::poll::Poll.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/915\/9b9\/ff3\/9159b9ff3cc290d9fb36c4acaf424988.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 30. \u041d\u0430\u0447\u0430\u043b\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 30. \u041d\u0430\u0447\u0430\u043b\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\" width=\"912\" height=\"450\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/915\/9b9\/ff3\/9159b9ff3cc290d9fb36c4acaf424988.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/915\/9b9\/ff3\/9159b9ff3cc290d9fb36c4acaf424988.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 30. \u041d\u0430\u0447\u0430\u043b\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434<\/figcaption><\/div>\n<\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0438 main \u0434\u043e\u00a0\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 \u0432\u00a0\u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0430\u043b\u0438\u0442\u044c\u0441\u044f \u0432 37\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0439! \u0412\u00a0\u0440\u0435\u043b\u0438\u0437\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0430\u043b\u0438\u0442\u044c\u0441\u044f \u0432 10\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0439\u00a0\u2014 \u044d\u0442\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0435\u0442 \u043d\u0430\u043c \u0437\u0430\u0434\u0430\u0447\u0443, \u043d\u043e\u00a0\u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u043e\u0442\u043a\u0443\u0434\u0430 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0434\u0430, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0435\u00a0\u043d\u0430\u043c\u0438. \u0414\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0434\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 Tokio:<\/p>\n<ol>\n<li>\n<p>\u041c\u0430\u043a\u0440\u043e\u0441 #[tokio::main], \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0438\u0439 async fn main() \u0432\u00a0\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0443\u044e fn main(), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0441\u0440\u0435\u0434\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0442\u0435\u043b\u043e \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0422\u043e \u0435\u0441\u0442\u044c \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u00a0\u043d\u0430\u0441 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0438 main,\u00a0\u2014 \u0440\u0430\u043d\u0442\u0430\u0439\u043c Tokio.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/12d\/dc4\/5c2\/12ddc45c26593fd1bfdb3ff218a128b7.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 31. \u041e\u0431\u0435\u0440\u0442\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 31. \u041e\u0431\u0435\u0440\u0442\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430\" width=\"936\" height=\"114\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/12d\/dc4\/5c2\/12ddc45c26593fd1bfdb3ff218a128b7.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/12d\/dc4\/5c2\/12ddc45c26593fd1bfdb3ff218a128b7.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 31. \u041e\u0431\u0435\u0440\u0442\u043a\u0430 \u0434\u043b\u044f\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430<\/figcaption><\/div>\n<\/figure>\n<\/li>\n<li>\n<p>\u0417\u0430\u0434\u0430\u0447\u0438 Tokio\u00a0\u2014 \u044d\u0442\u043e \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 \u0437\u0435\u043b\u0435\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438. \u041e\u043d\u0438 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0443\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 async\u2011\u0431\u043b\u043e\u043a\u0430 \u0432\u00a0tokio::spawn(). \u0424\u0443\u043d\u043a\u0446\u0438\u044f tokio::spawn \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 JoinHandle, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f\u00a0\u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u00a0\u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439, async\u2011\u0431\u043b\u043e\u043a \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0412\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u0441\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e.await \u043d\u0430\u00a0JoinHandle. \u0422\u043e \u0435\u0441\u0442\u044c \u043d\u0430\u0448\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 tokio::main::{{closure}}::{{closure}}.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/eb1\/623\/433\/eb1623433b33b5ab2df4f40f7368ba6d.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 32. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 RawTask \u0438 \u0435\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 32. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 RawTask \u0438 \u0435\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\" width=\"936\" height=\"976\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/eb1\/623\/433\/eb1623433b33b5ab2df4f40f7368ba6d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/eb1\/623\/433\/eb1623433b33b5ab2df4f40f7368ba6d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 32. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 RawTask \u0438 \u0435\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/figcaption><\/div>\n<\/figure>\n<\/li>\n<\/ol>\n<p>\u0410\u00a0\u0442\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0430 \u0432\u00a0\u043d\u0430\u0448\u0435\u043c \u0444\u0430\u0439\u043b\u0435 (\u043a\u0430\u043a \u0438 \u0432\u0435\u0437\u0434\u0435, \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0432\u00a0\u0441\u0435\u043a\u0446\u0438\u0438.rdata).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4f7\/bfa\/9a7\/4f7bfa9a795689c0165ab2952f9d0daa.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 33. \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 RawTask\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 33. \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 RawTask\" width=\"936\" height=\"138\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/4f7\/bfa\/9a7\/4f7bfa9a795689c0165ab2952f9d0daa.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4f7\/bfa\/9a7\/4f7bfa9a795689c0165ab2952f9d0daa.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 33. \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 RawTask<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u0432\u0441\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0438 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0432\u0435\u0441\u044c \u0440\u0430\u043d\u0442\u0430\u0439\u043c Tokio \u043d\u0435\u00a0\u0431\u0443\u0434\u0435\u043c, \u044d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043e\u0434\u043d\u043e\u0442\u0438\u043f\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u043c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u0438\u043c\u0438 \u0434\u0432\u0443\u043c\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438.<\/p>\n<p>\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 Tokio \u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u00a0\u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434, \u043d\u043e\u00a0\u0438 \u043d\u0430\u0447\u0430\u043b\u043e \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0432\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0447\u0430\u0441\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u043e\u0432 \u0441\u00a0C2.<\/p>\n<p><a class=\"anchor\" name=\"12\" id=\"12\"><\/a><\/p>\n<h2>\u0412\u044b\u0432\u043e\u0434\u044b<\/h2>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7b6\/890\/194\/7b6890194403285e9bf8a5e0c10ec5fe.png\" width=\"620\" height=\"682\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/7b6\/890\/194\/7b6890194403285e9bf8a5e0c10ec5fe.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7b6\/890\/194\/7b6890194403285e9bf8a5e0c10ec5fe.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u00a0Rust, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0440\u0443\u0434\u043e\u0435\u043c\u043a\u0438\u043c \u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u043d\u044b\u043c \u043f\u043e\u00a0\u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0437\u2011\u0437\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439, \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u044d\u0442\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043d\u0430\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432\u00a0\u0441\u0432\u044f\u0437\u043a\u0435 \u0441\u043e \u0437\u043d\u0430\u043d\u0438\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u044f\u0437\u044b\u043a\u0430, \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043a\u0440\u0435\u0439\u0442\u043e\u0432 \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435\u043c \u0438\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/915192\/\"> https:\/\/habr.com\/ru\/articles\/915192\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><\/figure>\n<details class=\"spoiler\">\n<summary>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/summary>\n<div class=\"spoiler__content\">\n<p><a href=\"#1\" rel=\"noopener noreferrer nofollow\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/a><\/p>\n<p><a href=\"#2\" rel=\"noopener noreferrer nofollow\">\u0420\u043e\u0441\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u00a0Rust<\/a><\/p>\n<p><a href=\"#3\" rel=\"noopener noreferrer nofollow\">\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0432\u0435\u0440\u0441\u0430 Rust<\/a><\/p>\n<p><a href=\"#4\" rel=\"noopener noreferrer nofollow\">\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u00a0Rust<\/a><\/p>\n<p><a href=\"#5\" rel=\"noopener noreferrer nofollow\">\u0418\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b<\/a><\/p>\n<p><a href=\"#6\" rel=\"noopener noreferrer nofollow\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e<\/a><\/p>\n<p><a href=\"#7\" rel=\"noopener noreferrer nofollow\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442 \u0434\u043b\u044f\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e <\/a><\/p>\n<p><a href=\"#8\" rel=\"noopener noreferrer nofollow\">\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0431\u00a0\u043e\u0434\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0435<\/a><\/p>\n<p><a href=\"#9\" rel=\"noopener noreferrer nofollow\">\u041d\u0430\u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Boogle!?<\/a><\/p>\n<p><a href=\"#10\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/a><\/p>\n<p><a href=\"#11\" rel=\"noopener noreferrer nofollow\">Tokio\u00a0\u2014 \u043a\u0440\u0435\u0439\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439!!!<\/a><\/p>\n<p><a href=\"#12\" rel=\"noopener noreferrer nofollow\">\u0412\u044b\u0432\u043e\u0434\u044b<\/a><\/p>\n<\/div>\n<\/details>\n<hr\/>\n<p><a class=\"anchor\" name=\"1\" id=\"1\"><\/a><\/p>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u042f \u0412\u043b\u0430\u0434 \u041b\u0443\u043d\u0438\u043d, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0443\u0433\u0440\u043e\u0437 \u0432\u00a0\u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u043e\u043c \u0446\u0435\u043d\u0442\u0440\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Positive Technologies. \u0412\u00a0\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u00a0\u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c (\u0412\u041f\u041e), \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c \u043d\u0430\u00a0Rust, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0435\u0432\u0435\u0440\u0441\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c \u043d\u0430\u00a0\u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435. \u0412\u041f\u041e\u00a0\u0431\u044b\u0432\u0430\u0435\u0442 \u043a\u0430\u043a\u00a0\u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0435, \u0442\u0430\u043a \u0438 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u0432\u00a0\u0441\u0432\u043e\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0438 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 Rust. \u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e \u0434\u043b\u044f\u00a0\u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0440\u0435\u0432\u0435\u0440\u0441\u0430, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u00a0\u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0441\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f, \u0438 \u043a\u0430\u043a\u00a0\u0438\u0445 \u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u0432\u0430\u043b.<\/p>\n<blockquote>\n<p><em>\u0421\u0442\u0430\u0442\u044c\u044f \u043d\u043e\u0441\u0438\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440 \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 \u0438\u043b\u0438 \u043f\u0440\u0438\u0437\u044b\u0432\u043e\u043c \u043a \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u0440\u0430\u0432\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. \u041d\u0430\u0448\u0430 \u0446\u0435\u043b\u044c \u2014 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u043c \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0445 \u0446\u0435\u043f\u043e\u0447\u0435\u043a \u0430\u0442\u0430\u043a \u0441 \u0446\u0435\u043b\u044c\u044e \u0432\u0437\u043b\u043e\u043c\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439, \u0438 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u0442\u044c \u043e\u0431 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043c\u0438\u0440\u0443.<\/em><\/p>\n<\/blockquote>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 1. \u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c!<\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"2\" id=\"2\"><\/a><\/p>\n<h2>\u0420\u043e\u0441\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 Rust<\/h2>\n<p>\u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u043d\u0435\u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0440\u0442\u043e\u0432, \u0432\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0412\u041f\u041e \u043d\u0430\u00a0Rust:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.bitdefender.com.au\/blog\/businessinsights\/hive-ransomwares-offspring-hunters-international-takes-the-stage\/\" rel=\"noopener noreferrer nofollow\">2023\u201311\u201309\u00a0\u2014 Bitdefender\u00a0\u2014 Hive Ransomware&#8217;s Offspring: Hunters International Takes the Stage<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/research.checkpoint.com\/2023\/israel-hamas-war-spotlight-shaking-the-rust-off-sysjoker\/\" rel=\"noopener noreferrer nofollow\">2023\u201311\u201323\u00a0\u2014 Check Point\u00a0\u2014 Israel\u2011Hamas War Spotlight: Shaking the Rust Off SysJoker<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/intezer.com\/blog\/research\/wildcard-evolution-of-sysjoker-cyber-threat\/\" rel=\"noopener noreferrer nofollow\">2023\u201311\u201327\u00a0\u2014 Intezer\u00a0\u2014 WildCard: The APT Behind SysJoker Targets Critical Sectors in Israel<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/cyb3rkitties.github.io\/posts\/exewho2-download-execution-payload-red-teaming\/\" rel=\"noopener noreferrer nofollow\">2023\u201312\u201304\u00a0\u2014 Alex Perotti\u00a0\u2014 ExeWho2\u00a0\u2014 A Tool from the Wild<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.seqrite.com\/blog\/operation-rusticweb-targets-indian-govt-from-rust-based-malware-to-web-service-exfiltration\/\" rel=\"noopener noreferrer nofollow\">2023\u201312\u201321\u00a0\u2014 Seqrite\u00a0\u2014 Operation RusticWeb targets Indian Govt: From Rust\u2011based malware to Web\u2011service exfiltration<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/g-les.github.io\/yara\/2024\/01\/04\/100DaysofYARA-CosmicRust.html\" rel=\"noopener noreferrer nofollow\">2024\u201301\u201304\u00a0\u2014 Greg Lesnewich\u00a0\u2014 100DaysofYARA\u00a0\u2014 CosmicRust<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.google\/threat-analysis-group\/google-tag-coldriver-russian-phishing-malware\/\" rel=\"noopener noreferrer nofollow\">2024\u201301\u201318\u00a0\u2014 Google TAG\u00a0\u2014 Russian threat group COLDRIVER expands its targeting of Western officials to include the use of malware<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/unit42.paloaltonetworks.com\/analysis-pentest-tool-splinter\/\" rel=\"noopener noreferrer nofollow\">2024\u201309\u201319\u00a0\u2014 Discovering Splinter: A First Look at a New Post\u2011Exploitation Red Team Tool<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/research.checkpoint.com\/2024\/inside-akira-ransomwares-rust-experiment\/\" rel=\"noopener noreferrer nofollow\">2024\u201312\u201303\u00a0\u2014 Inside Akira Ransomware\u201ds Rust Experiment<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u00a0\u044d\u0442\u0438\u0445 \u0440\u0435\u043f\u043e\u0440\u0442\u0430\u0445 \u043f\u0440\u043e\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043a\u00a0\u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Rust \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 threat actor \u0432\u00a0\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044f\u0437\u044b\u043a\u0430 \u0434\u043b\u044f\u00a0\u0441\u0432\u043e\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043d\u043e\u00a0\u0438 \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043a\u00a0\u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u044e \u044d\u0442\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u0415\u0441\u043b\u0438 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0438, \u0434\u0440\u043e\u043f\u043f\u0435\u0440\u044b, \u0438\u043d\u0436\u0435\u043a\u0442\u043e\u0440\u044b \u0438\u043b\u0438\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f\u00a0\u0440\u0430\u0437\u0432\u0435\u0434\u043a\u0438 \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0435\u00a0\u0436\u0435\u0440\u0442\u0432\u044b, \u0432\u00a0\u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c Rust \u0441\u0442\u0430\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f\u00a0\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u044c\u0449\u0438\u043a\u043e\u0432 \u0438 C2-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u00a0\u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043d\u043e\u00a0\u0438 \u0441\u00a0\u0437\u0430\u043a\u0440\u044b\u0442\u044b\u043c\u00a0\u2014 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u044b\u0435.<\/p>\n<p><a class=\"anchor\" name=\"3\" id=\"3\"><\/a><\/p>\n<h2>\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0432\u0435\u0440\u0441\u0430 Rust<\/h2>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a\u00a0\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c\u00a0\u0431\u044b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043f\u0438\u0441\u0430\u0442\u044c, \u0432\u00a0\u0447\u0435\u043c \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0432\u0435\u0440\u0441\u0430 Rust \u0441\u00a0\u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u00a0\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441\u00a0\u0434\u0440\u0443\u0433\u0438\u043c\u0438. \u0412\u00a0\u044d\u0442\u043e\u043c \u043c\u043d\u0435 \u043e\u0442\u0447\u0430\u0441\u0442\u0438 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0438\u0437\u00a0\u0432\u043e\u0440\u043a\u0448\u043e\u043f\u0430<a href=\"https:\/\/github.com\/cxiao\/rust-reversing-workshop-northsec-2024\/tree\/main\" rel=\"noopener noreferrer nofollow\"> Reversing Rust Binaries: One step beyond strings<\/a>. \u042d\u0442\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u0432\u00a0\u043d\u0435\u0439 \u043b\u0435\u0433\u043b\u0438 \u0432\u00a0\u043e\u0441\u043d\u043e\u0432\u0443 \u043c\u043e\u0435\u0433\u043e \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u043e\u00a0\u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0432\u0435\u0440\u0441\u0430 Rust.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 2. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u00a0Rust<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u043e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u0432, \u0438\u0437\u2011\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n<ul>\n<li>\n<p>\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438. Rust \u0438\u043c\u0435\u0435\u0442 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u0441\u00a0\u043c\u043e\u0449\u043d\u044b\u043c\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a\u00a0\u043f\u0430\u0442\u0442\u0435\u0440\u043d\u2011\u043c\u0430\u0442\u0447\u0438\u043d\u0433, \u0448\u0430\u0431\u043b\u043e\u043d\u044b, \u043c\u0430\u043a\u0440\u043e\u0441\u044b, \u0442\u0440\u0435\u0439\u0442\u044b. \u042d\u0442\u0438 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a\u00a0\u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u0438 \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430, \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. Rust \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u00a0\u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0435 \u043c\u0443\u0441\u043e\u0440\u0430, \u043d\u043e\u00a0\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u0433\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0437\u0430\u00a0\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0436\u0438\u0437\u043d\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a\u00a0\u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u044f\u043c, \u0447\u0442\u043e\u00a0\u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u0435\u0442 \u0430\u043d\u0430\u043b\u0438\u0437 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432\u00a0\u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0435.<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f. Rust \u043c\u043e\u0436\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u00a0\u043e\u0447\u0435\u043d\u044c \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a\u00a0\u0438\u043d\u043b\u0430\u0439\u043d\u0438\u043d\u0433\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438, \u0447\u0442\u043e\u00a0\u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u0435\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043a\u043e\u0434\u0430.<\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"4\" id=\"4\"><\/a><\/p>\n<h2>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e Rust<\/h2>\n<p>\u042d\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430\u043c \u0432\u00a0\u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0438 \u0440\u0430\u043d\u0442\u0430\u0439\u043c Rust. Rust \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438:<\/p>\n<ul>\n<li>\n<p>Cargo\u00a0\u2014 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438 Rust. \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f\u00a0\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f, \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Rust. Cargo \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u0434.<\/p>\n<\/li>\n<li>\n<p>Rustc\u00a0\u2014 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Rust, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f\u00a0\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u0434\u0430 Rust \u0432\u00a0\u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434. Cargo \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 rustc \u043f\u043e\u0434\u00a0\u043a\u0430\u043f\u043e\u0442\u043e\u043c \u0434\u043b\u044f\u00a0\u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>Rustup\u00a0\u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f\u00a0\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Rust. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Rust \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a\u00a0Cargo.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430:<\/p>\n<ul>\n<li>\n<p>Cargo.toml\u00a0\u2014 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u00a0\u043f\u0440\u043e\u0435\u043a\u0442\u0435: \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0432\u0435\u0440\u0441\u0438\u044e, \u0430\u0432\u0442\u043e\u0440\u0430 \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p>src\u00a0\u2014 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>src\/main.rs\u00a0\u2014 \u0432\u0445\u043e\u0434\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434.<\/p>\n<\/li>\n<li>\n<p>src\/lib.rs\u00a0\u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0442\u0438\u043f\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u00a0\u0434\u0440\u0443\u0433\u0438\u0445 \u0447\u0430\u0441\u0442\u044f\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>tests\u00a0\u2014 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0442\u0435\u0441\u0442\u044b \u0434\u043b\u044f\u00a0\u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>examples\u00a0\u2014 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 3. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0438\u043b\u0438\u00a0\u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443, \u0432\u00a0Cargo.toml \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0438\u043f \u0441\u0431\u043e\u0440\u043a\u0438.<\/p>\n<pre><code class=\"rust\">crate-type = [\"cdylib\"] crate-type = [\"staticlib\"]<\/code><\/pre>\n<div class=\"floating-image\">\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u0449\u0438\u043a\u0430, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 &#8212;target \u043f\u0440\u0438\u00a0\u0441\u0431\u043e\u0440\u043a\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<\/div>\n<pre><code class=\"rust\">cargo build --target x86_64-unknown-linux-musl<\/code><\/pre>\n<div class=\"floating-image\">\n<p>\u0422\u0430\u043a\u0436\u0435 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u0443\u044e \u0440\u043e\u043b\u044c \u0438\u0433\u0440\u0430\u044e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n<\/div>\n<ol>\n<li>\n<p>strip\u00a0\u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u043b\u0430\u0433\u043e\u043c \u2011C strip, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430\u00a0\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0438\u0437\u00a0\u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430\u00a0\u043b\u0438\u0431\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432,\u00a0\u043b\u0438\u0431\u043e \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>opt\u2011level\u00a0\u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u043b\u0430\u0433\u043e\u043c \u2011C opt\u2011level, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430\u00a0\u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 4. \u0412\u044b\u0431\u043e\u0440 \u043f\u0440\u043e\u0444\u0438\u043b\u044f<\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"5\" id=\"5\"><\/a><\/p>\n<h2>\u0418\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u0443\u00a0\u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u00a0Rust, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0442\u0438\u043f\u0430\u0445, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u0445, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a\u00a0\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435. \u0414\u043b\u044f\u00a0\u043d\u0430\u0447\u0430\u043b\u0430, \u043a\u0430\u043a\u00a0\u0432\u00a0\u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u00a0Go, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 5. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Go<\/figcaption><\/div>\n<\/figure>\n<p>Rust, \u043a\u0430\u043a\u00a0\u0438 Go, \u0438\u043c\u0435\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434, \u0438, \u043d\u0435\u0434\u043e\u043b\u0433\u043e \u0438\u0437\u0443\u0447\u0430\u044f \u0435\u0433\u043e, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0444\u0430\u0439\u043b<a href=\"https:\/\/github.com\/rust-lang\/rust\/blob\/master\/library\/std\/src\/rt.rs#L192\" rel=\"noopener noreferrer nofollow\"> \/library\/std\/src\/rt.rs<\/a>, \u0432\u00a0\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 6. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Rust \u0432\u00a0\u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u00a0IDA Pro \u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 7. \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 Rust \u0432\u00a0IDA Pro<\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"6\" id=\"6\"><\/a><\/p>\n<h3>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e<\/h3>\n<p>\u041d\u0430\u00a0\u043e\u0434\u043d\u043e\u043c \u0438\u0437\u00a0\u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u0432\u00a0\u0431\u044b\u043b \u043d\u0430\u0439\u0434\u0435\u043d \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430\u00a0\u2014 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442. \u0418 \u043f\u043e\u00a0\u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0412\u041f\u041e\u00a0\u2014 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a (loader).<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 8. \u0421\u0442\u0440\u043e\u043a\u0438 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u00a0\u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441\u00a0\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u043e\u043c, \u044d\u0442\u043e \u043e\u0433\u0440\u043e\u043c\u043d\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u00a0\u0443\u0436\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043e\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u0412\u041f\u041e \u0447\u0442\u043e\u2011\u0442\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442. <\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 9. \u0421\u0435\u043a\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443<\/figcaption><\/div>\n<\/figure>\n<p><a class=\"anchor\" name=\"7\" id=\"7\"><\/a><\/p>\n<h2>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e<\/h2>\n<p>\u0421\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c, \u0447\u0442\u043e\u00a0IDA Pro \u0438\u043c\u0435\u0435\u0442<a href=\"https:\/\/github.com\/timetravelthree\/IDARustDemangler\" rel=\"noopener noreferrer nofollow\"> \u043f\u043b\u0430\u0433\u0438\u043d<\/a> \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0Rust, \u043d\u043e\u00a0\u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430\u00a0\u2014 \u044d\u0442\u043e \u0434\u0435\u043c\u0430\u043d\u0433\u043b\u0438\u043d\u0433 (\u043e\u0442 \u0430\u043d\u0433\u043b. demangling) \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u0441\u0435\u00a0\u0436\u0435 \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430<a href=\"https:\/\/github.com\/N0fix\/rustbinsign\/\" rel=\"noopener noreferrer nofollow\"> rustbinsign<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u00a0\u043d\u0430\u0441 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u0440\u0430\u0431\u043e\u0442\u044b. \u042d\u0442\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 (\u043a\u0440\u0435\u0439\u0442\u044b, \u043e\u0442\u00a0\u0430\u043d\u0433\u043b. crate) \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 Rust, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u0441\u0431\u043e\u0440\u043a\u0443 (\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f\u00a0Rust) \u0434\u043b\u044f\u00a0\u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 (\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0443\u00a0\u043d\u0430\u0441 \u043d\u0443\u0436\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u0437\u00a0SDK IDA Pro). \u0415\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u0438\u0436\u0435.<\/p>\n<pre><code class=\"rust\">pip install rustbinsign rustbinsign info &lt;sample&gt;<\/code><\/pre>\n<p>\u0421\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 info \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u043a\u0440\u0435\u0439\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432\u00a0\u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u043e\u043c \u0440\u0430\u043d\u0435\u0435 \u0412\u041f\u041e.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 10. \u0412\u044b\u0432\u043e\u0434 rustbinsign<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u00a0\u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0441\u00a0\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u043c\u0438 \u0440\u0430\u043d\u0435\u0435, \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e\u0431\u00a0\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043a\u0440\u0435\u0439\u0442\u0430\u0445 \u043c\u044b \u043d\u0435\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u043c \u043d\u0430\u0448 \u0432\u044b\u0432\u043e\u0434 \u043e\u00a0\u043a\u043b\u0430\u0441\u0441\u0435 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041f\u041e (\u043a\u0440\u0435\u0439\u0442 memmap2), \u043d\u043e\u00a0\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u044b \u0441\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 AES \u0432\u00a0\u0440\u0435\u0436\u0438\u043c\u0435 CFB, \u0438 \u043f\u0440\u0438\u00a0\u044d\u0442\u043e\u043c \u043c\u044b \u043d\u0435\u00a0\u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u043d\u0438 \u043c\u0438\u043d\u0443\u0442\u044b \u043d\u0430\u00a0\u0430\u043d\u0430\u043b\u0438\u0437 \u043a\u043e\u0434\u0430!<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435\u2011\u0442\u0430\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 \u0438\u0437\u00a0\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f <a href=\"https:\/\/github.com\/N0fix\/rust-std-sigs\" rel=\"noopener noreferrer nofollow\">rust\u2011std\u2011sigs<\/a>, \u0430\u00a0\u0435\u0449\u0435 \u0441\u043a\u0440\u0438\u043f\u0442<a href=\"https:\/\/github.com\/N0fix\/IDA_rust_metadata_finder\" rel=\"noopener noreferrer nofollow\"> IDA_rust_metadata_finder<\/a>. \u042d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0438 \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0435 \u00ab\u043f\u0430\u043d\u0438\u043a\u0438\u00bb (\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0431\u00a0\u043e\u0448\u0438\u0431\u043a\u0430\u0445), \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0432\u00a0\u0446\u0435\u043b\u0435\u0432\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0435.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 11. \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b IDA_rust_metadata_finder<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 rustbinsign, \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u00a0\u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 help.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 12. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 help<\/figcaption><\/div>\n<\/figure>\n<p>\u0417\u0430\u0431\u0435\u0433\u0430\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0432\u043f\u0435\u0440\u0435\u0434, \u0434\u043e\u0431\u0430\u0432\u043b\u044e, \u0447\u0442\u043e\u00a0\u0434\u043b\u044f\u00a0\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f\u00a0\u0444\u0430\u0439\u043b\u043e\u0432, \u0441\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/www.musl-libc.org\/how.html\" rel=\"noopener noreferrer nofollow\">musl<\/a>, \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430.<\/p>\n<pre><code class=\"rust\">sudo apt install musl-tools sudo snap install rustup --classic rustup default stable rustup target add x86_64-unknown-linux-musl  rustbinsign -l DEBUG get_std_lib 1.70.0-x86_64-unknown-linux-musl<\/code><\/pre>\n<p>\u042d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 rustbinsign \u0441\u043e\u0431\u0435\u0440\u0435\u0442 \u0434\u043b\u044f\u00a0\u043d\u0430\u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 musl. \u0421\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u043e\u00a0\u0438 \u0432\u0441\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u00a0\u0432\u0438\u0434\u0435 \u0444\u0430\u0439\u043b\u043e\u0432.so, c \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b. \u0414\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c<a href=\"https:\/\/github.com\/mandiant\/flare-ida\/blob\/master\/python\/flare\/idb2pat.py\" rel=\"noopener noreferrer nofollow\"> idb2pat.py<\/a> \u0434\u043b\u044f\u00a0\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430.pat. \u041a\u0442\u043e \u043d\u0435\u00a0\u0437\u043d\u0430\u0435\u0442, \u043a\u0430\u043a\u00a0\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0431\u00a0\u044d\u0442\u043e\u043c<a href=\"https:\/\/habr.com\/ru\/articles\/509148\/\" rel=\"noopener noreferrer nofollow\"> \u0437\u0434\u0435\u0441\u044c<\/a>, \u0430\u00a0\u0434\u043b\u044f\u00a0\u0442\u0435\u0445, \u043a\u0442\u043e \u0443\u0436\u0435 \u044d\u0442\u0438\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u0438 \u043a\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0439 \u0432\u00a0\u0444\u0430\u0439\u043b\u0435.exc, \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e \u0441\u043a\u0440\u0438\u043f\u0442. \u0421\u043a\u0440\u0438\u043f\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0444\u0430\u0439\u043b.exc, \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f + \u0434\u043b\u044f\u00a0\u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u0435\u0440\u0432\u043e\u0439 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0438. \u0418 \u043f\u043e\u043c\u043d\u0438\u0442\u0435\u00a0\u2014 FLIRT\u2011\u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u043d\u0435\u00a0\u043f\u0430\u043d\u0430\u0446\u0435\u044f!<\/p>\n<pre><code class=\"rust\">import sys  with open(sys.argv[1], 'r') as f:     d = f.read()  s = d.split('\\n')  for i in range(len(s)):     if s[i] == '' and (i + 1) &lt; len(s):         s[i+1] = '+' + s[i+1]         s[i] += '\\n'     else:         s[i] += '\\n'  file1 = open(sys.argv[1], 'w') file1.writelines(s) file1.close()<\/code><\/pre>\n<p><a class=\"anchor\" name=\"8\" id=\"8\"><\/a><\/p>\n<h2>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0435<\/h2>\n<p>\u0418 <\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-462520","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/462520","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=462520"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/462520\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=462520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=462520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=462520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}