Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14165|Resposta: 3

Hoje gostaria de apresentar a você um ofuscador .net open-source - ConfuserEx

[Copiar link]
Publicado em 05/01/2016 23:28:23 | | | |
Como o ofuscador .net é usado no projeto, muitos modelos são pesquisados online, como Dotfuscator, xeoncode, foxit, etc.

Mas a maioria das taxas, claro, são versões crackeadas, e a empresa exige que softwares piratas não possam ser usados.

Depois de procurar por muito tempo, finalmente encontrei o ConfuserEX, e estava ok usar, então rapidamente o tirei e compartilhei com você.


Como há poucas introduções chinesas na Internet, farei um teste aqui para demonstrar a você:

1. Crie uma nova biblioteca de classes em C#, não vou mudar o nome, apenas chamar de ClassLibrary1 e adicionar um método simples sob a classe Class1.cs:




2. Crie outro aplicativo de console, ConsoleTest, adicione um ClassLibrary1.dll de referência e chame o método de teste em ClassLibrary1.Class1 no método Main:






Após compilar, abra o ConsoleTest.exe com o ILSpy, e você poderá ver o código-fonte conforme mostrado abaixo:




3, Agora vamos tentar confundir com o ConfuserEx:

Após baixar o ConfuserEx, descompacte e abra a ConfuserEx.exe, como mostrado na figura a seguir:



4. Veja o prompt "Arrastar módulos de entrada aqui"?

Então coloque a ConsoleTest.exe agora mesmo, como mostrado na foto abaixo:



5. Clique em Configurações
  • Selecionar Packer
  • Módulos->ConsoleTest.exe
  • Clique no sinal + para Regras, verdadeiro


Como mostrado abaixo:



6. Clique em Protestar!->Proteger! , provocando exportação bem-sucedida (no diretório Confused),



7. Abra com o ILspy... Confuso, olhe ConsoleTest.exe o código-fonte:




Se o método estiver vazio, copie o ClassLibrary1.dll das dependências de ConsoleTest.exe para o diretório Confused, clique em Executar ConsoleTest.exe e apresente o resultado correto.

Nota

8. Se você apenas confundir o arquivo exe, tudo bem; se você apenas confundir um arquivo dll, verá o seguinte erro:



Erro: Sem módulo executável, sem corpo executável?

Não existe um arquivo exe? Vamos colocar a ConsoleTest.exe e confundir com ClassLibrary1.dll, olha.

9. De acordo com o método anterior, arrastei e soltei o ConsoleTest.exe e ClassLibrary1.dll no ConfuserEx para confundi-los juntos.

Como mostrado abaixo:



Sucesso rápido.

10. Mas abrimos de novo... Confuso, só encontrei arquivos confusos ConsoleTest.exe, para onde ClassLibrary1.dll foi?

Você não consegue confundir o arquivo dll?

Não se preocupe, vamos clicar ConsoleTest.exe tentar, ah, estou indo, roda com sucesso, como mostrado na foto abaixo:



A única explicação aqui é que o ConfuserEx incorpora o DLL no exe.

Agora o ConsoleTest.exe confuso tem 17KB, enquanto o ConsoleTest.exe original tem 5KB e o ClassLibrary1.dll também tem 5KB.

11. Vamos usar o ILSpy para ver o ConsoleTest.exe gerado após confundir ConsoleTest.exe e ClassLibrary1.dll ao mesmo tempo.



Não consigo ver o método, nem o arquivo dll referenciado.

Bem, é isso por hoje.

Anexado: Como não encontrei uma forma de confundir a dll separadamente ao meio-dia, essa aluna encontrou uma maneira na @四毛的家 da tarde, e vou acrescentar como confundir a dll separadamente.

De acordo com o passo 8, encontramos que um erro foi reportado ao confundir a DLL de acordo com o método EXE, e deveríamos ter seguido os passos abaixo:

Depois de arrastar a dll para o ConfuserEx, você não pode selecionar Packer nas Configurações, mas clique no botão lápis à direita, como mostrado abaixo.



Depois de clicar no botão lápis, a caixa de diálogo Editar regra aparece, seleciono um item no Preset, seleciono Máximo aqui, clico no botão "+" abaixo, seleciono anti-ildasm (acho que para evitar compilação pelo IL), e então a exportação é bem-sucedida.

Estamos usando o ILSpy para verificar o ClassLibrary1.dll que acabou de ser confundido, como mostrado na figura abaixo,



Nada pode ser visto.

Para testar a DLL ofuscada disponível, coloco a ConsoleTest.exe não ofuscada e a ClassLibrary1.dll ofuscada em um único diretório, clico em Executar ConsoleTest.exe e consigo ter sucesso.




Anterior:[Pro-test] C# executa procedimentos armazenados e retorna a chave primária do GUID
Próximo:.net confuso, shelling, confuserex v0.6.0 tutorial da versão chinesa
 Senhorio| Publicado em 05/01/2016 23:29:18 |
O ConfuserEx suporta frameworks .NET 2.0 - 4.5 e Mono (existem outros frameworks .NET também):

Renomeação do símbolo
Renomeação WPF/BAML
Ofuscação de fluxo de controle
Ocultação de referência de métodos
Anti-depuradores/perfiladores
Anti despejo de memória
Anti-adulteração
Dependências embarcadas
Criptografia constante
Criptografia de recursos
Compressão da saída
API de plugins de extensão
Publicado em 06/01/2016 01:53:46 |
Obrigado por compartilhar, já usei o 4.0 antes, e finalmente existe o 6.0!
 Senhorio| Publicado em 06/01/2016 07:58:20 |
Lynx Postado em 2016-1-6 01:53
Obrigado por compartilhar, já usei o 4.0 antes, e finalmente existe o 6.0!

Bem, vamos comunicar mais tecnologia .net
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com