Dynamic Link Libraries, DLLs, são a versão da Microsoft de programação modular. Eles oferecem, compilado, código e dados reutilizável pré-embalados. Vários aplicativos podem fazer uso de um arquivo DLL apropriado em tempo de execução, especificando um ponto de entrada para o arquivo DLL e, em seguida, executar rotinas armazenadas dentro dela. Para modificar uma DLL, e, assim, modificar todos os programas dependentes, exige a desmontagem. Este é um processo onde o conteúdo binário do arquivo DLL são convertidos de volta para suas, opcodes legíveis tanto humanos. A desmontagem pode ser efectuada através de um programa de computador chamado um desintegrador ou um ser humano com uma grande quantidade de tempo livre.
Coisas que você precisa
- editor hexadecimal
- x86 Disassembler
- x86 Assembler
Abra o arquivo DLL em um x86 tipo de processador compatível ou outro, se necessário, desmontador. Isso se traduzirá o conteúdo binário do arquivo DLL em uma saída linguagem legível, montagem um tanto humana.
Salvar a saída gerada a partir do Passo 1 como um arquivo * .ASM.
Use um editor de texto, editor hex ou outra ferramenta básica não-formatação, para modificar o conteúdo do arquivo de montagem.
Carregar o arquivo de montagem para a montadora e montá-lo. O programa vai verificar automaticamente se há erros e se tudo correr bem um novo arquivo * .exe serão gerados.
Altere a extensão do arquivo gerado a partir do Passo 4 do .EXE para .DLL.
dicas & avisos
- Montagem, enquanto mais amigável humano do que binário puro, ainda pode ser muito tedioso para programar e modificar. Se as alterações necessárias para o arquivo DLL são extensas, este método vai ser muito ineficiente. No entanto, por modificações simples, tais como alterar os valores dos parâmetros individuais, este método é adequado.
- Teoricamente, um arquivo DLL desmontada pode ser convertido novamente em C ou C ++, a partir do qual ele provavelmente originado em primeiro lugar. Estas linguagens de alto nível são tipicamente ordens de magnitude mais amigável do que a montagem, no entanto, quando a conversão de um binário de volta a uma linguagem de alto nível certas informações como nomes de variáveis e nomes de funções não podem ser recuperadas.
- desmontagem DLL só seria necessário se o código-fonte original foi perdido. Normalmente, o código fonte é modificado e, em seguida, novamente compilado e montado a partir de lá. Se o DLL está sendo pessoal da engenharia, em seguida, leis de direitos autorais pode estar sendo violado, ainda que não necessariamente.