{"id":255,"date":"2020-07-15T05:42:00","date_gmt":"2020-07-15T05:42:00","guid":{"rendered":"http:\/\/www.goncalo.pt\/por\/?p=255"},"modified":"2023-10-07T03:32:03","modified_gmt":"2023-10-07T03:32:03","slug":"2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c","status":"publish","type":"post","link":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/","title":{"rendered":"2020-07-15 &#8211; Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++"},"content":{"rendered":"\n<p>Uma imagem que partilhei a 15 de Julho, em que referia a decis\u00e3o de um dia criar um obfuscador de c\u00f3digo C++, e contei algumas recorda\u00e7\u00f5es dos anos 80, com descri\u00e7\u00e3o da altura abaixo:<\/p>\n\n\n\n<p>\u00abIsto faz-me recordar os editores de hexadecimal que usava nos anos 80 para alterar coisas como o command . com do MS-DOS. <img loading=\"lazy\" decoding=\"async\" alt=\"?\" src=\"https:\/\/static.xx.fbcdn.net\/images\/emoji.php\/v9\/t51\/1\/16\/1f603.png\" width=\"16\" height=\"16\"><\/p>\n\n\n\n<p>E para dar ideia de algo que vou criar no Futuro, um obfuscador de C++.<\/p>\n\n\n\n<p>Eu partilho isto porque \u00e9 para mostrar que um ficheiro execut\u00e1vel, mesmo em C++, ter\u00e1 l\u00e1 strings vis\u00edveis (se n\u00e3o forem encriptadas), o que \u00e9 falha de seguran\u00e7a, PODE ter nomes de m\u00e9todos e outras coisas, vis\u00edveis, etc. Isso pode aumentar o tamanho do execut\u00e1vel.<\/p>\n\n\n\n<p>Terei depois de colocar de lado as cenas Cisco (num ficheiro de configura\u00e7\u00e3o), encriptar strings, esconder m\u00e9todos, etc, e tudo isso reduzir\u00e1 o tamanho do execut\u00e1vel.<\/p>\n\n\n\n<p>Estou a pensar criar um obfuscador de c\u00f3digo C++ (n\u00e3o do execut\u00e1vel que isso j\u00e1 existe). Porqu\u00ea? N\u00e3o tanto para esconder c\u00f3digo, porque algu\u00e9m realmente experimente conseguir\u00e1 fazer reverse-engineering mesmo ao execut\u00e1vel (duvido \u00e9 que compense lol n\u00e3o vale assim tanto porque n\u00e3o esconde segredos), mas mais para encurtar ainda mais o tamanho, etc.<\/p>\n\n\n\n<p>Mas tamb\u00e9m para obfuscar, porque inicialmente, v\u00e1rios n\u00e3o ser\u00e3o Open Source porque s\u00f3 compensa ser Open Source se houver pessoas que v\u00e3o trabalhar nele, se n\u00e3o existirem, n\u00e3o serve de muito perder tempo a colocar o c\u00f3digo bonito para o meter Open Source.<\/p>\n\n\n\n<p>Ou seja, vou deixar o c\u00f3digo organizado, mas sem muitas instru\u00e7\u00f5es, de modo a que eu compreenda mas sem perder tempo a faz\u00ea-lo ser compreendido por outros. Assim farei as coisas mais depressa.<\/p>\n\n\n\n<p>Se algum dia quiser tornar algo Open Source (por me fartar e outros quererem continuar a desenvolver), perderei tempo a meter tudo mais bonito e compreens\u00edvel, e at\u00e9 a simplificar c\u00f3digo de forma a que outros compreendam, como reduzir abstrac\u00e7\u00e3o, etc.<\/p>\n\n\n\n<p>At\u00e9 l\u00e1, parece mal meter Open Source algo que n\u00e3o \u00e9 especificamente criado para ser f\u00e1cil de ler, mesmo para pessoal experiente em C++, por isso ser\u00e1 apenas Freeware.<\/p>\n\n\n\n<p>MAS, para certas distribui\u00e7\u00f5es aceitarem adicionar aos reposit\u00f3rios as aplica\u00e7\u00f5es, e para certos organismos conseguirem de forma mais f\u00e1cil averiguar se n\u00e3o h\u00e1 v\u00edrus (LOL) dentro do execut\u00e1vel, ou coisas malignas, conv\u00e9m existir um c\u00f3digo fonte dispon\u00edvel.<\/p>\n\n\n\n<p>E com o obfuscador, reduzirei espa\u00e7os a mais, linhas extra, coment\u00e1rios, tamanho de fun\u00e7\u00f5es e vari\u00e1veis, no fundo ficar\u00e1 obfuscado, mas poder\u00e3o averiguar dentro que n\u00e3o ter\u00e1 nada de mal.<\/p>\n\n\n\n<p>Em simult\u00e2neo poder\u00e1 ser usado para encripta\u00e7\u00e3o de strings, etc.<\/p>\n\n\n\n<p>Por isso talvez nos pr\u00f3ximos meses comece a desenvolver um obfuscador de c\u00f3digo fonte em C++.<\/p>\n\n\n\n<p>Dizem que \u00e9 apesar de game engines serem das coisas mais dif\u00edceis de desenvolver, obfuscadores de c\u00f3digo e interpretadores podem ser mais ainda, por isso ficar-me-\u00e1 bem no portf\u00f3lio depois. E porque o que fiz em PHP h\u00e1 9 anos nunca o tornei p\u00fablico&#8230;<\/p>\n\n\n\n<p>Mas \u00e9 giro na mesma ver algo em hexadecimal, a recordar o debug dos anos 80 (que foi usado como provas de acesso ao MI6 para candidatos de cyber-security h\u00e1 uns anos).<\/p>\n\n\n\n<p>\u00c9 mais f\u00e1cil ler algo em hexadecimal (e texto real \u00e0 direita) do que em 1s e 0s, n\u00e3o \u00e9 verdade?<\/p>\n\n\n\n<p>Parece que vou criar uns quantos softwares nos pr\u00f3ximos 2 ou 3 anos, \u00e9 para compensar os 10 anos em que n\u00e3o criei nenhum (p\u00fablico), e em que me divertia a dobrar barras de a\u00e7o ou outras coisas. <img loading=\"lazy\" decoding=\"async\" alt=\"?\" src=\"https:\/\/static.xx.fbcdn.net\/images\/emoji.php\/v9\/t9f\/1\/16\/1f61b.png\" width=\"16\" height=\"16\"><\/p>\n\n\n\n<p>PS: Dados errados no subnetting porque estava a experimentar. <img loading=\"lazy\" decoding=\"async\" alt=\"?\" src=\"https:\/\/static.xx.fbcdn.net\/images\/emoji.php\/v9\/t9f\/1\/16\/1f61b.png\" width=\"16\" height=\"16\"><\/p>\n\n\n\n<p>2020-07-15.\u00bb<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uma imagem que partilhei a 15 de Julho, em que referia a decis\u00e3o de um dia criar um obfuscador de<\/p>\n","protected":false},"author":1,"featured_media":256,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,5,3,4],"tags":[7,207,20,10,89,17],"class_list":["post-255","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-networking","category-programacao","category-projectos","category-softwares","tag-c","tag-dev","tag-ipv4","tag-linux","tag-obfuscadores","tag-subnetting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>2020-07-15 - Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++ - Gon\u00e7alo Ferreira<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2020-07-15 - Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++ - Gon\u00e7alo Ferreira\" \/>\n<meta property=\"og:description\" content=\"Uma imagem que partilhei a 15 de Julho, em que referia a decis\u00e3o de um dia criar um obfuscador de\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Gon\u00e7alo Ferreira\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-15T05:42:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-07T03:32:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-07-15-C-Code-Obfuscator-with-C.png?v=1618147671\" \/>\n\t<meta property=\"og:image:width\" content=\"1366\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"gnmf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gnmf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/\"},\"author\":{\"name\":\"gnmf\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\"},\"headline\":\"2020-07-15 &#8211; Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++\",\"datePublished\":\"2020-07-15T05:42:00+00:00\",\"dateModified\":\"2023-10-07T03:32:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/\"},\"wordCount\":645,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-07-15-C-Code-Obfuscator-with-C.png?v=1618147671\",\"keywords\":[\"C++\",\"Dev\",\"IPV4\",\"Linux\",\"Obfuscadores\",\"Subnetting\"],\"articleSection\":[\"Networking\",\"Programa\u00e7\u00e3o\",\"Projectos\",\"Softwares\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/\",\"name\":\"2020-07-15 - Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++ - Gon\u00e7alo Ferreira\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-07-15-C-Code-Obfuscator-with-C.png?v=1618147671\",\"datePublished\":\"2020-07-15T05:42:00+00:00\",\"dateModified\":\"2023-10-07T03:32:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#primaryimage\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-07-15-C-Code-Obfuscator-with-C.png?v=1618147671\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-07-15-C-Code-Obfuscator-with-C.png?v=1618147671\",\"width\":1366,\"height\":768,\"caption\":\"2020-07-15 - Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.goncalo.pt\/por\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2020-07-15 &#8211; Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"name\":\"Gon\u00e7alo Ferreira\",\"description\":\"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!\",\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\",\"name\":\"Gon\u00e7alo Ferreira\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"width\":389,\"height\":90,\"caption\":\"Gon\u00e7alo Ferreira\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/www.linkedin.com\/in\/GoncaloPT\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\",\"name\":\"gnmf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"caption\":\"gnmf\"},\"sameAs\":[\"http:\/\/www.goncalo.pt\/por\"],\"url\":\"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"2020-07-15 - Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++ - Gon\u00e7alo Ferreira","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/","og_locale":"en_US","og_type":"article","og_title":"2020-07-15 - Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++ - Gon\u00e7alo Ferreira","og_description":"Uma imagem que partilhei a 15 de Julho, em que referia a decis\u00e3o de um dia criar um obfuscador de","og_url":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/","og_site_name":"Gon\u00e7alo Ferreira","article_published_time":"2020-07-15T05:42:00+00:00","article_modified_time":"2023-10-07T03:32:03+00:00","og_image":[{"width":1366,"height":768,"url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-07-15-C-Code-Obfuscator-with-C.png?v=1618147671","type":"image\/png"}],"author":"gnmf","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gnmf","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#article","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/"},"author":{"name":"gnmf","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd"},"headline":"2020-07-15 &#8211; Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++","datePublished":"2020-07-15T05:42:00+00:00","dateModified":"2023-10-07T03:32:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/"},"wordCount":645,"commentCount":0,"publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-07-15-C-Code-Obfuscator-with-C.png?v=1618147671","keywords":["C++","Dev","IPV4","Linux","Obfuscadores","Subnetting"],"articleSection":["Networking","Programa\u00e7\u00e3o","Projectos","Softwares"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/","url":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/","name":"2020-07-15 - Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++ - Gon\u00e7alo Ferreira","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#primaryimage"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-07-15-C-Code-Obfuscator-with-C.png?v=1618147671","datePublished":"2020-07-15T05:42:00+00:00","dateModified":"2023-10-07T03:32:03+00:00","breadcrumb":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#primaryimage","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-07-15-C-Code-Obfuscator-with-C.png?v=1618147671","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-07-15-C-Code-Obfuscator-with-C.png?v=1618147671","width":1366,"height":768,"caption":"2020-07-15 - Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++"},{"@type":"BreadcrumbList","@id":"https:\/\/www.goncalo.pt\/por\/2020\/07\/15\/2020-07-15-pensando-em-criar-um-obfuscador-de-codigo-fonte-c-em-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.goncalo.pt\/por\/"},{"@type":"ListItem","position":2,"name":"2020-07-15 &#8211; Pensando em criar um Obfuscador de c\u00f3digo-fonte C++, em C++"}]},{"@type":"WebSite","@id":"https:\/\/www.goncalo.pt\/por\/#website","url":"https:\/\/www.goncalo.pt\/por\/","name":"Gon\u00e7alo Ferreira","description":"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!","publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.goncalo.pt\/por\/#organization","name":"Gon\u00e7alo Ferreira","url":"https:\/\/www.goncalo.pt\/por\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","width":389,"height":90,"caption":"Gon\u00e7alo Ferreira"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.linkedin.com\/in\/GoncaloPT\/"]},{"@type":"Person","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd","name":"gnmf","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","caption":"gnmf"},"sameAs":["http:\/\/www.goncalo.pt\/por"],"url":"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/"}]}},"_links":{"self":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/255"}],"collection":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/comments?post=255"}],"version-history":[{"count":1,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/255\/revisions"}],"predecessor-version":[{"id":257,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/255\/revisions\/257"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media\/256"}],"wp:attachment":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media?parent=255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/categories?post=255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/tags?post=255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}