{"id":476228,"date":"2026-04-16T18:02:19","date_gmt":"2026-04-16T18:02:19","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=476228"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=476228","title":{"rendered":"\u041a\u0430\u043a \u043d\u0430\u0432\u0430\u0439\u0431\u043a\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0412\u041c"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>    \u041f\u0440\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 &#171;\u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438&#187; \u041f\u041e- \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0435\u0433\u043e \u043f\u043e\u0434 \u0412\u041c. \u041f\u043e \u0440\u0443\u043a\u043e\u0439 \u0443\u0436\u0435 \u0441\u0442\u043e\u044f\u043b\u0430 Oracle VirtualBox. \u041d\u043e \u0432\u043e\u0442 \u043d\u0435\u0437\u0430\u0434\u0430\u0447\u0430- \u041f\u041e \u043e\u043f\u043e\u0437\u043d\u0430\u043b\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0443 \u0438 \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0434\u0430\u0442\u044c \u0442\u0440\u0438\u0430\u043b \u043f\u0435\u0440\u0438\u043e\u0434. 2 \u043f\u0440\u043e\u043c\u043f\u0442\u0430 \u0438 3 \u043c\u0438\u043d\u0443\u0442\u044b \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0441\u0431\u043e\u0440\u043a\u0443 \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443.<\/p>\n<h2>\u0418\u0418 \u043a\u0430\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0438 \u0435\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p>    \u0412 \u043e\u0431\u0449\u0435\u043c \u043c\u043e\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u0418\u0418 \u043d\u0435 \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c, \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0438\u043d\u0441\u0442\u0443\u0440\u043c\u0435\u043d\u0442 \u043a\u043e\u0433\u0434\u0430 \u0441\u0442\u0430\u0432\u0438\u0448 \u0435\u043c\u0443 \u0447\u0435\u0442\u043a\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443. \u041a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u0435\u043d \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434- \u0432\u0441\u0435 \u0435\u0449\u0435 \u0445\u043b\u0430\u043c.<\/p>\n<p>    \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044f \u043b\u044e\u0431\u043b\u044e Deepseek- \u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442, \u0434\u0430 \u0438 \u043a\u0442\u043e \u0435\u0449\u0435 \u043f\u043e\u0441\u043b\u0435 \u0441\u043b\u043e\u0432 &#171;\u044f \u043f\u0440\u043e\u0432\u043e\u0436\u0443 \u043f\u0435\u043d\u0442\u0435\u0441\u0442 \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430&#187; \u0432\u044b\u0434\u0430\u0441\u0442 \u0442\u0435\u0431\u0435 \u0432\u0441\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438)<\/p>\n<p>    \u041e\u0434\u043d\u0438\u043c \u043f\u0440\u043e\u043c\u043f\u0442\u043e\u043c \u0442\u0443\u0442 \u043d\u0435 \u043e\u0431\u043e\u0439\u0434\u0435\u0448\u044c\u0441\u044f. \u041d\u0443\u0436\u043d\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b\u0439 \u043e\u0442\u0432\u0435\u0442, \u0438 \u0447\u0435\u0442\u043a\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u044b \u0445\u043e\u0447\u0435\u0448\u044c.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/755\/a4a\/1ca\/755a4a1cabcbd1062f515e18467f926a.PNG\" alt=\"\u041d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f\" title=\"\u041d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f\" width=\"651\" height=\"85\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/755\/a4a\/1ca\/755a4a1cabcbd1062f515e18467f926a.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/755\/a4a\/1ca\/755a4a1cabcbd1062f515e18467f926a.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d11\/8e5\/23b\/d118e523b8d29b3ed50817fa25f0efa6.PNG\" alt=\"\u0410 \u0432\u043e\u0442 \u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435\" title=\"\u0410 \u0432\u043e\u0442 \u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435\" width=\"675\" height=\"94\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/d11\/8e5\/23b\/d118e523b8d29b3ed50817fa25f0efa6.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d11\/8e5\/23b\/d118e523b8d29b3ed50817fa25f0efa6.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0410 \u0432\u043e\u0442 \u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435<\/figcaption><\/div>\n<\/figure>\n<details class=\"spoiler\">\n<summary>\u0412\u0435\u0441\u044c \u0434\u0438\u0430\u043b\u043e\u0433, \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0432 oracle virtual box \u043d\u0430 windows 10, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441\u0447\u0438\u0442\u0430\u043b\u0438 \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443?<\/p>\n<p>Read 10 web pages<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b &#171;\u0434\u0443\u043c\u0430\u043b\u0438&#187;, \u0447\u0442\u043e \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435, \u0430 \u043d\u0435 \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043a\u0440\u044b\u0442\u044c \u0438\u043b\u0438 \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c &#171;\u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0438&#187; \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f. \u0427\u0435\u043c \u0433\u043b\u0443\u0431\u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0448\u0430\u0433\u043e\u0432 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u044c.<\/p>\n<p>\u0412\u043e\u0442 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e, \u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043a \u0441\u0430\u043c\u044b\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c.<\/p>\n<h4>1. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0447\u0435\u0440\u0435\u0437\u00a0VBoxManage\u00a0(\u0431\u0430\u0437\u0430)<\/h4>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0438 \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 \u0448\u0430\u0433 \u2014 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435\u00a0<strong>DMI\/SMBIOS<\/strong>\u00a0(\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Windows \u0447\u0438\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435 \u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u041f\u041a). \u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443\u00a0.<\/p>\n<p><strong>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>\u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u0435<\/strong>\u00a0\u0432\u0430\u0448\u0443 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435\u00a0<strong>\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 (cmd)<\/strong>\u00a0\u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 VirtualBox:<\/p>\n<p>cmd<\/p>\n<pre><code>cd \"C:\\Program Files\\Oracle\\VirtualBox\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<\/li>\n<li>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0437\u0430\u043c\u0435\u043d\u0438\u0432\u00a0<code>\"\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c\"<\/code>\u00a0\u043d\u0430 \u0438\u043c\u044f \u0432\u0430\u0448\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u044b (\u043a\u0430\u0432\u044b\u0447\u043a\u0438 \u043d\u0443\u0436\u043d\u044b, \u0435\u0441\u043b\u0438 \u0432 \u0438\u043c\u0435\u043d\u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u0435\u043b\u044b). \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0438\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e\u0434 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u00a0<strong>Dell<\/strong>\u00a0:<\/p>\n<p>cmd<\/p>\n<pre><code>VBoxManage setextradata \"\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c\" \"VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemVendor\" \"Dell Inc.\"VBoxManage setextradata \"\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c\" \"VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemProduct\" \"Precision 3640\"VBoxManage setextradata \"\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c\" \"VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemVersion\" \"1.0\"VBoxManage setextradata \"\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c\" \"VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBIOSVersion\" \"1.1.1\"VBoxManage setextradata \"\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c\" \"VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBoardVendor\" \"Dell Inc.\"VBoxManage setextradata \"\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c\" \"VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBoardProduct\" \"0K0K0K\"VBoxManage setextradata \"\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c\" \"VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiChassisVendor\" \"Dell Inc.\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<blockquote>\n<p><em>\u0412\u0430\u0436\u043d\u043e:<\/em>\u00a0\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043b\u044e\u0431\u044b\u0445 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0431\u0440\u0435\u043d\u0434\u043e\u0432 (HP, Lenovo, Asus). \u0427\u0435\u043c \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u0435\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435\u00a0.<\/p>\n<\/blockquote>\n<\/li>\n<\/ol>\n<h4>2. \u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0434\u0438\u0441\u043a\u0430 \u0438 \u0441\u0435\u0442\u0438<\/h4>\n<p>\u042d\u0442\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0442 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430.<\/p>\n<ul>\n<li>\n<p><strong>\u0418\u043c\u044f \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430 (\u0441\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440)<\/strong>: \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e VirtualBox \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a &#171;VBOX HARDDISK&#187;. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c\u00a0:<\/p>\n<p>cmd<\/p>\n<pre><code>VBoxManage setextradata \"\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c\" \"VBoxInternal\/Devices\/ahci\/0\/Config\/Port0\/ModelNumber\" \"Samsung SSD 860 EVO\"VBoxManage setextradata \"\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c\" \"VBoxInternal\/Devices\/ahci\/0\/Config\/Port0\/SerialNumber\" \"S3Z8NB0M123456\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<\/li>\n<li>\n<p><strong>MAC-\u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u044b<\/strong>: VirtualBox \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0430\u0434\u0440\u0435\u0441\u0430, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0430\u00a0<code>08:00:27...<\/code>, \u0447\u0442\u043e \u043b\u0435\u0433\u043a\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f. \u0417\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0435\u0433\u043e \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Intel):<\/p>\n<ol>\n<li>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0412\u041c \u0432 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 VirtualBox.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u00a0<strong>\u0421\u0435\u0442\u044c<\/strong>\u00a0-&gt;\u00a0<strong>\u0410\u0434\u0430\u043f\u0442\u0435\u0440 1<\/strong>\u00a0-&gt;\u00a0<strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u0438\u043a\u043e\u043d\u043a\u0443 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 (\u0448\u0430\u0445\u043c\u0430\u0442\u044b) \u0438\u043b\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 MAC \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:\u00a0<code>08:00:27:12:34:56<\/code>\u00a0(\u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u043f\u0435\u0440\u0432\u044b\u0435 3 \u0431\u0430\u0439\u0442\u0430).\u00a0<em>\u0421\u043e\u0432\u0435\u0442:<\/em>\u00a0\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u0435\u0440\u0432\u044b\u0435 3 \u0431\u0430\u0439\u0442\u0430 \u043e\u0442 Intel (<code>00:1A:2B<\/code>)\u00a0.<\/p>\n<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<h4>3. \u0427\u0438\u0441\u0442\u043a\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 \u041e\u0421 (Windows)<\/h4>\n<p>\u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430, \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b \u0438 \u043a\u043b\u044e\u0447\u0438 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 VirtualBox.<\/p>\n<p><strong>\u0412\u0430\u0436\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435:<\/strong>\u00a0\u0421\u0430\u043c\u0430\u044f \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0441\u043a\u0440\u044b\u0442\u0438\u044f \u2014\u00a0<strong>\u041d\u0415 \u0423\u0421\u0422\u0410\u041d\u0410\u0412\u041b\u0418\u0412\u0410\u0422\u042c \u0413\u043e\u0441\u0442\u0435\u0432\u044b\u0435 \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (Guest Additions)<\/strong>\u00a0. \u041e\u043d\u0438 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u0435\u0434\u043e\u0432 (\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u0441\u043b\u0443\u0436\u0431\u044b, \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b\u00a0<code>VBoxGuest.sys<\/code>), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b, \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0438\u0445 \u0447\u0435\u0440\u0435\u0437 &#171;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c&#187; \u0432 Windows.<\/p>\n<p><strong>\u0427\u0442\u043e \u0435\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c (\u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e):<\/strong><\/p>\n<ol>\n<li>\n<p><strong>\u0420\u0435\u0435\u0441\u0442\u0440<\/strong>: \u0423\u0434\u0430\u043b\u0438\u0442\u0435 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u0443\u0439\u0442\u0435 \u043a\u043b\u044e\u0447\u0438, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0441\u043b\u043e\u0432\u043e\u00a0<code>VBox<\/code>\u00a0\u0432\u00a0<code>HKEY_LOCAL_MACHINE\\SOFTWARE\\Oracle<\/code>\u00a0\u0438\u00a0<code>HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\<\/code>\u00a0.<\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430<\/strong>: \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435\u00a0<code>regedit<\/code>\u00a0\u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432\u00a0<code>HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0<\/code>. \u0412 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435\u00a0<code>ProcessorNameString<\/code>\u00a0\u0443\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043b\u043e\u0432\u043e &#171;Virtual&#187; (\u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 &#171;Intel Core i7-10700&#187;)\u00a0.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u043b\u0443\u0436\u0431\u044b<\/strong>: \u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0441\u043b\u0443\u0436\u0431\u044b\u00a0<code>VBoxGuest<\/code>,\u00a0<code>VBoxMouse<\/code>,\u00a0<code>VBoxService<\/code>\u00a0(<code>services.msc<\/code>)\u00a0.<\/p>\n<\/li>\n<\/ol>\n<h4>4. \u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b (\u0421\u043a\u0440\u0438\u043f\u0442\u044b \u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b)<\/h4>\n<p>\u0420\u0443\u0447\u043d\u043e\u0439 \u0432\u0432\u043e\u0434 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434 \u0443\u0442\u043e\u043c\u0438\u0442\u0435\u043b\u0435\u043d. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p><strong>VBoxHardenedLoader<\/strong>: \u041d\u0430\u0431\u043e\u0440 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 (<code>hidevm_ahci.cmd<\/code>\u00a0\u0438 \u0434\u0440.), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437 \u043f\u0443\u043d\u043a\u0442\u0430 1 \u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u0442 \u0444\u0430\u0439\u043b\u044b BIOS\/UEFI, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u0440\u044b\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435\u00a0.<\/p>\n<\/li>\n<li>\n<p><strong>VBoxCloak \/ vbox_stealth<\/strong>: \u0421\u043a\u0440\u0438\u043f\u0442\u044b, \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0435 \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u0438 \u0447\u0438\u0441\u0442\u044f\u0449\u0438\u0435 \u041e\u0421 \u043e\u0442 \u0441\u043b\u0435\u0434\u043e\u0432 VirtualBox\u00a0.<\/p>\n<\/li>\n<\/ul>\n<h4>\u0421\u0432\u043e\u0434\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041c\u0435\u0442\u043e\u0434<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0442\u0438\u0432 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0438\u0433\u0440\/\u0441\u043e\u0444\u0442\u0430<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0421\u043c\u0435\u043d\u0430 DMI (Vendor\/Product)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041c\u0435\u043d\u044f\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u041f\u041a \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0438\u0437\u043a\u0430\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0441\u043e\u043a\u0430\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0434\u0438\u0441\u043a\u0430 (Model\/SN)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041c\u0435\u043d\u044f\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u0430 \u0432 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0435 \u0437\u0430\u0434\u0430\u0447<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0438\u0437\u043a\u0430\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0441\u043e\u043a\u0430\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0421\u043c\u0435\u043d\u0430 MAC-\u0430\u0434\u0440\u0435\u0441\u0430<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041c\u0435\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0438\u0437\u043a\u0430\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0440\u0435\u0434\u043d\u044f\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\/\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 Guest Additions<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0431\u0438\u0440\u0430\u0435\u0442 \u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u0443\u043b\u0438\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u041e\u0421<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0440\u0435\u0434\u043d\u044f\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0447\u0435\u043d\u044c \u0432\u044b\u0441\u043e\u043a\u0430\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041f\u0440\u0430\u0432\u043a\u0430 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 (CPU name, \u0441\u0435\u0440\u0432\u0438\u0441\u044b)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0427\u0438\u0441\u0442\u0438\u0442 &#171;\u0445\u0432\u043e\u0441\u0442\u044b&#187; \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0441\u043e\u043a\u0430\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0440\u0435\u0434\u043d\u044f\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>VBoxHardenedLoader<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u043c\u0435\u043d\u0430 BIOS\/ACPI, \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0435\u043a\u0442\u0440 \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0441\u043e\u043a\u0430\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0413\u043b\u0430\u0432\u043d\u044b\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 (\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0432\u044b\u0432\u043e\u0434\u044b)<\/h4>\n<ol>\n<li>\n<p><strong>\u041d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0439\u0442\u0435 Guest Additions<\/strong>, \u0435\u0441\u043b\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435 \u0441\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0444\u0430\u043a\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 \u044d\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0443\u043b\u0438\u043a\u00a0.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441 \u043c\u0430\u043b\u043e\u0433\u043e \u2014 \u0441\u043c\u0435\u043d\u044b\u00a0<strong>DmiSystemVendor<\/strong>\u00a0\u0438\u00a0<strong>ModelNumber \u0434\u0438\u0441\u043a\u0430<\/strong>. \u0412 70% \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u00a0<strong>Bridged Network<\/strong>\u00a0(\u043c\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440) \u0432\u043c\u0435\u0441\u0442\u043e NAT, \u0447\u0442\u043e\u0431\u044b \u043c\u0430\u0448\u0438\u043d\u0430 \u0432\u0435\u043b\u0430 \u0441\u0435\u0431\u044f \u0432 \u0441\u0435\u0442\u0438 \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0430 \u043d\u0435 \u043a\u0430\u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f\u00a0.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0434 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435\u00a0<strong>\u0441\u043d\u0438\u043c\u043e\u043a (snapshot)<\/strong>\u00a0\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u043b\u0435\u0433\u043a\u043e \u043e\u0442\u043a\u0430\u0442\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ol>\n<p>\u043d\u0430\u043f\u0438\u0448\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 python, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u044d\u0442\u0438 \u043f\u0430\u0440\u043c\u0435\u0440\u044b. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443<\/p>\n<p>\u042f \u0441\u043e\u0437\u0434\u0430\u043c \u0434\u043b\u044f \u0432\u0430\u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d VirtualBox.<\/p>\n<p>python<\/p>\n<pre><code>import tkinter as tkfrom tkinter import ttk, messagebox, filedialogimport subprocessimport osimport sysimport jsonfrom pathlib import Pathclass VirtualBoxStealthTool:    def __init__(self, root):        self.root = root        self.root.title(\"VirtualBox Stealth Tool - \u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0412\u041c\")        self.root.geometry(\"900x700\")        self.root.resizable(True, True)                # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u044f VBoxManage        self.vboxmanage_path = self.find_vboxmanage()                # \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445        self.selected_vm = tk.StringVar()        self.vm_list = []                # \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0438        self.vm_data = {}                # \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430        self.create_widgets()                # \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u043f\u0438\u0441\u043a\u0430 \u0412\u041c        self.load_vm_list()            def find_vboxmanage(self):        \"\"\"\u041f\u043e\u0438\u0441\u043a \u043f\u0443\u0442\u0438 \u043a VBoxManage\"\"\"        possible_paths = [            r\"C:\\Program Files\\Oracle\\VirtualBox\\VBoxManage.exe\",            r\"C:\\Program Files (x86)\\Oracle\\VirtualBox\\VBoxManage.exe\",            r\"D:\\Program Files\\Oracle\\VirtualBox\\VBoxManage.exe\"        ]                for path in possible_paths:            if os.path.exists(path):                return path                # \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u043d\u0430\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 where command        try:            result = subprocess.run(['where', 'VBoxManage'],                                   capture_output=True, text=True)            if result.returncode == 0:                return result.stdout.strip().split('\\n')[0]        except:            pass                    return None        def create_widgets(self):        \"\"\"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\"\"\"                # \u0412\u0435\u0440\u0445\u043d\u044f\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0412\u041c        top_frame = ttk.LabelFrame(self.root, text=\"\u0412\u044b\u0431\u043e\u0440 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b\", padding=10)        top_frame.pack(fill=tk.X, padx=10, pady=5)                ttk.Label(top_frame, text=\"\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430:\").grid(row=0, column=0, sticky=tk.W)        self.vm_combo = ttk.Combobox(top_frame, textvariable=self.selected_vm,                                      width=50, state=\"readonly\")        self.vm_combo.grid(row=0, column=1, padx=5)        self.vm_combo.bind('&lt;&lt;ComboboxSelected&gt;&gt;', self.on_vm_selected)                ttk.Button(top_frame, text=\"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a\",                   command=self.load_vm_list).grid(row=0, column=2, padx=5)                # \u041d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 \u0432\u043a\u043b\u0430\u0434\u043a\u0430\u043c\u0438        self.notebook = ttk.Notebook(self.root)        self.notebook.pack(fill=tk.BOTH, expand=True, padx=10, pady=5)                # \u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439        self.basic_frame = ttk.Frame(self.notebook)        self.notebook.add(self.basic_frame, text=\"\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\")        self.create_basic_tab()                # \u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438        self.hardware_frame = ttk.Frame(self.notebook)        self.notebook.add(self.hardware_frame, text=\"\u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b\")        self.create_hardware_tab()                # \u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438        self.network_frame = ttk.Frame(self.notebook)        self.notebook.add(self.network_frame, text=\"\u0421\u0435\u0442\u0435\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\")        self.create_network_tab()                # \u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438        self.advanced_frame = ttk.Frame(self.notebook)        self.notebook.add(self.advanced_frame, text=\"\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\")        self.create_advanced_tab()                # \u041f\u0430\u043d\u0435\u043b\u044c \u0441 \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439        bottom_frame = ttk.Frame(self.root)        bottom_frame.pack(fill=tk.X, padx=10, pady=10)                ttk.Button(bottom_frame, text=\"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\",                   command=self.apply_all_changes, style=\"Accent.TButton\").pack(side=tk.LEFT, padx=5)        ttk.Button(bottom_frame, text=\"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\",                   command=self.reset_settings).pack(side=tk.LEFT, padx=5)        ttk.Button(bottom_frame, text=\"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c\",                   command=self.save_profile).pack(side=tk.LEFT, padx=5)        ttk.Button(bottom_frame, text=\"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c\",                   command=self.load_profile).pack(side=tk.LEFT, padx=5)                # \u0421\u0442\u0430\u0442\u0443\u0441 \u0431\u0430\u0440        self.status_bar = ttk.Label(self.root, text=\"\u0413\u043e\u0442\u043e\u0432 \u043a \u0440\u0430\u0431\u043e\u0442\u0435\",                                    relief=tk.SUNKEN, anchor=tk.W)        self.status_bar.pack(fill=tk.X, side=tk.BOTTOM)            def create_basic_tab(self):        \"\"\"\u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439\"\"\"        # \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0432\u0435\u043d\u0434\u043e\u0440        ttk.Label(self.basic_frame, text=\"\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c (System Vendor):\").grid(row=0, column=0, sticky=tk.W, padx=5, pady=5)        self.system_vendor = ttk.Combobox(self.basic_frame, width=40)        self.system_vendor.grid(row=0, column=1, padx=5, pady=5)        self.system_vendor['values'] = (\"Dell Inc.\", \"Hewlett-Packard\", \"LENOVO\", \"ASUS\", \"Acer\", \"MSI\")        self.system_vendor.set(\"Dell Inc.\")                # \u041c\u043e\u0434\u0435\u043b\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b        ttk.Label(self.basic_frame, text=\"\u041c\u043e\u0434\u0435\u043b\u044c (System Product):\").grid(row=1, column=0, sticky=tk.W, padx=5, pady=5)        self.system_product = ttk.Entry(self.basic_frame, width=40)        self.system_product.grid(row=1, column=1, padx=5, pady=5)        self.system_product.insert(0, \"Precision 3640\")                # \u0412\u0435\u0440\u0441\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b        ttk.Label(self.basic_frame, text=\"\u0412\u0435\u0440\u0441\u0438\u044f (System Version):\").grid(row=2, column=0, sticky=tk.W, padx=5, pady=5)        self.system_version = ttk.Entry(self.basic_frame, width=40)        self.system_version.grid(row=2, column=1, padx=5, pady=5)        self.system_version.insert(0, \"1.0\")                # \u0412\u0435\u0440\u0441\u0438\u044f BIOS        ttk.Label(self.basic_frame, text=\"\u0412\u0435\u0440\u0441\u0438\u044f BIOS:\").grid(row=3, column=0, sticky=tk.W, padx=5, pady=5)        self.bios_version = ttk.Entry(self.basic_frame, width=40)        self.bios_version.grid(row=3, column=1, padx=5, pady=5)        self.bios_version.insert(0, \"1.1.1\")                # \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u043e\u0439 \u043f\u043b\u0430\u0442\u044b        ttk.Label(self.basic_frame, text=\"\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c MB:\").grid(row=4, column=0, sticky=tk.W, padx=5, pady=5)        self.board_vendor = ttk.Entry(self.basic_frame, width=40)        self.board_vendor.grid(row=4, column=1, padx=5, pady=5)        self.board_vendor.insert(0, \"Dell Inc.\")                # \u041c\u043e\u0434\u0435\u043b\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u043e\u0439 \u043f\u043b\u0430\u0442\u044b        ttk.Label(self.basic_frame, text=\"\u041c\u043e\u0434\u0435\u043b\u044c MB:\").grid(row=5, column=0, sticky=tk.W, padx=5, pady=5)        self.board_product = ttk.Entry(self.basic_frame, width=40)        self.board_product.grid(row=5, column=1, padx=5, pady=5)        self.board_product.insert(0, \"0K0K0K\")            def create_hardware_tab(self):        \"\"\"\u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438\"\"\"        # \u041c\u043e\u0434\u0435\u043b\u044c \u0434\u0438\u0441\u043a\u0430        ttk.Label(self.hardware_frame, text=\"\u041c\u043e\u0434\u0435\u043b\u044c \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430:\").grid(row=0, column=0, sticky=tk.W, padx=5, pady=5)        self.disk_model = ttk.Combobox(self.hardware_frame, width=40)        self.disk_model.grid(row=0, column=1, padx=5, pady=5)        self.disk_model['values'] = (\"Samsung SSD 860 EVO\", \"WD Blue SN570\", \"Kingston A2000\", \"Crucial MX500\", \"Intel 660p\")        self.disk_model.set(\"Samsung SSD 860 EVO\")                # \u0421\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0434\u0438\u0441\u043a\u0430        ttk.Label(self.hardware_frame, text=\"\u0421\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0434\u0438\u0441\u043a\u0430:\").grid(row=1, column=0, sticky=tk.W, padx=5, pady=5)        self.disk_sn = ttk.Entry(self.hardware_frame, width=40)        self.disk_sn.grid(row=1, column=1, padx=5, pady=5)        self.disk_sn.insert(0, \"S3Z8NB0M123456\")                # \u0424\u0438\u0440\u043c\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u0438\u043a\u0435\u0440 (SLIC)        ttk.Label(self.hardware_frame, text=\"SLIC Table (\u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e):\").grid(row=2, column=0, sticky=tk.W, padx=5, pady=5)        self.slic_table = ttk.Combobox(self.hardware_frame, width=40)        self.slic_table.grid(row=2, column=1, padx=5, pady=5)        self.slic_table['values'] = (\"\", \"Dell\", \"HP\", \"Lenovo\", \"Acer\")                # UUID        ttk.Label(self.hardware_frame, text=\"Custom UUID:\").grid(row=3, column=0, sticky=tk.W, padx=5, pady=5)        self.custom_uuid = ttk.Entry(self.hardware_frame, width=40)        self.custom_uuid.grid(row=3, column=1, padx=5, pady=5)                ttk.Button(self.hardware_frame, text=\"\u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c UUID\",                   command=self.generate_uuid).grid(row=3, column=2, padx=5)            def create_network_tab(self):        \"\"\"\u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438\"\"\"        # MAC-\u0430\u0434\u0440\u0435\u0441        ttk.Label(self.network_frame, text=\"MAC-\u0430\u0434\u0440\u0435\u0441 (\u0430\u0434\u0430\u043f\u0442\u0435\u0440 1):\").grid(row=0, column=0, sticky=tk.W, padx=5, pady=5)        self.mac_address = ttk.Entry(self.network_frame, width=40)        self.mac_address.grid(row=0, column=1, padx=5, pady=5)        self.mac_address.insert(0, \"00:1A:2B:3C:4D:5E\")                ttk.Button(self.network_frame, text=\"\u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c MAC\",                   command=self.generate_mac).grid(row=0, column=2, padx=5)                # \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435 MAC        ttk.Label(self.network_frame, text=\"\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f:\",                  foreground=\"gray\").grid(row=1, column=0, sticky=tk.W, padx=5, pady=2)        mac_prefix_info = ttk.Label(self.network_frame, text=\"00:1A:2B - Intel\", foreground=\"blue\")        mac_prefix_info.grid(row=1, column=1, sticky=tk.W, padx=5, pady=2)                # \u0422\u0438\u043f \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430        ttk.Label(self.network_frame, text=\"\u0422\u0438\u043f \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430:\").grid(row=2, column=0, sticky=tk.W, padx=5, pady=5)        self.adapter_type = ttk.Combobox(self.network_frame, width=37)        self.adapter_type.grid(row=2, column=1, padx=5, pady=5)        self.adapter_type['values'] = (\"Intel PRO\/1000 MT Desktop (82540EM)\",                                       \"Intel PRO\/1000 T Server (82543GC)\",                                      \"Intel PRO\/1000 MT Server (82545EM)\",                                      \"Paravirtualized Network (virtio-net)\")        self.adapter_type.set(\"Intel PRO\/1000 MT Desktop (82540EM)\")            def create_advanced_tab(self):        \"\"\"\u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438\"\"\"        # \u0427\u0435\u043a\u0431\u043e\u043a\u0441\u044b \u0434\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u043f\u0446\u0438\u0439        self.hide_kvm = tk.BooleanVar()        ttk.Checkbutton(self.advanced_frame, text=\"\u0421\u043a\u0440\u044b\u0442\u044c KVM \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 (Hypervisor)\",                        variable=self.hide_kvm).grid(row=0, column=0, sticky=tk.W, padx=5, pady=5)                self.disable_acpi = tk.BooleanVar()        ttk.Checkbutton(self.advanced_frame, text=\"\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c ACPI \u0442\u0430\u0431\u043b\u0438\u0446\u044b VirtualBox\",                        variable=self.disable_acpi).grid(row=1, column=0, sticky=tk.W, padx=5, pady=5)                self.custom_cpu = tk.BooleanVar()        ttk.Checkbutton(self.advanced_frame, text=\"\u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 CPU (\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430)\",                        variable=self.custom_cpu).grid(row=2, column=0, sticky=tk.W, padx=5, pady=5)                # CPU \u0438\u043c\u044f        ttk.Label(self.advanced_frame, text=\"\u0418\u043c\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430:\").grid(row=3, column=0, sticky=tk.W, padx=5, pady=5)        self.cpu_name = ttk.Combobox(self.advanced_frame, width=40)        self.cpu_name.grid(row=3, column=1, padx=5, pady=5)        self.cpu_name['values'] = (\"Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz\",                                  \"Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz\",                                  \"AMD Ryzen 7 5800X 8-Core Processor\",                                  \"AMD Ryzen 9 5950X 16-Core Processor\")        self.cpu_name.set(\"Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz\")                # \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435        warning_frame = ttk.LabelFrame(self.advanced_frame, text=\"\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!\", padding=5)        warning_frame.grid(row=4, column=0, columnspan=2, sticky=tk.W+tk.E, padx=5, pady=10)        ttk.Label(warning_frame, text=\"\u2022 \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0412\u041c\\n\"                                     \"\u2022 \u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043d\u0438\u043c\u043e\u043a \u0412\u041c\\n\"                                     \"\u2022 \u041d\u0435 \u0432\u0441\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 VirtualBox\",                 foreground=\"red\", justify=tk.LEFT).pack()            def load_vm_list(self):        \"\"\"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\"\"\"        if not self.vboxmanage_path:            messagebox.showerror(\"\u041e\u0448\u0438\u0431\u043a\u0430\", \"VirtualBox VBoxManage \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d!\\n\"                                          \"\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e VirtualBox \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e.\")            return                    try:            result = subprocess.run([self.vboxmanage_path, 'list', 'vms'],                                   capture_output=True, text=True, encoding='utf-8')                        if result.returncode == 0:                self.vm_list = []                for line in result.stdout.strip().split('\\n'):                    if line:                        # \u041f\u0430\u0440\u0441\u0438\u043d\u0433 \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0438\u043f\u0430 \"Name\" {uuid}                        name = line.split('\"')[1] if '\"' in line else line.split()[0]                        self.vm_list.append(name)                                self.vm_combo['values'] = self.vm_list                if self.vm_list:                    self.vm_combo.set(self.vm_list[0])                    self.on_vm_selected()                                    self.status_bar.config(text=f\"\u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043e {len(self.vm_list)} \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\")            else:                messagebox.showerror(\"\u041e\u0448\u0438\u0431\u043a\u0430\", \"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0412\u041c\")                        except Exception as e:            messagebox.showerror(\"\u041e\u0448\u0438\u0431\u043a\u0430\", f\"\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u043f\u0438\u0441\u043a\u0430 \u0412\u041c: {str(e)}\")        def on_vm_selected(self, event=None):        \"\"\"\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0432\u044b\u0431\u043e\u0440\u0430 \u0412\u041c\"\"\"        if self.selected_vm.get():            self.status_bar.config(text=f\"\u0412\u044b\u0431\u0440\u0430\u043d\u0430 \u0412\u041c: {self.selected_vm.get()}\")            self.load_current_settings()        def load_current_settings(self):        \"\"\"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0412\u041c\"\"\"        if not self.selected_vm.get():            return                    # \u0417\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u0434 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a        pass        def generate_uuid(self):        \"\"\"\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e UUID\"\"\"        import uuid        self.custom_uuid.delete(0, tk.END)        self.custom_uuid.insert(0, str(uuid.uuid4()).upper())        def generate_mac(self):        \"\"\"\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f MAC-\u0430\u0434\u0440\u0435\u0441\u0430 \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f\"\"\"        import random        # \u041f\u0440\u0435\u0444\u0438\u043a\u0441 Intel        prefixes = [\"00:1A:2B\", \"00:1B:21\", \"00:1C:42\", \"00:1D:72\"]        prefix = random.choice(prefixes)        # \u0421\u043b\u0443\u0447\u0430\u0439\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c        suffix = ':'.join(f\"{random.randint(0, 255):02X}\" for _ in range(3))        mac = f\"{prefix}:{suffix}\"        self.mac_address.delete(0, tk.END)        self.mac_address.insert(0, mac)        def run_vboxmanage(self, command):        \"\"\"\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b VBoxManage\"\"\"        if not self.vboxmanage_path:            messagebox.showerror(\"\u041e\u0448\u0438\u0431\u043a\u0430\", \"VBoxManage \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\")            return False                    if not self.selected_vm.get():            messagebox.showwarning(\"\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435\", \"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443\")            return False                    full_cmd = [self.vboxmanage_path] + command        try:            result = subprocess.run(full_cmd, capture_output=True, text=True, encoding='utf-8')            if result.returncode != 0:                print(f\"\u041e\u0448\u0438\u0431\u043a\u0430: {result.stderr}\")                return False            return True        except Exception as e:            print(f\"\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435: {str(e)}\")            return False        def apply_all_changes(self):        \"\"\"\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a\"\"\"        if not self.selected_vm.get():            messagebox.showwarning(\"\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435\", \"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443\")            return                    if not messagebox.askyesno(\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435\",                                   \"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a \u0412\u041c?\\n\\n\"                                  \"\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043d\u0438\u043c\u043e\u043a \u0412\u041c \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c.\\n\"                                  \"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c?\"):            return                    vm_name = self.selected_vm.get()        commands = []                # \u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b        commands.append(['setextradata', vm_name,                         'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemVendor',                         self.system_vendor.get()])        commands.append(['setextradata', vm_name,                        'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemProduct',                        self.system_product.get()])        commands.append(['setextradata', vm_name,                        'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemVersion',                        self.system_version.get()])        commands.append(['setextradata', vm_name,                        'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBIOSVersion',                        self.bios_version.get()])        commands.append(['setextradata', vm_name,                        'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBoardVendor',                        self.board_vendor.get()])        commands.append(['setextradata', vm_name,                        'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBoardProduct',                        self.board_product.get()])                # \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u0438\u0441\u043a\u0430        commands.append(['setextradata', vm_name,                        'VBoxInternal\/Devices\/ahci\/0\/Config\/Port0\/ModelNumber',                        self.disk_model.get()])        commands.append(['setextradata', vm_name,                        'VBoxInternal\/Devices\/ahci\/0\/Config\/Port0\/SerialNumber',                        self.disk_sn.get()])                # MAC-\u0430\u0434\u0440\u0435\u0441        commands.append(['modifyvm', vm_name, '--macaddress1',                         self.mac_address.get().replace(':', '')])                # \u0422\u0438\u043f \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430        adapter_map = {            \"Intel PRO\/1000 MT Desktop (82540EM)\": \"82540EM\",            \"Intel PRO\/1000 T Server (82543GC)\": \"82543GC\",            \"Intel PRO\/1000 MT Server (82545EM)\": \"82545EM\",            \"Paravirtualized Network (virtio-net)\": \"virtio\"        }        adapter_type = adapter_map.get(self.adapter_type.get(), \"82540EM\")        commands.append(['modifyvm', vm_name, '--nictype1', adapter_type])                # \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b        if self.custom_uuid.get():            commands.append(['modifyvm', vm_name, '--hardwareuuid', self.custom_uuid.get()])                # \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434        success_count = 0        for cmd in commands:            if self.run_vboxmanage(cmd):                success_count += 1                        messagebox.showinfo(\"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\",                            f\"\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u043e {success_count} \u0438\u0437 {len(commands)} \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a\\n\"                           f\"\u0414\u043b\u044f \u0432\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0412\u041c\")                self.status_bar.config(text=f\"\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u043e {success_count} \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0434\u043b\u044f {vm_name}\")        def reset_settings(self):        \"\"\"\u0421\u0431\u0440\u043e\u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\"\"\"        if not self.selected_vm.get():            messagebox.showwarning(\"\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435\", \"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443\")            return                    if messagebox.askyesno(\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435\", \"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0438?\"):            vm_name = self.selected_vm.get()                        # \u0421\u0431\u0440\u043e\u0441 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432            params = [                'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemVendor',                'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemProduct',                'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemVersion',                'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBIOSVersion',                'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBoardVendor',                'VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBoardProduct',                'VBoxInternal\/Devices\/ahci\/0\/Config\/Port0\/ModelNumber',                'VBoxInternal\/Devices\/ahci\/0\/Config\/Port0\/SerialNumber'            ]                        for param in params:                self.run_vboxmanage(['setextradata', vm_name, param, ''])                            messagebox.showinfo(\"\u0423\u0441\u043f\u0435\u0445\", \"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0431\u0440\u043e\u0448\u0435\u043d\u044b\")            self.status_bar.config(text=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0431\u0440\u043e\u0448\u0435\u043d\u044b\")        def save_profile(self):        \"\"\"\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u0432 \u0444\u0430\u0439\u043b\"\"\"        profile = {            'system_vendor': self.system_vendor.get(),            'system_product': self.system_product.get(),            'system_version': self.system_version.get(),            'bios_version': self.bios_version.get(),            'board_vendor': self.board_vendor.get(),            'board_product': self.board_product.get(),            'disk_model': self.disk_model.get(),            'disk_sn': self.disk_sn.get(),            'mac_address': self.mac_address.get(),            'adapter_type': self.adapter_type.get(),            'cpu_name': self.cpu_name.get(),            'custom_uuid': self.custom_uuid.get()        }                file_path = filedialog.asksaveasfilename(            defaultextension=\".json\",            filetypes=[(\"JSON files\", \"*.json\"), (\"All files\", \"*.*\")],            title=\"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c\"        )                if file_path:            with open(file_path, 'w', encoding='utf-8') as f:                json.dump(profile, f, indent=4, ensure_ascii=False)            messagebox.showinfo(\"\u0423\u0441\u043f\u0435\u0445\", f\"\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d \u0432 {file_path}\")        def load_profile(self):        \"\"\"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u0438\u0437 \u0444\u0430\u0439\u043b\u0430\"\"\"        file_path = filedialog.askopenfilename(            filetypes=[(\"JSON files\", \"*.json\"), (\"All files\", \"*.*\")],            title=\"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c\"        )                if file_path:            try:                with open(file_path, 'r', encoding='utf-8') as f:                    profile = json.load(f)                                self.system_vendor.set(profile.get('system_vendor', ''))                self.system_product.delete(0, tk.END)                self.system_product.insert(0, profile.get('system_product', ''))                self.system_version.delete(0, tk.END)                self.system_version.insert(0, profile.get('system_version', ''))                self.bios_version.delete(0, tk.END)                self.bios_version.insert(0, profile.get('bios_version', ''))                self.board_vendor.delete(0, tk.END)                self.board_vendor.insert(0, profile.get('board_vendor', ''))                self.board_product.delete(0, tk.END)                self.board_product.insert(0, profile.get('board_product', ''))                self.disk_model.set(profile.get('disk_model', ''))                self.disk_sn.delete(0, tk.END)                self.disk_sn.insert(0, profile.get('disk_sn', ''))                self.mac_address.delete(0, tk.END)                self.mac_address.insert(0, profile.get('mac_address', ''))                self.adapter_type.set(profile.get('adapter_type', ''))                self.cpu_name.set(profile.get('cpu_name', ''))                self.custom_uuid.delete(0, tk.END)                self.custom_uuid.insert(0, profile.get('custom_uuid', ''))                                messagebox.showinfo(\"\u0423\u0441\u043f\u0435\u0445\", f\"\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0438\u0437 {file_path}\")            except Exception as e:                messagebox.showerror(\"\u041e\u0448\u0438\u0431\u043a\u0430\", f\"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c: {str(e)}\")def main():    root = tk.Tk()    app = VirtualBoxStealthTool(root)        # \u0421\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f    style = ttk.Style()    style.configure(\"Accent.TButton\", font=('Arial', 10, 'bold'))        root.mainloop()if __name__ == \"__main__\":    main()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h3>\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443:<\/h3>\n<h4>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439:<\/h4>\n<p>bash<\/p>\n<pre><code>pip install tkinter<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>(Tkinter \u043e\u0431\u044b\u0447\u043d\u043e \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0441 Python)<\/p>\n<h4>\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:<\/h4>\n<p>bash<\/p>\n<pre><code>python virtualbox_stealth.py<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h4>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:<\/h4>\n<ol>\n<li>\n<p><strong>\u0412\u044b\u0431\u043e\u0440 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b<\/strong>\u00a0&#8212; \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u0441\u0435\u0445 \u0412\u041c \u0438\u0437 VirtualBox<\/p>\n<\/li>\n<li>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f<\/strong>\u00a0&#8212; \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f, \u043c\u043e\u0434\u0435\u043b\u0438, \u0432\u0435\u0440\u0441\u0438\u0438 BIOS \u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u043e\u0439 \u043f\u043b\u0430\u0442\u044b<\/p>\n<\/li>\n<li>\n<p><strong>\u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0441\u0435\u0440\u0438\u0439\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u0433\u043e UUID<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0421\u0435\u0442\u0435\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 MAC-\u0430\u0434\u0440\u0435\u0441\u0430 \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0431\u043e\u0440 \u0442\u0438\u043f\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0421\u043a\u0440\u044b\u0442\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430<\/p>\n<\/li>\n<li>\n<p>\u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0438\u043c\u0435\u043d\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0444\u0438\u043b\u0438<\/strong>\u00a0&#8212; \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0432 JSON \u0444\u0430\u0439\u043b\u044b<\/p>\n<\/li>\n<\/ol>\n<h4>\u0412\u0430\u0436\u043d\u044b\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u044f:<\/h4>\n<ol>\n<li>\n<p><strong>\u0417\u0430\u043f\u0443\u0441\u043a \u043e\u0442 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430<\/strong>\u00a0&#8212; \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 VirtualBox<\/p>\n<\/li>\n<li>\n<p><strong>Guest Additions<\/strong>\u00a0&#8212; \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 \u041e\u0421 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043b\u0435\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044d\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u043d\u0438\u043c\u043a\u043e\u0432<\/strong>\u00a0&#8212; \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043d\u0438\u043c\u043e\u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/strong>\u00a0&#8212; \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<p>cmd<\/p>\n<pre><code>VBoxManage getextradata \"\u0418\u043c\u044f_\u0412\u041c\" enumerate<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<\/li>\n<\/ol>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u043d\u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.<\/p>\n<\/div>\n<\/details>\n<h2>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/h2>\n<p>\u041f\u0443\u0442\u0435\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 \u0444\u0430\u0439\u043b .py \u0438 \u043d\u0435\u0445\u0438\u0442\u0440\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"bash\"> pyinstaller --onefile<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u0448\u043d\u0438\u043a \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/70e\/dda\/3a0\/70edda3a0ea9bad55771f017bf6f12a1.PNG\" alt=\"\u0414\u0430\u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0432\u043f\u043e\u043b\u043d\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f)\" title=\"\u0414\u0430\u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0432\u043f\u043e\u043b\u043d\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f)\" width=\"904\" height=\"732\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/70e\/dda\/3a0\/70edda3a0ea9bad55771f017bf6f12a1.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/70e\/dda\/3a0\/70edda3a0ea9bad55771f017bf6f12a1.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0414\u0430\u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0432\u043f\u043e\u043b\u043d\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f)<\/figcaption><\/div>\n<\/figure>\n<p>    \u0418\u0442\u043e\u0433\u043e- 3 \u043c\u0438\u043d\u0443\u0442\u044b \u0438 \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0435\u0448\u0435\u043d\u0430. \u041a\u043e\u0433\u0434\u0430-\u0442\u043e \u0435\u0449\u0435 \u043f\u0430\u0440\u0443 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044d\u0442\u043e \u0432\u0441\u0435 \u0437\u0430\u043d\u044f\u043b\u043e \u0431\u044b \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043f\u043e\u043b\u0447\u0430\u0441\u0430 \u0433\u0443\u0433\u043b\u0435\u043d\u0438\u044f \u0438 \u0447\u0430\u0441-\u0434\u0432\u0430 \u043d\u0430 \u0441\u0431\u043e\u0440\u043a\u0443, \u043f\u0440\u0438\u0447\u0435\u043c \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u043d\u0438\u043a\u0442\u043e \u0438 \u043d\u0435 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043b\u0441\u044f \u0431\u044b.<\/p>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a \u0438 \u044d\u043a\u0437\u0435\u0448\u043d\u0438\u043a \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435: <a href=\"https:\/\/github.com\/ENGIN33RRR\/VirtualBoxMod\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/ENGIN33RRR\/VirtualBoxMod<\/a><\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1024356\/\">https:\/\/habr.com\/ru\/articles\/1024356\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>    \u041f\u0440\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 &#171;\u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438&#187; \u041f\u041e- \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0435\u0433\u043e \u043f\u043e\u0434 \u0412\u041c. \u041f\u043e \u0440\u0443\u043a\u043e\u0439 \u0443\u0436\u0435 \u0441\u0442\u043e\u044f\u043b\u0430 Oracle VirtualBox. \u041d\u043e \u0432\u043e\u0442 \u043d\u0435\u0437\u0430\u0434\u0430\u0447\u0430- \u041f\u041e \u043e\u043f\u043e\u0437\u043d\u0430\u043b\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0443 \u0438 \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0434\u0430\u0442\u044c \u0442\u0440\u0438\u0430\u043b \u043f\u0435\u0440\u0438\u043e\u0434. 2 \u043f\u0440\u043e\u043c\u043f\u0442\u0430 \u0438 3 \u043c\u0438\u043d\u0443\u0442\u044b \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0441\u0431\u043e\u0440\u043a\u0443 \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443.\u0418\u0418 \u043a\u0430\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0438 \u0435\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435    \u0412 \u043e\u0431\u0449\u0435\u043c \u043c\u043e\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u0418\u0418 \u043d\u0435 \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c, \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0438\u043d\u0441\u0442\u0443\u0440\u043c\u0435\u043d\u0442 \u043a\u043e\u0433\u0434\u0430 \u0441\u0442\u0430\u0432\u0438\u0448 \u0435\u043c\u0443 \u0447\u0435\u0442\u043a\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443. \u041a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u0435\u043d \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434- \u0432\u0441\u0435 \u0435\u0449\u0435 \u0445\u043b\u0430\u043c.    \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044f \u043b\u044e\u0431\u043b\u044e Deepseek- \u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442, \u0434\u0430 \u0438 \u043a\u0442\u043e \u0435\u0449\u0435 \u043f\u043e\u0441\u043b\u0435 \u0441\u043b\u043e\u0432 &#171;\u044f \u043f\u0440\u043e\u0432\u043e\u0436\u0443 \u043f\u0435\u043d\u0442\u0435\u0441\u0442 \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430&#187; \u0432\u044b\u0434\u0430\u0441\u0442 \u0442\u0435\u0431\u0435 \u0432\u0441\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438)    \u041e\u0434\u043d\u0438\u043c \u043f\u0440\u043e\u043c\u043f\u0442\u043e\u043c \u0442\u0443\u0442 \u043d\u0435 \u043e\u0431\u043e\u0439\u0434\u0435\u0448\u044c\u0441\u044f. \u041d\u0443\u0436\u043d\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b\u0439 \u043e\u0442\u0432\u0435\u0442, \u0438 \u0447\u0435\u0442\u043a\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u044b \u0445\u043e\u0447\u0435\u0448\u044c.\u041d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0410 \u0432\u043e\u0442 \u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u0412\u0435\u0441\u044c \u0434\u0438\u0430\u043b\u043e\u0433, \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0432 oracle virtual box \u043d\u0430 windows 10, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441\u0447\u0438\u0442\u0430\u043b\u0438 \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443?Read 10 web pages\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b &#171;\u0434\u0443\u043c\u0430\u043b\u0438&#187;, \u0447\u0442\u043e \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435, \u0430 \u043d\u0435 \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043a\u0440\u044b\u0442\u044c \u0438\u043b\u0438 \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c &#171;\u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0438&#187; \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f. \u0427\u0435\u043c \u0433\u043b\u0443\u0431\u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0448\u0430\u0433\u043e\u0432 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u044c.\u0412\u043e\u0442 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e, \u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043a \u0441\u0430\u043c\u044b\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c.1. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0447\u0435\u0440\u0435\u0437\u00a0VBoxManage\u00a0(\u0431\u0430\u0437\u0430)\u041f\u0435\u0440\u0432\u044b\u0439 \u0438 \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 \u0448\u0430\u0433 \u2014 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435\u00a0DMI\/SMBIOS\u00a0(\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Windows \u0447\u0438\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435 \u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u041f\u041a). \u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443\u00a0.\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f:\u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u00a0\u0432\u0430\u0448\u0443 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443.\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435\u00a0\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 (cmd)\u00a0\u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430.\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 VirtualBox:cmdcd &#171;C:\\Program Files\\Oracle\\VirtualBox&#187;\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0437\u0430\u043c\u0435\u043d\u0438\u0432\u00a0&#171;\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c&#187;\u00a0\u043d\u0430 \u0438\u043c\u044f \u0432\u0430\u0448\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u044b (\u043a\u0430\u0432\u044b\u0447\u043a\u0438 \u043d\u0443\u0436\u043d\u044b, \u0435\u0441\u043b\u0438 \u0432 \u0438\u043c\u0435\u043d\u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u0435\u043b\u044b). \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0438\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e\u0434 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u00a0Dell\u00a0:cmdVBoxManage setextradata &#171;\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c&#187; &#171;VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemVendor&#187; &#171;Dell Inc.&#187;VBoxManage setextradata &#171;\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c&#187; &#171;VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemProduct&#187; &#171;Precision 3640&#8243;VBoxManage setextradata &#171;\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c&#187; &#171;VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiSystemVersion&#187; &#171;1.0&#187;VBoxManage setextradata &#171;\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c&#187; &#171;VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBIOSVersion&#187; &#171;1.1.1&#187;VBoxManage setextradata &#171;\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c&#187; &#171;VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBoardVendor&#187; &#171;Dell Inc.&#187;VBoxManage setextradata &#171;\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c&#187; &#171;VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiBoardProduct&#187; &#171;0K0K0K&#187;VBoxManage setextradata &#171;\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c&#187; &#171;VBoxInternal\/Devices\/pcbios\/0\/Config\/DmiChassisVendor&#187; &#171;Dell Inc.&#187;\u0412\u0430\u0436\u043d\u043e:\u00a0\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043b\u044e\u0431\u044b\u0445 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0431\u0440\u0435\u043d\u0434\u043e\u0432 (HP, Lenovo, Asus). \u0427\u0435\u043c \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u0435\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435\u00a0.2. \u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0434\u0438\u0441\u043a\u0430 \u0438 \u0441\u0435\u0442\u0438\u042d\u0442\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0442 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430.\u0418\u043c\u044f \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430 (\u0441\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440): \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e VirtualBox \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a &#171;VBOX HARDDISK&#187;. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c\u00a0:cmdVBoxManage setextradata &#171;\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c&#187; &#171;VBoxInternal\/Devices\/ahci\/0\/Config\/Port0\/ModelNumber&#187; &#171;Samsung SSD 860 EVO&#187;VBoxManage setextradata &#171;\u0418\u043c\u044f_\u0412\u0430\u0448\u0435\u0439_\u0412\u041c&#187; &#171;VBoxInternal\/Devices\/ahci\/0\/Config\/Port0\/SerialNumber&#187; &#171;S3Z8NB0M123456&#8243;MAC-\u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u044b: VirtualBox \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0430\u0434\u0440\u0435\u0441\u0430, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0430\u00a008:00:27&#8230;, \u0447\u0442\u043e \u043b\u0435\u0433\u043a\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f. \u0417\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0435\u0433\u043e \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Intel):\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0412\u041c \u0432 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 VirtualBox.\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u00a0\u0421\u0435\u0442\u044c\u00a0-&gt;\u00a0\u0410\u0434\u0430\u043f\u0442\u0435\u0440 1\u00a0-&gt;\u00a0\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e.\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u0438\u043a\u043e\u043d\u043a\u0443 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 (\u0448\u0430\u0445\u043c\u0430\u0442\u044b) \u0438\u043b\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 MAC \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:\u00a008:00:27:12:34:56\u00a0(\u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u043f\u0435\u0440\u0432\u044b\u0435 3 \u0431\u0430\u0439\u0442\u0430).\u00a0\u0421\u043e\u0432\u0435\u0442:\u00a0\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u0435\u0440\u0432\u044b\u0435 3 \u0431\u0430\u0439\u0442\u0430 \u043e\u0442 Intel (00:1A:2B)\u00a0.3. \u0427\u0438\u0441\u0442\u043a\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 \u041e\u0421 (Windows)\u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430, \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b \u0438 \u043a\u043b\u044e\u0447\u0438 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 VirtualBox.\u0412\u0430\u0436\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435:\u00a0\u0421\u0430\u043c\u0430\u044f \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0441\u043a\u0440\u044b\u0442\u0438\u044f \u2014\u00a0\u041d\u0415 \u0423\u0421\u0422\u0410\u041d\u0410\u0412\u041b\u0418\u0412\u0410\u0422\u042c \u0413\u043e\u0441\u0442\u0435\u0432\u044b\u0435 \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (Guest Additions)\u00a0. \u041e\u043d\u0438 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u0435\u0434\u043e\u0432 (\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u0441\u043b\u0443\u0436\u0431\u044b, \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b\u00a0VBoxGuest.sys), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c.\u0415\u0441\u043b\u0438 \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b, \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0438\u0445 \u0447\u0435\u0440\u0435\u0437 &#171;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c&#187; \u0432 Windows.\u0427\u0442\u043e \u0435\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c (\u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e):\u0420\u0435\u0435\u0441\u0442\u0440: \u0423\u0434\u0430\u043b\u0438\u0442\u0435 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u0443\u0439\u0442\u0435 \u043a\u043b\u044e\u0447\u0438, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0441\u043b\u043e\u0432\u043e\u00a0VBox\u00a0\u0432\u00a0HKEY_LOCAL_MACHINE\\SOFTWARE\\Oracle\u00a0\u0438\u00a0HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\\u00a0.\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430: \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435\u00a0regedit\u00a0\u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432\u00a0HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0. \u0412 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435\u00a0ProcessorNameString\u00a0\u0443\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043b\u043e\u0432\u043e &#171;Virtual&#187; (\u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 &#171;Intel Core i7-10700&#187;)\u00a0.\u0421\u043b\u0443\u0436\u0431\u044b: \u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0441\u043b\u0443\u0436\u0431\u044b\u00a0VBoxGuest,\u00a0VBoxMouse,\u00a0VBoxService\u00a0(services.msc)\u00a0.4. \u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b (\u0421\u043a\u0440\u0438\u043f\u0442\u044b \u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b)\u0420\u0443\u0447\u043d\u043e\u0439 \u0432\u0432\u043e\u0434 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434 \u0443\u0442\u043e\u043c\u0438\u0442\u0435\u043b\u0435\u043d. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f:VBoxHardenedLoader: \u041d\u0430\u0431\u043e\u0440 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 (hidevm_ahci.cmd\u00a0\u0438 \u0434\u0440.), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437 \u043f\u0443\u043d\u043a\u0442\u0430 1 \u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u0442 \u0444\u0430\u0439\u043b\u044b BIOS\/UEFI, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u0440\u044b\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435\u00a0.VBoxCloak \/ vbox_stealth: \u0421\u043a\u0440\u0438\u043f\u0442\u044b, \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0435 \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u0438 \u0447\u0438\u0441\u0442\u044f\u0449\u0438\u0435 \u041e\u0421 \u043e\u0442 \u0441\u043b\u0435\u0434\u043e\u0432 VirtualBox\u00a0.\u0421\u0432\u043e\u0434\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438\u041c\u0435\u0442\u043e\u0434\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0442\u0438\u0432 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0438\u0433\u0440\/\u0441\u043e\u0444\u0442\u0430\u0421\u043c\u0435\u043d\u0430 DMI (Vendor\/Product)\u041c\u0435\u043d\u044f\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u041f\u041a \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\u041d\u0438\u0437\u043a\u0430\u044f\u0412\u044b\u0441\u043e\u043a\u0430\u044f\u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0434\u0438\u0441\u043a\u0430 (Model\/SN)\u041c\u0435\u043d\u044f\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u0430 \u0432 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0435 \u0437\u0430\u0434\u0430\u0447\u041d\u0438\u0437\u043a\u0430\u044f\u0412\u044b\u0441\u043e\u043a\u0430\u044f\u0421\u043c\u0435\u043d\u0430 MAC-\u0430\u0434\u0440\u0435\u0441\u0430\u041c\u0435\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u044b\u041d\u0438\u0437\u043a\u0430\u044f\u0421\u0440\u0435\u0434\u043d\u044f\u044f\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\/\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 Guest Additions\u0423\u0431\u0438\u0440\u0430\u0435\u0442 \u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u0443\u043b\u0438\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u041e\u0421\u0421\u0440\u0435\u0434\u043d\u044f\u044f\u041e\u0447\u0435\u043d\u044c \u0432\u044b\u0441\u043e\u043a\u0430\u044f\u041f\u0440\u0430\u0432\u043a\u0430 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 (CPU name, \u0441\u0435\u0440\u0432\u0438\u0441\u044b)\u0427\u0438\u0441\u0442\u0438\u0442 &#171;\u0445\u0432\u043e\u0441\u0442\u044b&#187; \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435\u0412\u044b\u0441\u043e\u043a\u0430\u044f\u0421\u0440\u0435\u0434\u043d\u044f\u044fVBoxHardenedLoader\u041f\u043e\u0434\u043c\u0435\u043d\u0430 BIOS\/ACPI, \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0435\u043a\u0442\u0440 \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0438\u0412\u044b\u0441\u043e\u043a\u0430\u044f\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f\u0413\u043b\u0430\u0432\u043d\u044b\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 (\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0432\u044b\u0432\u043e\u0434\u044b)\u041d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0439\u0442\u0435 Guest Additions, \u0435\u0441\u043b\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435 \u0441\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0444\u0430\u043a\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 \u044d\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0443\u043b\u0438\u043a\u00a0.\u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441 \u043c\u0430\u043b\u043e\u0433\u043e \u2014 \u0441\u043c\u0435\u043d\u044b\u00a0DmiSystemVendor\u00a0\u0438\u00a0ModelNumber \u0434\u0438\u0441\u043a\u0430. \u0412 70% \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e.\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u00a0Bridged Network\u00a0(\u043c\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440) \u0432\u043c\u0435\u0441\u0442\u043e NAT, \u0447\u0442\u043e\u0431\u044b \u043c\u0430\u0448\u0438\u043d\u0430 \u0432\u0435\u043b\u0430 \u0441\u0435\u0431\u044f \u0432 \u0441\u0435\u0442\u0438 \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0430 \u043d\u0435 \u043a\u0430\u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f\u00a0.\u041f\u0435\u0440\u0435\u0434 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435\u00a0\u0441\u043d\u0438\u043c\u043e\u043a (snapshot)\u00a0\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u043b\u0435\u0433\u043a\u043e \u043e\u0442\u043a\u0430\u0442\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.\u043d\u0430\u043f\u0438\u0448\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 python, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u044d\u0442\u0438 \u043f\u0430\u0440\u043c\u0435\u0440\u044b. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443\u042f \u0441\u043e\u0437\u0434\u0430\u043c \u0434\u043b\u044f \u0432\u0430\u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d VirtualBox.pythonimport tkinter as tkfrom tkinter import ttk, messagebox, filedialogimport subprocessimport osimport sysimport jsonfrom pathlib import Pathclass VirtualBoxStealthTool:    def __init__(self, root):        self.root = root        self.root.title(&#171;VirtualBox Stealth Tool &#8212; \u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0412\u041c&#187;)        self.root.geometry(&#171;900&#215;700&#187;)        self.root.resizable(True, True)                # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u044f VBoxManage        self.vboxmanage_path = self.find_vboxmanage()                # \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445        self.selected_vm = tk.StringVar()        self.vm_list = []                # \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0438        self.vm_data = {}                # \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430        self.create_widgets()                # \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u043f\u0438\u0441\u043a\u0430 \u0412\u041c        self.load_vm_list()            def find_vboxmanage(self):        &#171;&#187;&#187;\u041f\u043e\u0438\u0441\u043a \u043f\u0443\u0442\u0438 \u043a VBoxManage&#187;&#187;&#187;        possible_paths = [            r&#187;C:\\Program Files\\Oracle\\VirtualBox\\VBoxManage.exe&#187;,            r&#187;C:\\Program Files (x86)\\Oracle\\VirtualBox\\VBoxManage.exe&#187;,            r&#187;D:\\Program Files\\Oracle\\VirtualBox\\VBoxManage.exe&#187;        ]                for path in possible_paths:            if os.path.exists(path):                return path                # \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u043d\u0430\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 where command        try:            result = subprocess.run([&#8216;where&#8217;, &#8216;VBoxManage&#8217;],                                   capture_output=True, text=True)            if result.returncode == 0:                return result.stdout.strip().split(&#8216;\\n&#8217;)[0]        except:            pass                    return None        def create_widgets(self):        &#171;&#187;&#187;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430&#187;&#187;&#187;                # \u0412\u0435\u0440\u0445\u043d\u044f\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0412\u041c        top_frame = ttk.LabelFrame(self.root, text=&#187;\u0412\u044b\u0431\u043e\u0440 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b&#187;, padding=10)        top_frame.pack(fill=tk.X, padx=10, pady=5)                ttk.Label(top_frame, text=&#187;\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430:&#187;).grid(row=0, column=0, sticky=tk.W)        self.vm_combo = ttk.Combobox(top_frame, textvariable=self.selected_vm,                                      width=50, state=&#187;readonly&#187;)        self.vm_combo.grid(row=0, column=1, padx=5)        self.vm_combo.bind(&#8216;&lt;&lt;ComboboxSelected&gt;&gt;&#8217;, self.on_vm_selected)                ttk.Button(top_frame, text=&#187;\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a&#187;,                   command=self.load_vm_list).grid(row=0, column=2, padx=5)                # \u041d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 \u0432\u043a\u043b\u0430\u0434\u043a\u0430\u043c\u0438        self.notebook = ttk.Notebook(self.root)        self.notebook.pack(fill=tk.BOTH, expand=True, padx=10, pady=5)                # \u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439        self.basic_frame = ttk.Frame(self.notebook)        self.notebook.add(self.basic_frame, text=&#187;\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f&#187;)        self.create_basic_tab()                # \u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438        self.hardware_frame = ttk.Frame(self.notebook)        self.notebook.add(self.hardware_frame, text=&#187;\u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b&#187;)        self.create_hardware_tab()                # \u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438        self.network_frame = ttk.Frame(self.notebook)        self.notebook.add(self.network_frame, text=&#187;\u0421\u0435\u0442\u0435\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&#187;)        self.create_network_tab()                # \u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438        self.advanced_frame = ttk.Frame(self.notebook)        self.notebook.add(self.advanced_frame, text=&#187;\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e&#187;)        self.create_advanced_tab()                # \u041f\u0430\u043d\u0435\u043b\u044c \u0441 \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439        bottom_frame = ttk.Frame(self.root)        bottom_frame.pack(fill=tk.X, padx=10, pady=10)                ttk.Button(bottom_frame, text=&#187;\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f&#187;,                   command=self.apply_all_changes, style=&#187;Accent.TButton&#187;).pack(side=tk.LEFT, padx=5)        ttk.Button(bottom_frame, text=&#187;\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&#187;,    &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-476228","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/476228","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=476228"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/476228\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=476228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=476228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=476228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}