MyMind 0 Denunciar post Postado Maio 17, 2012 É 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
Prog 183 Denunciar post Postado Maio 17, 2012 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
MyMind 0 Denunciar post Postado Maio 17, 2012 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
Prog 183 Denunciar post Postado Maio 17, 2012 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