Sobre este projeto
it-programming / web-development
Aberto
Contexto Geral do Projeto
Tarefas: 1. Estudar o código-fonte do UPX e entender sua arquitetura; 2. Implementar a encriptação AES256 no UPX, garantindo que os arquivos compactados sejam seguros e possam ser descompactados corretamente; 3. Testar e depurar a implementação para garantir que ela seja estável e segura; 4. Documentar as modificações realizadas e fornecer instruções para compilação e uso; 5. Entregar o código-fonte modificado e compilado. OBS: Eu já tenho uma implementação em C do algoritmo AES256. Sobre o uso do UPX e a modificação desejada: O UPX comprime arquivos executáveis mantendo todas as suas funcionalidades e características, até mesmo o ícone do arquivo original. Na hora de comprimir um arquivo executável, um novo arquivo executável é criado contendo o método de descompactação do upx junto ao conteúdo integral (compactado) do arquivo original, quando esse novo arquivo é executado, o método de descompactação é invocado e ele descompacta o conteúdo do arquivo diretamente na memória ram, sem passar pelo hd. Eu desejo que seja feita uma modificação para que antes de compactar o arquivo executável seja solicitada uma senha, que será usada para encriptar o arquivo original antes da compactação, e quando esse novo arquivo for gerado, ao executa-lo ele deve me pedir a senha, que será usada para decriptar o conteúdo do arquivo antes de descompacta-lo diretamente na memória. Resumindo (a parte da compactação de executáveis): 1- Eu abro o programa (nosso UPX modificado) e ele me pede o arquivo que quero compactar e uma senha; 2- O nosso programa encripta com a senha e compacta o arquivo gerando um outro executável. Resumindo (a parte da execução do arquivo executável gerado com o nosso UPX modificado): 1- Eu executo o arquivo gerado anteriormente com o nosso UPX modificado e ele me pede uma senha; 2- Ele decripta usando a senha e descompacta o arquivo diretamente na memória.
Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho uma ideia geral
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor
Prazo de Entrega: Não estabelecido
Habilidades necessárias