Pages : 1
#1 Le 23/03/2009, à 01:06
- re06011988
[Ubuntu] Decompileur C/Cpp
Bonjour a tous et toutes
Dans l'optique de faire revivre un abandonware et de l'améliorer pour le remettre au gout du jour j'aimerais le reprogrammer.
On ma suggéré de le décompiler puis le travailler en C/c++, malgrés les problemes d'illegaliter que sa peu soulever. Je tien a présiser qu'il s'agit d'un vieux jeux de 1994 qui ce nomme Outpost et qui a un trés grand potentiel mais qui a été vite bâclé pour sortir vite.
Je cherche donc un décompileur marchant sous ubuntu car je n'en trouve que pour Windows.
Merci de votre aide
Amicalement 06011988
Mes script : T1000tag~Série pour conky
Hors ligne
#2 Le 27/03/2009, à 23:56
- re06011988
Re : [Ubuntu] Decompileur C/Cpp
Après plusieurs recherche je juste parvenu a récupérer le code en Assembleur (et je n'est pas encore trouver pour faire un translate asm -> C)
Pour être plus précis l'EXE en question est un NE (New Executable format) sois win-16 bits et le decompilateur Boomerang (très bon au passage) n'arrive pas a lire ce genre de format.
Merci pour votre aide.
Mes script : T1000tag~Série pour conky
Hors ligne
#3 Le 28/03/2009, à 00:28
- Link31
Re : [Ubuntu] Decompileur C/Cpp
Tu dois trouver une version des binutils compilée pour DOS (soit windows 16 bits), voire la compiler toi-même. Bref, compiler une cross-toolchain. Ça n'a rien de facile, mais en cherchant bien tu pourrais trouver des tutos pour Ubuntu/Debian. Sous Gentoo il y a un script qui fait ça automatiquement.
edit : je ne suis pas sûr d'avoir compris : tu as obtenu le code assembleur ou pas ?
Mais si tu l'as, bon courage pour le faire accepter par Boomerang. C'est déjà assez difficile avec des exécutables "normaux"... Tu ferais mieux d'essayer de lire l'assembleur.
Dernière modification par Link31 (Le 28/03/2009, à 00:30)
Hors ligne
#4 Le 28/03/2009, à 15:26
- gene69
Re : [Ubuntu] Decompileur C/Cpp
humm voilà un homme courrageux.Pour la même quantité de temps tu peux reécrire le programme from scratch, à moins que tu vises le côté pédagogique.
Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion
Hors ligne
#5 Le 28/03/2009, à 18:45
- re06011988
Re : [Ubuntu] Decompileur C/Cpp
j'ai réussit a obtenir le code déjà en assembleur.
Je vise évidement le coté pédagogie de la chose afin de toucher a des domaine encore inconnu de la programmation. Mais j'avoue que j'ai bien penser a le reprogrammer de zero en C, car la décompilation me donnera du C mais avec des nom de variable et fonction aléatoire et sans commentaire (déjà que des fois même avec des var expliciter et des commentaire je gallere ... lol)
PS : qu'est ce que des binutils
Mes script : T1000tag~Série pour conky
Hors ligne
#6 Le 28/03/2009, à 19:01
- Link31
Re : [Ubuntu] Decompileur C/Cpp
PS : qu'est ce que des binutils
Les outils GNU qui permettent d'analyser, de compiler et de désassembler des exécutables.
Hors ligne
#7 Le 28/03/2009, à 20:02
- boutor
Re : [Ubuntu] Decompileur C/Cpp
Salut,
Si tu arrives à quelque chose, tu pourrais nous faire un tutoriel?
Enfin ça dépend de la masse de travail bien sûr....
Je suis assez curieux de voir ce que cela donne.
En passant tu vas en faire quoi de ce jeu?
Hors ligne
#8 Le 29/03/2009, à 14:19
- re06011988
Re : [Ubuntu] Decompileur C/Cpp
Merci pour les binutils je vais me pencher dessut.
@boutor :
La demarche est assez simple a comprendre mais assez difficile a mettre en place car ce qui s'apliquera a ce jeux ne s'apliquera surement pas a autre chose, En gros l'ider ressemble a sa :
Exe 16 bits -> Dessasembler -> Decomonpiller en C -> Réecriture total du jeux
Une fois sa réaliser le but serat d'ameliorer le jeux et coriger les bug et manque du jeux (car il y a des outils et batiment qui sont present dans la documentation mais qui ne sont pas programmer)
Le but est de faire un peut comme pour transport tycoon en créant une version Open source et libre, pour Transport Tycoon l'equivalent libre est le projet OpenTTD au qu'elle je participe via la communoter francophone (www.ttycoonfr.net). Il existe la même chose pour avec FreeCol/FreeCiv (Colonization/Civilization) qui on été réhabiliter pour une meilleur compatibiliter de systeme mais aussi permettre d'ameliorer le jeux
A l'heure actuelle je posede Le jeux en assembleur et les spirte/son ...
pour te donner un exemple de code en assembleur sa ressemble a cela (juste un bout pour des raison de copyright) :
00000F70 268B471E mov ax,es:[bx+1Eh]
00000F74 268B5720 mov dx,es:[bx+20h]
00000F78 2B46F2 sub ax,[bp-0Eh]
00000F7B 1B56F4 sbb dx,[bp-0Ch]
00000F7E 263B5724 cmp dx,es:[bx+24h]
00000F82 7710 ja 000000F94h
00000F84 7206 jb 000000F8Ch
00000F86 263B4722 cmp ax,es:[bx+22h]
00000F8A 7308 jnb 000000F94h
00000F8C C746F00000 mov word [bp-10h],0000h
00000F91 EB22 jmp 000000FB5h
00000F93 90 nop
00000F94 8B46F8 mov ax,[bp-08h]
00000F97 33DB xor bx,bx
00000F99 8B56F6 mov dx,[bp-0Ah]
00000F9C E8E9FD call 000000D88h
00000F9F 8B46F2 mov ax,[bp-0Eh]
00000FA2 BB1E00 mov bx,001Eh
00000FA5 8B56F4 mov dx,[bp-0Ch]
00000FA8 29061E00 sub [001Eh],ax
00000FAC 19162000 sbb [0020h],dx
00000FB0 C746F00100 mov word [bp-10h],0001h
00000FB5 1F pop ds
00000FB6 837EF000 cmp word [bp-10h],00h
00000FBA 7414 jz 000000FD0h
00000FBC 8B5EEC mov bx,[bp-14h]
00000FBF C7470C0000 mov word [bx+0Ch],0000h
On peut trouver le jeux sur http://www.abandonware-france.org/ltf_abandon/ltf_jeu.php?id=1030 qui dois être compatible avec la dosbox de memoire.
PS: Si des personne sont motiver pour travailler sur le projet de qu'elle que facon il est le bien venu
Mes script : T1000tag~Série pour conky
Hors ligne
#9 Le 29/03/2009, à 15:22
- boutor
Re : [Ubuntu] Decompileur C/Cpp
De quoi as-tu besoin comme aide?
Hors ligne
#10 Le 29/03/2009, à 15:48
- re06011988
Re : [Ubuntu] Decompileur C/Cpp
Principalement une personne pour refaire les graphismes car je suis mauvais en dessin et des gens sachant coder en C et dans les 2 cas apporter des idée pour le jeu ...
Mes script : T1000tag~Série pour conky
Hors ligne
Pages : 1