Ofuscador de strings do PowerShell
Ofusque literais de string do PowerShell com 5 técnicas diferentes: Base64 + [System.Text.Encoding]::UTF8.GetString, matriz [char] + -join, matrizes de bytes criptografadas com XOR e descriptografia -bxor, concatenação dividida com operador de formato (-f) e sequências de escape com acento grave. Cada método gera código PowerShell válido que produz a string original em tempo de execução. Compare todos os métodos lado a lado, filtre por técnica e copie o código gerado: tudo grátis, privado e sem cadastro.
Obfuscate PowerShell string literals using 5 different techniques: Base64 + [System.Text.Encoding]::UTF8.GetString, [char] array + -join, XOR-encrypted byte arrays, format operator (-f) split concatenation, and backtick escape sequences. Each method generates valid PowerShell code that produces the original string at runtime. Compare all methods side by side or focus on one.
Enter a PowerShell string above to obfuscate it using 5 different techniques. Choose from Base64 + Encoding.GetString, [char] array + -join, XOR encryption, format operator (-f) split, or backtick escape sequences. Click any example below the input to get started.
Recursos
- 5 métodos de ofuscação: escolha entre Base64 + Encoding.GetString, matriz [char] + -join, criptografia XOR, divisão com operador de formato (-f) e sequências de escape com acento grave. Cada um gera código PowerShell válido que produz a string original em tempo de execução.
- Comparação lado a lado: veja os 5 métodos simultaneamente para comparar o tamanho do código, a legibilidade e a força da ofuscação. Filtre para focar em um único método quando encontrar o que atende às suas necessidades.
- Análise do impacto no tamanho: cada método mostra a contagem de caracteres e o aumento de tamanho em relação à string original, ajudando você a equilibrar a força da ofuscação com o tamanho do código. Estatísticas médias de todos os métodos incluídas.
- Exemplos predefinidos: teste rapidamente com strings realistas do PowerShell: chaves de API, strings de conexão, caminhos de script e frases comuns. Veja na hora como cada método transforma diferentes tipos de conteúdo.
O que é ofuscação de strings do PowerShell?
A ofuscação de strings do PowerShell transforma literais de string legíveis em representações equivalentes que são difíceis de entender para pessoas e ferramentas de detecção automatizadas. Em vez de escrever 'Hello' , você pode usar [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('SGVsbG8=')) ou ([char[]](72,101,108,108,111) -join '') . Ambos produzem a mesma string em tempo de execução, mas são muito mais difíceis de detectar por análise estática.
Como funciona a ofuscação
O Ofuscador de strings do PowerShell aplica cinco técnicas de transformação distintas. A codificação Base64 envolve a string em Convert.FromBase64String(). As matrizes [char] representam cada caractere como um ponto de código inteiro. A criptografia XOR aplica XOR a cada byte com uma chave aleatória. A divisão com operador de formato fragmenta a string em vários argumentos. Os escapes com acento grave convertem caracteres especiais em sequências `xNN. Cada técnica usa randomização para gerar uma saída diferente a cada geração.
Relevância em testes de segurança
O PowerShell é uma ferramenta fundamental tanto para a administração do Windows quanto para operações adversárias. A ofuscação de strings é rotineiramente usada em testes de invasão e exercícios de red team para contornar o AMSI (Anti-Malware Scan Interface), evadir a detecção baseada em assinaturas e evitar a exposição em texto simples nos logs de scripts. Entender essas técnicas ajuda atacantes e defensores a reconhecer padrões comuns de ofuscação.
Privacidade e segurança
Esta ferramenta é executada inteiramente no seu navegador usando JavaScript do lado do cliente. Suas strings de entrada e as saídas ofuscadas geradas nunca saem do seu dispositivo. Não há chamadas de API, processamento no servidor, armazenamento de dados nem rastreamento. O mecanismo de ofuscação usa os métodos de string e número nativos do JavaScript para todas as transformações: tudo é local e privado.
Perguntas frequentes
A ofuscação de strings do PowerShell transforma literais de string legíveis em scripts do PowerShell em representações equivalentes, mas difíceis de ler. Por exemplo, "Hello" pode se tornar [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("SGVsbG8=")) ou ([char[]](72,101,108,108,111) -join ''). Ambos produzem a mesma string em tempo de execução, mas são muito mais difíceis de detectar por análise estática.
A ferramenta oferece 5 métodos: Base64 + [System.Text.Encoding]::UTF8.GetString, matriz [char] + -join, matrizes de bytes criptografadas com XOR e descriptografia em tempo de execução usando -bxor, concatenação dividida com operador de formato (-f) e sequências de escape com acento grave (`xNN). Cada método gera código PowerShell válido que funciona no PowerShell 5.1 e no PowerShell 7+.
A criptografia XOR e as matrizes [char] oferecem a ofuscação mais forte, porque a string original não pode ser recuperada diretamente sem executar a transformação. A codificação Base64 é muito conhecida e facilmente reconhecida. A divisão com operador de formato acrescenta a vantagem de fragmentar a string em vários argumentos, dificultando a correspondência de padrões.
A ofuscação de strings pode ajudar a contornar o AMSI (Anti-Malware Scan Interface) ao remover assinaturas em texto simples do seu código PowerShell. No entanto, o AMSI também analisa em tempo de execução quando a string é desofuscada. Combinar a ofuscação de strings com outras técnicas de evasão proporciona proteção mais forte.
Sim. Todo o código gerado é compatível com o PowerShell 5.1 (Windows) e o PowerShell 7+ (multiplataforma). As classes [System.Convert] e [System.Text.Encoding] estão disponíveis desde o PowerShell 1.0. O operador -bxor e o operador -join funcionam em todas as versões modernas.
Com certeza. O ofuscador de strings do PowerShell é executado inteiramente no seu navegador. Suas strings de entrada e a saída ofuscada nunca são enviadas a nenhum servidor. Todo o processamento acontece localmente no seu dispositivo. Não é necessário cadastro.
O método XOR converte cada caractere em seu valor de byte ASCII e então aplica XOR a cada byte com uma chave de um único byte escolhida aleatoriamente. A saída inclui tanto os valores da matriz de bytes com XOR quanto a chave como inteiros. Em tempo de execução, o PowerShell usa o operador -bxor para reverter o XOR de cada byte, converte para [char] e os une.
Sim. A ofuscação de strings complementa frameworks de ofuscação do PowerShell como Invoke-Obfuscation, Out-EncodedCommand e ISE Steroids. Aplique a ofuscação de strings a strings individuais e depois envolva o script completo com codificação adicional para proteção em várias camadas.
Sim: 100% grátis, sem cadastro, sem conta e sem limites de uso. Os 5 métodos de ofuscação, a comparação lado a lado e a função de cópia estão disponíveis sem qualquer restrição.