{"id":463,"date":"2026-10-03T19:17:09","date_gmt":"2026-10-03T18:17:09","guid":{"rendered":"https:\/\/wpcalc.com\/pt\/ofuscador-javascript-eval\/"},"modified":"2026-10-03T19:17:09","modified_gmt":"2026-10-03T18:17:09","slug":"ofuscador-javascript-eval","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/pt\/ferramentas-web\/ofuscador-javascript-eval\/","title":{"rendered":"Ofuscador de JavaScript (eval)"},"content":{"rendered":"<section class=\"not-prose calculator-box\" aria-labelledby=\"calculator-title\"><div class=\"flex items-baseline sm:items-center justify-between gap-2 sm:gap-3\"><div class=\"flex flex-col sm:flex-row sm:items-center gap-2\"><span class=\"icon icon-calculator text-primary-700! text-base! dark:text-primary-300!\" aria-hidden=\"true\"><\/span><h2 id=\"calculator-title\" class=\"text-lg font-display font-bold\">Ferramenta de Ofusca\u00e7\u00e3o de JavaScript Baseada em Eval<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"463\" data-favorite-title=\"Ofuscador de JavaScript (eval)\" data-favorite-url=\"https:\/\/wpcalc.com\/pt\/ferramentas-web\/ofuscador-javascript-eval\/\" data-favorite-excerpt=\"Cole o JavaScript no campo de c\u00f3digo para gerar uma vers\u00e3o empacotada baseada em eval. Copie o c\u00f3digo resultante do campo C\u00f3digo Ofuscado.\" aria-label=\"Adicionar aos favoritos\" data-favorite-icon=\"icon icon-conversion\">\n    <span class=\"icon icon-shape-star-empty\" aria-hidden=\"true\"><\/span>\n  <\/button>\n  <div class=\"calcdash-favorite__tip\" aria-hidden=\"true\">\n   <span class=\"favorite-tooltip\" id=\"favorite-tooltip\"><\/span>\n  <\/div>\n  <span class=\"sr-only\" role=\"status\" id=\"favorite-status\"><\/span>\n<\/div><\/div><form action=\"https:\/\/wpcalc.com\/pt\/ferramentas-web\/ofuscador-javascript-eval\/\" method=\"POST\" class=\"calculator\" id=\"calculator-463\" data-post=\"463\"><fieldset class=\"fieldset-input is-1\"><legend class=\"sr-only\">Campos de entrada<\/legend><div class=\"field is-single\" id=\"input-1\"><label for=\"field-1\">C\u00f3digo JavaScript a ofuscar<\/label><textarea id=\"field-1\" name=\"cdigo_javascript_a_ofuscar\">alert(&#039;Hello, world!&#039;);<\/textarea><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Recalcular\" id=\"calculate-button\" data-post=\"463\">Calcular<\/button><button type=\"reset\">Redefinir<\/button><\/div><div class=\"field is-checkbox hidden!\" id=\"field-auto-calc\"><input type=\"checkbox\" id=\"auto-calc\"><label for=\"auto-calc\">Calcular automaticamente<\/label><small>Se ativado, o resultado \u00e9 atualizado automaticamente quando voc\u00ea altera qualquer valor.<\/small><\/div><div class=\"fieldset-result is-hidden\" aria-labelledby=\"result-title\" aria-live=\"polite\" role=\"region\"> <h3 class=\"result-title bg-gradient-to-r from-primary-50 to-gray-50 dark:from-primary-900 dark:to-gray-800\" id=\"result-title\"><span class=\"icon icon-s-pulse\" aria-hidden=\"true\"><\/span> Seus resultados<\/h3><div class=\"result-box\"><div class=\"field-result is-column\" id=\"output-1\"><span class=\"field-title\"><span>C\u00f3digo Ofuscado<\/span><\/span><span class=\"field-value\" id=\"result-1\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copiar resultado\" aria-label=\"Copiar resultado\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><\/div><div class=\"result-actions\"><button type=\"button\" class=\"copy-link\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\/><path d=\"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\/><\/svg><span class=\"copy-link__text\">Copiar link para este c\u00e1lculo<\/span><\/button><span class=\"sr-only\" role=\"status\" id=\"copy-link-status\"><\/span><\/div><\/div><a href=\"#respond\" class=\"hidden transition-opacity duration-300 opacity-0 w-50 text-sm justify-center items-center gap-2 px-4 py-2 rounded bg-gray-200 text-gray-700 hover:bg-gray-300\" id=\"leave-comment\"><span class=\"icon icon-comments\" aria-hidden=\"true\"><\/span>Deixar um coment\u00e1rio<\/a><\/form><\/section><section id=\"calc-reactions\" class=\"not-prose hidden my-12 bg-gradient-to-r from-primary-50 to-gray-50 border border-indigo-100 rounded-xl px-6 py-4 shadow-sm\" data-post=\"463\" aria-live=\"polite\" aria-labelledby=\"calc-reactions-title\"><p id=\"calc-reactions-title\" class=\"text-sm text-gray-500 text-center mb-2\">O que voc\u00ea achou deste resultado?<\/p><div role=\"group\" aria-labelledby=\"calc-reactions-title\" class=\"grid grid-cols-3 sm:flex sm:flex-row sm:justify-around gap-4 sm:items-center sm:flex-wrap\"><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"like\"><span class=\"reaction-count\" data-reaction-count=\"like\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude00 <\/span><span class=\"reaction-description font-medium\">Curti <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"helpful\"><span class=\"reaction-count\" data-reaction-count=\"helpful\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\udca1 <\/span><span class=\"reaction-description font-medium\">\u00datil <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"confused\"><span class=\"reaction-count\" data-reaction-count=\"confused\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude15 <\/span><span class=\"reaction-description font-medium\">Confuso <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"disappointed\"><span class=\"reaction-count\" data-reaction-count=\"disappointed\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude1e <\/span><span class=\"reaction-description font-medium\">Decepcionado <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"inaccurate\"><span class=\"reaction-count\" data-reaction-count=\"inaccurate\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\u274c <\/span><span class=\"reaction-description font-medium\">Impreciso <\/span><\/button><\/div><div id=\"reaction-message\" class=\"hidden mt-8 rounded-md border border-primary-100 bg-white\/50 backdrop-blur-sm px-4 py-2 text-sm text-center shadow-sm\"><\/div><\/section><div class=\"calcdash-ad not-prose calcdash-ad--calc_result calcdash-ad--in-article\"><ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-1721569815777345\" data-ad-slot=\"6317458308\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\"><\/ins><script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script><\/div>\n<style id=\"wpcoderpro-inline-1\">.formula-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section class=\"formula-box\" aria-labelledby=\"formula-title\">\r\n\t<div id=\"formula-title\" class=\"not-prose font-display mb-4\"><span class=\"icon icon-formula\" aria-hidden=\"true\"><\/span><h2>F\u00f3rmula do Ofuscador de JavaScript (eval)<\/h2><\/div>\r\n\t<figure class=\"not-prose formula\">\r\n\t\t<figcaption class=\"formula-title\">F\u00f3rmula<\/figcaption>\r\n\t\t<div class=\"text-base text-gray-800\" id=\"formula\">\n\\[O=\\operatorname{Packer.pack}(S,\\mathrm{true},\\mathrm{true})\\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Onde:<\/strong><\/p>\n<ul>\n<li>\\(S\\) \u2014 o JavaScript digitado no campo de entrada.<\/li>\n<li>\\(O\\) \u2014 o JavaScript empacotado exibido como resultado.<\/li>\n<li>O primeiro \\(\\mathrm{true}\\) ativa a codifica\u00e7\u00e3o de tokens em base-62; o segundo ativa a redu\u00e7\u00e3o de vari\u00e1veis.<\/li>\n<\/ul>\n<p>O empacotador tamb\u00e9m minifica a entrada antes de produzir um inv\u00f3lucro baseado em eval. A codifica\u00e7\u00e3o de tokens em base-62 n\u00e3o \u00e9 codifica\u00e7\u00e3o Base64 nem hexadecimal.<\/p>\n<p>\r\n<\/section>\n<style id=\"wpcoderpro-inline-2\">.calculation-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section id=\"calculation\" class=\"calculation-box\" aria-labelledby=\"calculation-title\">\r\n\t<div id=\"calculation-title\" class=\"not-prose font-display\"><span class=\"icon icon-unordered-list\" aria-hidden=\"true\"><\/span><h2>Ofuscador de JavaScript (eval) \u2013 Exemplo de C\u00e1lculo<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Exemplo:<\/strong> Deixe o padr\u00e3o <code>alert('Hello, world!');<\/code> no campo C\u00f3digo JavaScript a Ofuscar.<\/p>\n<p>\\[S=\\texttt{alert('Hello, world!');},\\qquad O=\\operatorname{Packer.pack}(S,\\mathrm{true},\\mathrm{true})\\]<\/p>\n<p><strong>Resultado:<\/strong> o campo C\u00f3digo Ofuscado cont\u00e9m um trecho de JavaScript empacotado e baseado em eval. Execut\u00e1-lo em um ambiente que permite <code>eval()<\/code> executa o alerta original, exibindo \u201cHello, world!\u201d. O campo de resultado cont\u00e9m c\u00f3digo, e n\u00e3o a mensagem do alerta em si.<\/p>\n<p>\n\r\n<\/section>\n<h2>Como usar a calculadora<\/h2>\n<ol>\n<li>Digite ou cole seu script em <strong>C\u00f3digo JavaScript a Ofuscar<\/strong>. O campo cont\u00e9m inicialmente <code>alert('Hello, world!');<\/code>, que voc\u00ea pode usar para um teste r\u00e1pido.<\/li>\n<li>Execute a calculadora para processar o c\u00f3digo. Se o campo estiver vazio, voc\u00ea ver\u00e1 uma mensagem \u201cDigite o c\u00f3digo\u201d em vez de um resultado.<\/li>\n<li>Copie o script gerado do campo <strong>C\u00f3digo Ofuscado<\/strong> e teste-o onde pretende us\u00e1-lo.<\/li>\n<\/ol>\n<p>Cole c\u00f3digo JavaScript, e n\u00e3o tags HTML <code>&lt;script&gt;<\/code>. N\u00e3o h\u00e1 configura\u00e7\u00f5es de codifica\u00e7\u00e3o, compacta\u00e7\u00e3o ou n\u00edvel de seguran\u00e7a a selecionar: a ferramenta chama o empacotador com as duas op\u00e7\u00f5es dispon\u00edveis ativadas.<\/p>\n<h2>O que a ofusca\u00e7\u00e3o baseada em eval faz<\/h2>\n<p>Esta ferramenta transforma o c\u00f3digo-fonte JavaScript em um script empacotado que reconstr\u00f3i o c\u00f3digo e o executa por meio de <code>eval()<\/code>. Seu objetivo \u00e9 tornar o c\u00f3digo-fonte menos imediatamente leg\u00edvel durante uma inspe\u00e7\u00e3o casual. Ao contr\u00e1rio de um c\u00e1lculo convencional, ela n\u00e3o produz uma resposta num\u00e9rica: o <strong>C\u00f3digo Ofuscado<\/strong> \u00e9 outro programa JavaScript destinado a executar o trabalho da entrada.<\/p>\n<p>O empacotador minifica o script, reduz vari\u00e1veis onde sua transforma\u00e7\u00e3o permite e substitui tokens por representa\u00e7\u00f5es mais curtas em base-62. O inv\u00f3lucro resultante restaura o c\u00f3digo empacotado quando \u00e9 executado. Base-62 descreve o alfabeto de tokens usado por essa abordagem de empacotamento; n\u00e3o significa que todo o script foi convertido em uma string Base64. A ferramenta n\u00e3o oferece escolha de codifica\u00e7\u00f5es.<\/p>\n<p>Ofusca\u00e7\u00e3o n\u00e3o \u00e9 criptografia. Qualquer pessoa que possa executar ou inspecionar o resultado pode trabalhar para recuperar o c\u00f3digo subjacente, inclusive estudando a etapa de desempacotamento. Use essa abordagem para desencorajar a leitura casual, n\u00e3o para proteger senhas, segredos de API, verifica\u00e7\u00f5es de licen\u00e7a ou outras informa\u00e7\u00f5es que devam permanecer privadas. Para uma vers\u00e3o mais leg\u00edvel do c\u00f3digo empacotado, experimente a ferramenta <a href=\"https:\/\/wpcalc.com\/pt\/ferramentas-web\/descodificar-javascript-eval\/\">JavaScript Eval Decode<\/a>.<\/p>\n<p>Distinga tamb\u00e9m o empacotamento da otimiza\u00e7\u00e3o do tamanho do arquivo. Embora a minifica\u00e7\u00e3o remova texto-fonte desnecess\u00e1rio, o inv\u00f3lucro de desempacotamento adiciona c\u00f3digo pr\u00f3prio, de modo que um script curto pode ficar maior. Se o tamanho do download for sua principal preocupa\u00e7\u00e3o, compare o resultado com a ferramenta <a href=\"https:\/\/wpcalc.com\/pt\/ferramentas-web\/comprimir-javascript\/\">JavaScript Compress<\/a>.<\/p>\n<h2>Premissas e limita\u00e7\u00f5es pr\u00e1ticas<\/h2>\n<ul>\n<li><strong>A pol\u00edtica de execu\u00e7\u00e3o importa.<\/strong> Uma Content Security Policy que n\u00e3o permite <code>eval()<\/code> pode impedir a execu\u00e7\u00e3o do script empacotado. Um site pode precisar usar um script n\u00e3o empacotado em vez de enfraquecer sua pol\u00edtica.<\/li>\n<li><strong>Teste o resultado real.<\/strong> A redu\u00e7\u00e3o de vari\u00e1veis e o empacotamento podem afetar c\u00f3digo que depende do texto-fonte, dos nomes de vari\u00e1veis ou de um comportamento espec\u00edfico de escopo. Verifique o script gerado com o motor JavaScript e o conjunto de testes pretendidos antes de substituir c\u00f3digo funcionando.<\/li>\n<li><strong>N\u00e3o trate a sa\u00edda como segura por parecer ileg\u00edvel.<\/strong> JavaScript empacotado ainda pode executar quaisquer a\u00e7\u00f5es que seu c\u00f3digo original executa. Revise entradas n\u00e3o confi\u00e1veis antes de execut\u00e1-las.<\/li>\n<li><strong>Guarde o c\u00f3digo-fonte original.<\/strong> A sa\u00edda empacotada \u00e9 mais dif\u00edcil de editar e depurar. Mantenha sua vers\u00e3o leg\u00edvel para altera\u00e7\u00f5es, investiga\u00e7\u00e3o de erros e builds futuros.<\/li>\n<\/ul>\n<p>A melhor verifica\u00e7\u00e3o \u00e9 um teste lado a lado: execute os scripts original e empacotado nas mesmas condi\u00e7\u00f5es, compare seu comportamento observ\u00e1vel e confirme que seu ambiente de implanta\u00e7\u00e3o permite avalia\u00e7\u00e3o din\u00e2mica.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cole o JavaScript no campo de c\u00f3digo para gerar uma vers\u00e3o empacotada baseada em eval. Copie o c\u00f3digo resultante do campo C\u00f3digo Ofuscado.<\/p>\n","protected":false},"author":3168,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[15],"tags":[28],"class_list":["post-463","post","type-post","status-publish","format-standard","hentry","category-ferramentas-web","tag-ferramentas-de-conversao"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpcalc.com\/pt\/wp-json\/wp\/v2\/posts\/463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcalc.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpcalc.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/pt\/wp-json\/wp\/v2\/users\/3168"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/pt\/wp-json\/wp\/v2\/comments?post=463"}],"version-history":[{"count":2,"href":"https:\/\/wpcalc.com\/pt\/wp-json\/wp\/v2\/posts\/463\/revisions"}],"predecessor-version":[{"id":1725,"href":"https:\/\/wpcalc.com\/pt\/wp-json\/wp\/v2\/posts\/463\/revisions\/1725"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/pt\/wp-json\/wp\/v2\/media?parent=463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/pt\/wp-json\/wp\/v2\/categories?post=463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/pt\/wp-json\/wp\/v2\/tags?post=463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}