Mudanças entre as edições de "Retroprogramação"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
Linha 46: Linha 46:
   
 
* Pinball Fantasies
 
* Pinball Fantasies
* [https://github.com/jmechner/Prince-of-Persia-Apple-II Prince of Persia (Apple II)]
+
* [https://github.com/jmechner/Prince-of-Persia-Apple-II Prince of Persia (Apple II)] [https://github.com/adamgreen/Prince-of-Persia-Apple-II/blob/build/Notes/pop-build.creole#quick-start How to Build!]
 
* Lemmings
 
* Lemmings
 
* [http://sourceforge.net/projects/jedioutcast/ Jedi Outcast]
 
* [http://sourceforge.net/projects/jedioutcast/ Jedi Outcast]

Edição das 14h28min de 22 de abril de 2013

Retroprogramação.png

Descrição

Neste evento semanal estudamos programação por meio da engenharia reversa de jogos clássicos ou pela análise do código fonte, em casos em que os autores tenha publicado tais códigos.


Temas dos eventos

22/Abril/2013

Durante as últimas semanas estivemos estudando o bytecode e uma implementação livre da máquina virtual do game Another World.

Daremos uma pausa no estudo desse game, mas podemos retomar o assunto mais pra frente.

O tema de 22/Abril/2013 será o game Twinsen's Odyssey, Little Big Adventure 1 e a reimplementação livre da engine do Game, chamada Twin-E.

Hoje, 22 de abril.

A partir de 20h00min no Garoa Hacker Clube

Previsão de término às 22h.

08/Abril/2013

Hoje, das 20h às 22h no Garoa, mais um RETROPROGRAMAÇÃO. Continuaremos nossa análise do game Another World.

https://www.garoa.net.br/wiki/Retroprograma%C3%A7%C3%A3o

A meta do encontro de hoje é regenerar os arquivos de bancos de recursos do game removendo a compressão de dados de modo a torná-los mais facilmente hackeáveis. A idéia é descomprimir tudo em memória e depois escrever os dados de volta pros arquivos de bancos de recursos sem usar compressão e então atualizar o índice de bancos com os novos ponteiros de início e fim de cada recurso e com os metadados atualizados para informar que tá tudo sem compressão.

Se der certo, seremos capazes de executar corretamente o game regenerado na máquina virtual.

Quando falo dados, na verdade é qualquer coisa: polígonos, sons, músicas e até mesmo bytecode executável.

Então os passos para as aulas seguintes envolverão escrever um assembler para o bytecode do game e depois usar nosso disassembler (que discutimos no primeiro encontro) para ler códigos, alterá-los, re-montá-los, carregá-los em bancos de recursos e como resultado termos uma versão hackeada do game.

Tudo isso com o propósito de aprender por meio da engenharia reversa de games clássicos, que é a linha principal do evento semanal RETROPROGRAMAÇÃO:

Todas segundas-feiras, das 20h às 22h no Garoa Hacker Clube.

happy hacking, Felipe "Juca" Sanches

Temas para eventos futuros

anotações