Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

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.

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

Hors ligne

#6 Le 28/03/2009, à 19:01

Link31

Re : [Ubuntu] Decompileur C/Cpp

re06011988 a écrit :

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

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 ...

Hors ligne