Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MyMind

Dá para Editar um Programa Pronto?

Recommended Posts

É muito comum mods de jogos como Counter-Strike e GTA, imagino eu que para fazer estes mods os programadores tiveram acesso ao código fonte do jogo, sem baixar o code diretamente da internet.

 

É possível fazer o mesmo para outros softwares? obter o código fonte de qualquer programa, instalado na máquina, ou através do programa de instalação dele?

 

Ouvi dizer que ao abrir um programa .exe você terá acesso ao código binário, isto é verdade? dá para converter os binários para C, C++, Java ou outra linguagem que "dê para trabalhar"?

 

Nota: Eu não vou violar os direitos autorais de ninguém... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Editores hexadecimais podem alterar o código binário, isto é tentativa e erro, não existe um manual para isto e sempre que uma alteração errada for feita, o binário fica inutilizado;

 

Para quase todas as linguagens de programação existem meios de fazer engenharia reversa, fazer com que um determinado código binário volte ao código fonte, embora não seja 100%, é possível obter bons resultados;

 

No caso do Counter-Strike (Half-Life), a plataforma do jogo já foi criado para que os mods fossem possíveis, não se faz necessário ter acesso ao código fonte para modificá-lo.

 

Não possuo conhecimento sobre a plataforma do GTA, mas neste caso acho que foi utilizado simplesmente uma substituição de 1 para 1, criando desta forma as modificações. Mais ou menos parecido com o que faziam com o jogo Pro Evolution Soccer, você pode alterar o nome dos jogadores, a fisionomia, as cores do time... mas você não pode alterar a quantidade de times disponíveis, alterar a física do jogo, entre outras coisas;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se eu entendi Certo, Então para fazer a Engenharia Reversa de um programa:

 

1º é sempre necessário utilizar um editor hexadecimal para ir editando os binários, mas esta edição será como tiros no escuro...

 

2º a cada modificação é necessário testar o programa para ver o que aconteceu (e através disto descobrir o que o código que você editou faz no programa)

 

Isto permitirá mapear o código, saber o que cada trecho de código faz no programa. É isso?

 

e depois, como transforma isso em uma linguagem de programação? há um programa de conversão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O processo de editar o binário usando editores hexadecimais não podemos chamar de Engenharia Reversa.

 

Uma explicação mais completa do termo Engenharia Reversa pode ser lido aqui: http://pt.wikipedia.org/wiki/Engenharia_reversa

 

Sim, geralmente o processo de Engenharia Reversa é realizado com uso de programa de terceiros, criado espeficiamente para este objetivo. Há material extenso sobre este assunto na Internet.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.