{"id":110721,"date":"2023-10-10T15:10:19","date_gmt":"2023-10-10T13:10:19","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android"},"modified":"2023-10-10T15:10:19","modified_gmt":"2023-10-10T13:10:19","slug":"google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/news\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android","title":{"rendered":"A Google Rust nyelven \u00e1t\u00edrta az Androidban haszn\u00e1lt pvmfm firmware-t","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Az Android platform kritikus szoftverkomponenseinek biztons\u00e1g\u00e1nak meger\u0151s\u00edt\u00e9se \u00e9rdek\u00e9ben a Google \u00fajra\u00edrta a pvmfm firmware-t a Rust nyelven, amelyet a pVM hypervisor \u00e1ltal ind\u00edtott virtu\u00e1lis g\u00e9pek m\u0171k\u00f6dtet\u00e9s\u00e9re haszn\u00e1lnak az Android Virtualization Framework keretein bel\u00fcl. A firmware kor\u00e1bban C nyelven \u00edr\u00f3dott \u00e9s az U-Boot bootloaderre \u00e9p\u00fclt, amelyben kor\u00e1bban mem\u00f3riakezel\u00e9si probl\u00e9m\u00e1k miatt tal\u00e1ltak sebezhet\u0151s\u00e9geket.     <\/p>\n<p>A Rust nyelvre \u00fajra\u00edrt firmware az Android 14 r\u00e9sze, \u00e9s a firmware fejleszt\u00e9se sor\u00e1n l\u00e9trehozott \u00e1ltal\u00e1nos k\u00f6nyvt\u00e1rakat crate-csomagok form\u00e1j\u00e1ban \u00e1tadt\u00e1k a Rust k\u00f6z\u00f6ss\u00e9gnek. P\u00e9ld\u00e1ul k\u00f6zz\u00e9tett\u00e9k az smccc csomagot az ARM PSCI (Power State Coordination Interface) interf\u00e9szek \u00e9s az SMCCC (SMC Calling Convention) h\u00edv\u00e1sok t\u00e1mogat\u00e1s\u00e1ra, valamint az aarch64-paging csomagot a mem\u00f3riaoldal-t\u00e1bl\u00e1k kezel\u00e9s\u00e9re. Emellett a megl\u00e9v\u0151 virtio-drivers csomag hib\u00e1inak kijav\u00edt\u00e1s\u00e1n \u00e9s funkcionalit\u00e1s\u00e1nak b\u0151v\u00edt\u00e9s\u00e9n is dolgoztak a VirtIO illeszt\u0151programok megval\u00f3s\u00edt\u00e1s\u00e1val. Az Android platform mellett a fent eml\u00edtett csomagokat az Oak projekt is haszn\u00e1lja, amely biztons\u00e1gos k\u00f6rnyezetekben (TEE, Trusted Execution Environment) t\u00f6rt\u00e9n\u0151 adat\u00e1tvitel, t\u00e1rol\u00e1s \u00e9s feldolgoz\u00e1s komponenseit fejleszti.        <\/p>\n<p>A pVM hypervisor a bet\u00f6lt\u00e9s korai szakasz\u00e1ban kapja meg az ir\u00e1ny\u00edt\u00e1st, \u00e9s teljes mem\u00f3riaizol\u00e1ci\u00f3t biztos\u00edt. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hu\/vps\/\"   title=\"virtu\u00e1lis g\u00e9pekhez\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2070\">virtu\u00e1lis g\u00e9pekhez<\/a> \u00e9s egy host-k\u00f6rnyezetet, megakad\u00e1lyozva, hogy a host-rendszer hozz\u00e1f\u00e9rjen a v\u00e9dett virtu\u00e1lis g\u00e9pekhez, ahol bizalmas adatokat dolgoznak fel. A pvmfm (Protected Virtual Machine Firmware) firmware azonnal a virtu\u00e1lis g\u00e9p elind\u00edt\u00e1sa ut\u00e1n kapja meg az ir\u00e1ny\u00edt\u00e1st, ellen\u0151rzi a l\u00e9trej\u00f6tt k\u00f6rnyezetet, \u00e9s d\u00f6nt\u00e9st hoz a bet\u00f6lt\u00e9s s\u00fcrg\u0151ss\u00e9gi megszak\u00edt\u00e1s\u00e1r\u00f3l, ha a integrit\u00e1ssal kapcsolatos probl\u00e9m\u00e1kat \u00e9szlel, vagy gener\u00e1lja a guest rendszer boot tan\u00fas\u00edtv\u00e1ny\u00e1t, ha meger\u0151s\u00edti a bizalmi l\u00e1ncot.            <\/p>\n<p>A Rust-based redesign allows for a simpler and safer adherence to the \"two rules\" applied by Google to maintain the security of Android system components. According to this rule, any added code must meet no more than two of three conditions: working with unverified input data, using an unsafe programming language (C\/C++), and executing with elevated privileges. This implies that code for processing external data must either be restricted to minimal privileges (isolated) or be written in a safe programming language. According to Google, about 70% of all dangerous vulnerabilities found in Android are caused by memory handling errors.     <\/p>\n<p>A Rust a mem\u00f3ria biztons\u00e1gos kezel\u00e9s\u00e9re \u00f6sszpontos\u00edt, \u00e9s lehet\u0151v\u00e9 teszi a sebezhet\u0151s\u00e9gek kock\u00e1zat\u00e1nak cs\u00f6kkent\u00e9s\u00e9t, amelyek olyan probl\u00e9m\u00e1k miatt mer\u00fclhetnek fel, mint p\u00e9ld\u00e1ul a mem\u00f3ria kiszabad\u00edt\u00e1sa ut\u00e1ni hivatkoz\u00e1sok \u00e9s a puffert\u00fall\u00e9p\u00e9s. A Rustban a mem\u00f3ria biztons\u00e1gos kezel\u00e9se a ford\u00edt\u00e1s sor\u00e1n t\u00f6rt\u00e9nik, ami mag\u00e1ban foglalja a hivatkoz\u00e1sok ellen\u0151rz\u00e9s\u00e9t, az objektumok tulajdonl\u00e1s\u00e1nak nyomon k\u00f6vet\u00e9s\u00e9t \u00e9s az objektumok \u00e9lettartam\u00e1nak figyelembev\u00e9tel\u00e9t (l\u00e1that\u00f3s\u00e1gi tartom\u00e1ny), valamint a mem\u00f3riahozz\u00e1f\u00e9r\u00e9s helyess\u00e9g\u00e9nek \u00e9rt\u00e9kel\u00e9s\u00e9t a k\u00f3d v\u00e9grehajt\u00e1sa k\u00f6zben. A Rust olyan eszk\u00f6z\u00f6ket is biztos\u00edt, amelyek megv\u00e9dik a sz\u00e1mjegyek t\u00falfut\u00e1s\u00e1t\u00f3l, k\u00f6telez\u0151v\u00e9 teszi a v\u00e1ltoz\u00f3k \u00e9rt\u00e9keinek inicializ\u00e1l\u00e1s\u00e1t haszn\u00e1lat el\u0151tt, jobb hibakezel\u00e9st k\u00edn\u00e1l a standard k\u00f6nyvt\u00e1rban, alkalmazza a v\u00e1ltoz\u00f3k alap\u00e9rtelmezett immutabilit\u00e1s\u00e1t (v\u00e1ltozatlans\u00e1g\u00e1t), \u00e9s er\u0151s statikus t\u00edpusk\u00e9sz\u00edt\u00e9st k\u00edn\u00e1l a logikai hib\u00e1k minimaliz\u00e1l\u00e1sa \u00e9rdek\u00e9ben.    <\/p>\n<p>A Rust nyelven t\u00f6rt\u00e9n\u0151 alacsony szint\u0171 komponensek, p\u00e9ld\u00e1ul illeszt\u0151programok fejleszt\u00e9se sor\u00e1n felmer\u00fcl\u0151 neh\u00e9zs\u00e9gek k\u00f6z\u00f6tt eml\u00edtj\u00fck a nyers pointerek unsafe m\u00f3dban val\u00f3 kezel\u00e9s\u00e9nek sz\u00fcks\u00e9gess\u00e9g\u00e9t, mivel a Rust a programban lefoglalt mem\u00f3ria haszn\u00e1lat\u00e1ra figyelemmel k\u00e9sz\u00fclt, \u00e9s a hardver f\u00f6l\u00f6tti r\u00e9tegek n\u00e9lk\u00fcli k\u00f3d eset\u00e9n a megosztott mem\u00f3ria \u00e9s az MMIO el\u00e9r\u00e9s\u00e9re van sz\u00fcks\u00e9g. Jelenleg a Rust nyers pointerekkel val\u00f3 munkav\u00e9gz\u00e9se k\u00edv\u00e1nnival\u00f3t hagy maga ut\u00e1n, de a helyzetnek javulnia kell a offset_of, slice_ptr_get \u00e9s slice_ptr_len makr\u00f3k t\u00e1mogat\u00e1s\u00e1nak stabiliz\u00e1l\u00e1sa ut\u00e1n.       <\/p>\n<p>Ami a h\u00e1tr\u00e1nyokat illeti, figyelmet \u00e9rdemel a strukt\u00far\u00e1k mez\u0151ihez \u00e9s a t\u00f6mb\u00f6k indexeihez val\u00f3 hozz\u00e1f\u00e9r\u00e9shez sz\u00fcks\u00e9ges jav\u00edtott szintaxis ir\u00e1nti ig\u00e9ny, amely nyers mutat\u00f3k haszn\u00e1lat\u00e1val val\u00f3sul meg, an\u00e9lk\u00fcl hogy hivatkoz\u00e1sokat k\u00e9ne l\u00e9trehozni, valamint a biztons\u00e1gos burkolatok l\u00e9trehoz\u00e1s\u00e1nak korl\u00e1tai az olyan unsafe m\u0171veletek felett, amelyek el\u0151re nem l\u00e1that\u00f3 viselked\u00e9st okozhatnak \u00e9s nem ellen\u0151rizhet\u0151k a ford\u00edt\u00f3 \u00e1ltal. P\u00e9ld\u00e1ul az ilyen burkolatok nem hozhat\u00f3k l\u00e9tre a mem\u00f3riapesz\u00e9lyt\u00e1bl\u00e1kkal v\u00e9gzett m\u0171veletekhez, mivel az oldalak lek\u00e9pez\u00e9se a program egyik r\u00e9sz\u00e9ben hat\u00e1ssal lehet a m\u00e1sik r\u00e9szeire.     <\/p>\n<p>Regarding the size of the resulting code, the old version of the pVM firmware was 220 kB, while the new one is 460 kB; however, new features were added in the rewritten version, allowing for the removal of some other components used during startup. As a result, the total size of all old and new boot components remains comparable. It is noted that when size is more critical than performance, comparable results to the C language can be achieved by enabling additional size optimization modes in the compiler, eliminating unnecessary dependencies, and refraining from using string formatting tools.    <\/p>\n<p>Tov\u00e1bb\u00e1 eml\u00edt\u00e9sre ker\u00fcl egy megb\u00edzhat\u00f3 alkalmaz\u00e1sok (Trusted Application) ind\u00edt\u00e1s\u00e1nak megval\u00f3s\u00edt\u00e1s\u00e1n\u00e1l v\u00e9gzett munka, amelyeket Rust nyelven \u00edrtak, a Trusty oper\u00e1ci\u00f3s rendszerben, amely TEE k\u00f6rnyezetet (Trusted Execution Environment) biztos\u00edt Android sz\u00e1m\u00e1ra, p\u00e1rhuzamosan futva az Androiddal ugyanazon a processzoron, egy elk\u00fcl\u00f6n\u00edtett, izol\u00e1lt k\u00f6rnyezetben. A Trusty m\u00e1r a Pixel eszk\u00f6z\u00f6kben is haszn\u00e1latban van, \u00e9s m\u00e1r haszn\u00e1l Rust-ot k\u00f6nyvt\u00e1rakban \u00e9s rendszerkomponensekben (a kernel C nyelven marad).<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59900\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0445 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u043e\u043c pVM \u0438\u0437 \u0441\u043e\u0441\u0442\u0430\u0432\u0430 Android Virtualization Framework. \u0420\u0430\u043d\u0435\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u043e\u0432\u0435\u0440\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 U-Boot, \u0432 \u043a\u043e\u0434\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u043f\u0440\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-110721","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/news\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0432 Android | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/news\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-10-10T13:10:19+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-10-10T13:10:19+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47A Google Rust nyelven \u00edrta \u00e1t a pvmfm firmware-t, amelyet az Androidban haszn\u00e1lnak | ProHoster","description":"A Google meger\u0151s\u00edtett biztons\u00e1gi int\u00e9zked\u00e9seinek keret\u00e9ben a kritikus fontoss\u00e1g\u00fa Android platform szoftverkomponenseit Rust nyelven \u00edrt\u00e1k \u00e1t pvmfm firmware haszn\u00e1lat\u00e1ra, amelyet a virtu\u00e1lis g\u00e9pek munk\u00e1j\u00e1nak szervez\u00e9s\u00e9re haszn\u00e1lnak.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/news\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0432 Android | ProHoster","og:description":"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 pvmfm, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d.","og:url":"https:\/\/prohoster.info\/hu\/blog\/news\/google-perepisal-na-yazyke-rust-proshivku-pvmfm-ispolzuemuyu-v-android","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-10-10T13:10:19+00:00","article:modified_time":"2023-10-10T13:10:19+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"110721","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-09 17:11:16","updated":"2026-02-09 17:11:16","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/110721","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=110721"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/110721\/revisions"}],"predecessor-version":[{"id":159314,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/110721\/revisions\/159314"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=110721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=110721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=110721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}