{"id":98234,"date":"2020-10-26T08:42:14","date_gmt":"2020-10-26T06:42:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/kaitai-struct-0-9"},"modified":"2020-11-18T00:58:44","modified_gmt":"2020-11-17T22:58:44","slug":"kaitai-struct-0-9","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/kaitai-struct-0-9","title":{"rendered":"Kaitai Struct 0.9","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/19408\/original.png\" itemprop=\"contentURL\"><br \/>\n      <img decoding=\"async\" alt=\"Kaitai Struct 0.9\" src=\"\/wp-content\/uploads\/2020\/10\/92300f20fcec3b23dc7200dc9c18ed42.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>    <\/a><\/p>\n<p>Recentemente, foi lan\u00e7ada a nova vers\u00e3o do Kaitai Struct 0.9 \u2014 uma linguagem de descri\u00e7\u00e3o e ferramentas de parsing para diversos formatos bin\u00e1rios (por exemplo, pacotes de rede, arquivos de imagem\/\u00e1udio\/v\u00eddeo, bancos de dados, arquivos compactados, cont\u00eaineres, etc.). Apesar do n\u00famero da vers\u00e3o 0.9 parecer pouco s\u00e9rio, este \u00e9 um grande lan\u00e7amento, que inclui desenvolvimentos dos \u00faltimos 2,5 anos. Durante esse per\u00edodo, a linguagem cresceu para se tornar uma verdadeira fam\u00edlia de projetos:<\/p>\n<ul>\n<li>um compilador que permite gerar o c\u00f3digo-fonte de um parser em v\u00e1rias linguagens de programa\u00e7\u00e3o (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby) a partir de um arquivo de especifica\u00e7\u00e3o de formato (.ksy), al\u00e9m de diagramas no formato GraphViz e especifica\u00e7\u00f5es de formatos leg\u00edveis em HTML;<\/li>\n<p><noindex><\/p>\n<li>ferramentas para desenvolvimento pr\u00e1tico de especifica\u00e7\u00f5es com controle visual simult\u00e2neo: <a rel=\"nofollow\" href=\"https:\/\/ide.kaitai.io\/\">Web IDE<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_struct_visualizer\">visualizador de console<\/a>, <a rel=\"nofollow\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=fudgepops.kaitai-struct-vscode\">plugin para Visual Studio Code<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/Mahlet-Inc\/hobbits\">Hobbits<\/a>, <a rel=\"nofollow\" href=\"https:\/\/veles.io\/\">Veles<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/taviso\/kiewtai\">plugin para Hiew<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/Vector35\/kaitai\">plugin para Binary Ninja<\/a>;<\/li>\n<p><\/noindex><\/p>\n<li>m\u00f3dulos para integra\u00e7\u00e3o do Kaitai Struct no processo de compila\u00e7\u00e3o <a rel=\"nofollow\" href=\"https:\/\/github.com\/valery1707\/kaitai-maven-plugin\">para Maven<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/valery1707\/kaitai-gradle-plugin\">para Gradle<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitaiStructCompile\/kaitaiStructCompile.setuptools\">para Python<\/a>, <a rel=\"nofollow\" href=\"https:\/\/www.npmjs.com\/package\/kaitai-struct-loader\">para JavaScript\/WebPack<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/formats.kaitai.io\/\">biblioteca de formatos<\/a>, que j\u00e1 possui neste lan\u00e7amento 156 descri\u00e7\u00f5es (e <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_struct_formats\/pulls\">mais 78 formatos<\/a> est\u00e3o em revis\u00e3o de pull request).<\/li>\n<li>biblioteca de algoritmos de compress\u00e3o intercambi\u00e1veis <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_compress\">Kaitai Compress<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_fs\">m\u00f3dulo para FUSE \u2014 Kaitai FS<\/a>, que permite montar um arquivo como um sistema de arquivos, utilizando a descri\u00e7\u00e3o ksy de seu formato<\/li>\n<\/ul>\n<p><noindex><\/p>\n<p>Linguagem <a rel=\"nofollow\" href=\"https:\/\/github.com\/search?l=Kaitai+Struct&amp;q=filename%3Aksy&amp;type=Code\">reconhecido pelo GitHub<\/a> e atualmente utilizado em mais de 400 projetos free\/open source para parsing de diversos formatos de dados ex\u00f3ticos, desde <a rel=\"nofollow\" href=\"https:\/\/github.com\/HiveWorkshop\/Formats\">engenharia reversa de arquivos de jogos propriet\u00e1rios<\/a>, at\u00e9 <a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/librespacefoundation\/satnogs\/satnogs-decoders\">an\u00e1lise de protocolos de comunica\u00e7\u00e3o via sat\u00e9lite<\/a>.<\/p>\n<p><\/noindex><\/p>\n<p>Entre as principais novidades da linguagem 0.9, destacam-se:<\/p>\n<ul>\n<li>suporte a novas linguagens-alvo (Python atrav\u00e9s da biblioteca Construct, Nim, gera\u00e7\u00e3o de documenta\u00e7\u00e3o em HTML)<\/li>\n<li>suporte completo \u00e0s vers\u00f5es modernas do C++ (smart pointers, sem necessidade de gerenciar a mem\u00f3ria manualmente, corre\u00e7\u00e3o de todas as variantes conhecidas de vazamentos de mem\u00f3ria)<\/li>\n<li>suporte \u00e0 endere\u00e7amento de tipos aninhados atrav\u00e9s de sintaxe como foo::bar::baz<\/li>\n<li>suporte \u00e0 valida\u00e7\u00e3o de dados lidos com base nas condi\u00e7\u00f5es descritas (valid)<\/li>\n<li>c\u00e1lculo dos tamanhos de estruturas de dados est\u00e1ticas em bytes e bits (operadores sizeof e bitsizeof)<\/li>\n<li>descri\u00e7\u00e3o formal da linguagem na forma de <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/ksy_schema\">um esquema JSON<\/a>, do qual agora <a rel=\"nofollow\" href=\"https:\/\/doc.kaitai.io\/ksy_diagram.html\">a documenta\u00e7\u00e3o \u00e9 gerada<\/a><\/li>\n<\/ul>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/opensource\/15955935\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>C\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0432\u044b\u0448\u043b\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Kaitai Struct 0.9 \u2014 \u044f\u0437\u044b\u043a\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438\/\u0430\u0443\u0434\u0438\u043e\/\u0432\u0438\u0434\u0435\u043e, \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430\u0440\u0445\u0438\u0432\u043e\u0432, \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438 \u0442. \u0434.). \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043d\u0435\u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0449\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438 0.9 \u2014 \u044d\u0442\u043e \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u0432 \u0441\u0435\u0431\u044f \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 2.5 \u0433\u043e\u0434\u0430. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u044f\u0437\u044b\u043a \u0432\u044b\u0440\u043e\u0441 \u0434\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":98235,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-98234","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\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\/pt\/blog\/news\/kaitai-struct-0-9\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\udd47Kaitai Struct 0.9 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/kaitai-struct-0-9\" \/>\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-10-26T06:42:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-11-17T22:58:44+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\udd47Kaitai Struct 0.9 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/kaitai-struct-0-9","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\udd47Kaitai Struct 0.9 | ProHoster","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/kaitai-struct-0-9","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-10-26T06:42:14+00:00","article:modified_time":"2020-11-17T22:58:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"98234","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 10:02:30","updated":"2022-10-03 13:17:43","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/98234","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=98234"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/98234\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/98235"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=98234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=98234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=98234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}