AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 conversion .exe => .gmz

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
chopsuey
Utilisateur confirmé: Rang ***
avatar

Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

MessageSujet: conversion .exe => .gmz   Ven 2 Déc 2016 - 16:19

Salut le cbna awesome !
Je sais que c'était possible avec les anciennes versions, il y avait un petit programme pour faire ça mais avec studio ?
J'ai ce .exe mediafire.com file/y4k56u0l4mk4jim/manager+labs-Default-1.0.0.27.exe qui a été fait il y a peut être presque 2 ans et j'ai absolument besoin de récupérer le code et les fichiers d'origine mais bon voila...le disque dur qui fait son gros fragile égoïste horror


_________________
Spoiler:
 
Revenir en haut Aller en bas
Kabcorp
Utilisateur confirmé: Rang **
avatar

Messages : 315
Localisation : Savoie
Projet Actuel : trop...

MessageSujet: Re: conversion .exe => .gmz   Ven 2 Déc 2016 - 21:28

Possible mais il n'y a pas de tool pour l'instant il me semble...
La compression/obfuscation doit être beaucoup plus travaillée et plus dure à decortiquer pour les executables GM:Studio

_________________
Vous voulez un jeu pas comme les autres? Voici DeFRaG :
 
Revenir en haut Aller en bas
http://kabcorp.fr
chopsuey
Utilisateur confirmé: Rang ***
avatar

Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

MessageSujet: Re: conversion .exe => .gmz   Ven 2 Déc 2016 - 23:36

Bon ok merci,
Je ne sais même pas ce que ça veut dire "obfuscation" je suppose que je n'arriverais pas à faire ça moi même...
Si quelqu'un sais comment faire, je ne serais pas contre des explications happy1

_________________
Spoiler:
 
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8918
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: conversion .exe => .gmz   Lun 2 Jan 2017 - 9:37

Dans GM6-7-8, t'as les sources et données du projet pack dans le .exe, pas en clair, mais presque (y a juste une étape de cryptage, mais ensuite tout est en clair).

Dans GMS, le moteur de scripting est une machine virtuelle.
C-a-d que GM ne stocke plus le code source en tant que tel, mais il le transforme/compîle en bytecode (appelé VmAsm sous GMS).
Cela permet d’interpréter le code de manière beaucoup plus rapide (d’où les différences de perfs de l'ordre de 2 ou 3 quand tu passes de GM8 a GMS).
Donc quand tu compile un projet, ton code change, et tous les commentaires sont wipés, ainsi que d'autres données moins importantes.

Dans le data.win, section CODE, tu pourras voir le VmAsm.
Exemple:


Exploiter le bytecode en tant que tel n'est pas vraiment possible en des temps raisonnables.
La première étape pour faire du reverse engineering (c-a-d, reconstituer le code de base en partant du bytecode) sera de désassembler le bytecode en VmAsm clair.

L'exemple ci dessus désassemblé:
Code:
0x00000000: fbff05c0bb0100a0    push.v -5 0xa000 seed (0x1bb)
0x00000008: 000006c0de050000    push.s
0x0000000c: de050000            
0x00000010: 00005603            conv.s.v
0x00000014: 020002da            call.i 0 get_save_filename
0x0000001c: f9ff5541e00500a0    pop.v.v -7 0xa000 _file (0x5e0)
0x00000024: f9ff05c0e00500a0    push.v -7 0xa000 _file (0x5e0)
0x0000002c: 000006c0f5000000    push.s
0x00000030: f5000000            
0x00000034: 00005614            sne.s.v
0x00000038: 060000b9            bf
0x0000003c: f9ff05c0e00500a0    push.v -7 0xa000 _file (0x5e0)
0x00000044: 010002da            call.i 0 screen_save
0x0000004c: 0000059f            popz

Avec pas mal de théorie en mathématique côté informatique théorique, tu peux assez rapidement transformer ça en code GML tout a fait valide, et très proche de celui d'origine, de manière totalement automatisée.
Le soucis c'est que la ça deviens un peu plus compliqué a mettre en œuvre.
Perso j'avais essayé vite fait pour aider un pote a récup son projet mais j'ai jamais eu le temps de finir, mon jeu me prend trop de temps a côté...
En tout cas c'est tout a fait possible (comparé a ce que disent les créateurs même de GMS...) de décompiler un projet.

Au niveau des ressources c'est bien plus simple a extraire.
Elles ne sont pas cryptées (tout le data.win est en clair, c'est juste que le bytecode n'est pas vraiment exploitable en tant que tel), mais juste pack en binaire.

L'outil que j'avais commencé permet juste de reconstruire le dossier des sprites pour le moment.
Mais si ça t’intéresse envoie moi ton projet je verrais si ça marche avec.

_________________
                 
Revenir en haut Aller en bas
Linky439
Utilisateur confirmé: Rang *****
avatar

Messages : 2616
Localisation : Sur le forum du CBNA...ou pas
Projet Actuel : La Galaxie Scellée

MessageSujet: Re: conversion .exe => .gmz   Mar 3 Jan 2017 - 16:14

De mémoire, c'était assez simple de décompiler un jeu sur les vieilles versions de GM, ouais. Yavait pas d'ailleurs des programmes qui se chargeaient de crypter un peu plus le bousin ?

_________________
Cliquez pour accéder aux topics dédiés !
   
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
avatar

Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

MessageSujet: Re: conversion .exe => .gmz   Mar 3 Jan 2017 - 16:29

Merci pour ces réponses.
Finalement je pense que je vais abandonner cette idée.
En fait j'avais fait un serious game pour une société mais je me suis fait entubé (plus de nouvelles) mais 2 ans plus tard on me recontacte pour m'acheter le code source sauf que entre temps mon disque dur a planté... mais de toutes façons je n'ai plus aucune nouvelle depuis que j'ai annoncé le prix et que je ne donnerais rien sans être payé à l'avance, donc je n'ai pas envie de me donner cette peine pour rien.    
Dsl onilink_ de t'avoir fait chercher ça pour rien. Oups!

De mémoire, c'était assez simple de décompiler un jeu sur les vieilles versions de GM, ouais. Yavait pas d'ailleurs des programmes qui se chargeaient de crypter un peu plus le bousin ? a écrit:

Oui c'était très simple avant studio, il y avait un decompiler téléchargeable ici même sur le cbna.

_________________
Spoiler:
 
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8918
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: conversion .exe => .gmz   Mar 3 Jan 2017 - 18:18

Pas de soucis c'est un vieux projet ressorti des tiroirs :p
Ça m'a donné un peu envie d'approfondir/avancer car la partie théorique du reverse engineering est très intéressante.

_________________
                 
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: conversion .exe => .gmz   

Revenir en haut Aller en bas
 
conversion .exe => .gmz
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Conversion version Heredis 5 en Heredis 8
» Conversion de mesures
» Conversion des levures
» Le drakkar et la croix - La conversion des vikings
» Conversion c/s microSv

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: