{"id":79719,"date":"2020-04-29T19:42:30","date_gmt":"2020-04-29T17:42:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/razrabotchiki-v8-predstavili-dekompilyator-dlya-webassembly"},"modified":"2020-04-29T19:42:30","modified_gmt":"2020-04-29T17:42:30","slug":"razrabotchiki-v8-predstavili-dekompilyator-dlya-webassembly","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/razrabotchiki-v8-predstavili-dekompilyator-dlya-webassembly","title":{"rendered":"Utvecklarna av V8 har presenterat en dekompilator f\u00f6r WebAssembly.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Utvecklarna av JavaScript-motorn V8 <noindex><a rel=\"nofollow\" href=\"https:\/\/v8.dev\/blog\/wasm-decompile\">har presenterat<\/a><\/noindex> verktyget <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/WebAssembly\/wabt\/blob\/master\/docs\/decompiler.md\">wasm-decompile<\/a><\/noindex>, som m\u00f6jligg\u00f6r dekompilering av det mellanliggande bin\u00e4ra formatet <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51988\">WebAssembly<\/a><\/noindex> till ett l\u00e4sbart pseud spr\u00e5k som liknar JavaScript och C. Den f\u00f6reslagna pseud spr\u00e5ket \u00e4r avsev\u00e4rt enklare att f\u00f6rst\u00e5 och mer l\u00e4mplig f\u00f6r manuell analys \u00e4n den textuella representationen av WebAssembly i formatet &lt;.wat&gt;, som \u00e4r n\u00e4rmare assembler \u00e4n till h\u00f6gre programmeringsspr\u00e5k. Dekompileringen speglar i m\u00f6jligaste m\u00e5n representationen av Wasm.<\/p>\n<p>Dekompilatorn <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/WebAssembly\/wabt\/tree\/master\/src\">p\u00e5slagen<\/a><\/noindex> ing\u00e5r i verktygsl\u00e5dan <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/WebAssembly\/wabt\/\">WABT<\/a><\/noindex>, som m\u00f6jligg\u00f6r \u00f6vers\u00e4ttning mellan bin\u00e4ra och textuella representationer av WebAssembly, samt analys, bearbetning, modifiering och verifiering av wasm-filer. Inom WABT utvecklas ocks\u00e5 verktyget <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/WebAssembly\/wabt\/tree\/master\/wasm2c\">wasm2c<\/a><\/noindex>, som m\u00f6jligg\u00f6r dekompilering av wasm-filer till motsvarande kod i C-spr\u00e5ket, som kan kompileras med en C-kompilator, men n\u00e4r det g\u00e4ller l\u00e4sbarhet skiljer det sig inte mycket fr\u00e5n den textuella representationen &lt;\"wat\"&gt;.<\/p>\n<p>Till exempel kommer en kompilering till wasm av f\u00f6ljande C-funktion<\/p>\n<p>   typedef struct { float x, y, z; } vec3;<\/p>\n<p>   float dot(const vec3 *a, const vec3 *b) {<br \/>\n       return a-&gt;x * b-&gt;x +<br \/>\n           a-&gt;y * b-&gt;y +<br \/>\n           a-&gt;z * b-&gt;z;<br \/>\n   }<\/p>\n<p>att dekompileras av verktyget wasm-decompile till pseudokodspr\u00e5ket<\/p>\n<p>   function dot(a:{ a:float, b:float, c:float },<br \/>\n             b:{ a:float, b:float, c:float }):float {<br \/>\n     return a.a * b.a + a.b * b.b + a.c * b.c<br \/>\n   }<\/p>\n<p>medan omvandlingen till textformatet &lt;.wat&gt; skulle se ut p\u00e5 f\u00f6ljande s\u00e4tt<\/p>\n<p>   (func $dot (type 0) (param i32 i32) (result f32)<br \/>\n     (f32.add<br \/>\n       (f32.add<br \/>\n         (f32.mul<br \/>\n           (f32.load<br \/>\n            (local.get 0))<br \/>\n           (f32.load<br \/>\n             (local.get 1)))<br \/>\n         (f32.mul<br \/>\n           (f32.load offset=4<br \/>\n             (local.get 0))<br \/>\n           (f32.load offset=4<br \/>\n             (local.get 1))))<br \/>\n       (f32.mul<br \/>\n         (f32.load offset=8<br \/>\n           (local.get 0))<br \/>\n         (f32.load offset=8<br \/>\n           (local.get 1))))))<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>K\u00e4lla: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52833\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 JavaScript-\u0434\u0432\u0438\u0436\u043a\u0430 V8 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 wasm-decompile, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 WebAssembly \u0432 \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u043f\u0441\u0435\u0432\u0434\u043e\u044f\u0437\u044b\u043a, \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0438\u0439 JavaScript \u0438 \u0421\u0438. \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u043f\u0441\u0435\u0432\u0434\u043e\u044f\u0437\u044b\u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0449\u0435 \u0434\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u0438\u044f\u0442\u0438\u044f \u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u0435\u043d \u0434\u043b\u044f \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0431\u043e\u0440\u0430, \u0447\u0435\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 WebAssembly \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 &#171;.wat&#187;, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u043b\u0438\u0436\u0435 \u043a \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0443, \u0447\u0435\u043c \u043a \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u043c \u044f\u0437\u044b\u043a\u0430\u043c. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u043f\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 Wasm. [&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-79719","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 JavaScript-\u0434\u0432\u0438\u0436\u043a\u0430 V8 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u0443\" \/>\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\/sv\/blog\/news\/razrabotchiki-v8-predstavili-dekompilyator-dlya-webassembly\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\udd47\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 V8 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043b\u044f WebAssembly | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 JavaScript-\u0434\u0432\u0438\u0436\u043a\u0430 V8 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u0443\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/news\/razrabotchiki-v8-predstavili-dekompilyator-dlya-webassembly\" \/>\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=\"2020-04-29T17:42:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-29T17:42:30+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\udd47Utvecklarna av V8 har presenterat en dekompilator f\u00f6r WebAssembly | ProHoster","description":"Utvecklarna av JavaScript-motorn V8 har presenterat verktyget","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/razrabotchiki-v8-predstavili-dekompilyator-dlya-webassembly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\udd47\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 V8 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043b\u044f WebAssembly | ProHoster","og:description":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 JavaScript-\u0434\u0432\u0438\u0436\u043a\u0430 V8 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u0443","og:url":"https:\/\/prohoster.info\/sv\/blog\/news\/razrabotchiki-v8-predstavili-dekompilyator-dlya-webassembly","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":"2020-04-29T17:42:30+00:00","article:modified_time":"2020-04-29T17:42:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"79719","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":null,"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":"2021-02-28 16:32:23","updated":"2022-09-27 18:38:43","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/79719","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=79719"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/79719\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=79719"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=79719"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=79719"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}