Lisez bien la FAQ. Pour poster un message ou poser une question, vous devez être enregistré. Vous n'êtes pas obligé d'être connecté pour lire les messages et voir les contenus.
Nous espérons que vous trouverez vos réponses ici, et n'hésitez pas à participer.
Bonne visite !
Sur ces forums, il est possible d'aborder n'importe quels sujets, de façon sérieuse ou pas !
Afin de préserver son harmonie et éviter les débordements, nous avons établi un ensemble de règles très simples que nous vous demandons de respecter.
1) Les thèmes suivants ne doivent jamais être abordés: La politique, La religion, La haine raciale, La pédophilie. Faites appel à votre bon sens pour éviter tout autre sujet susceptible de provoquer une polémique trop violente.
2) Ce forum est destiné à l'Abandonware (jeux a l'abandon) et le jeu vidéo. Les discussions ou liens vers un contenu illégal (piratage, désinformation, complotisme...), ou vers des contenus adultes, financiers, religieux... seront systématiquement effacés.
3) Ne publiez pas d'images dans vos messages qui pourraient choquer les autres visiteurs (rappel, le public peut être très jeune).
4) Lorsque vous lancez un sujet, veillez à ce qu'il soit dans le forum approprié (ne faites pas par exemple une requête dans le forum Discussion générale / Le bar des amis).
5) Il est souhaitable de ne pas faire dévier un sujet, ne serait-ce que par respect pour celui ou celle qui a lancé la discussion.
6) Avant de poser une question d'ordre (technique, requêtes...), assurez-vous qu'elle n'ait pas déjà été posé via la recherche.
6) Nous détestons le SPAM et le Flood ! Évitez donc de poster des messages inutiles et de façon répétée.
7) Peace and Love ! Les forums sont un endroit de détente, amusez-vous, ne vous prenez pas la tête inutilement en public.
8) Les administrateurs et modérateurs sont présents pour s'assurer que les règles et les personnes soient respectées. Leurs décisions sont elles-mêmes à respecter.
9) Ce forum n'est pas un téléphone portable ! Un forum est un lieu où on prend le temps, donc évitez le langage "texto/SMS". De plus, vos messages ne sont pas limités à 160 caractères, alors s'il vous plait, écrivez correctement ! Clairement, on ne va pas vous tomber dessus pour un "s" oublié ou pour un accord incorrect, mais pas de "g chrché c je pandan dé mwa"! Copiez-collez votre message dans Word pour profiter du correcteur orthographique, au besoin.
Ces règles sont très importantes, merci de les respecter ! En cas de non-respect, vous pourrez recevoir un avertissement, ou en fonction de la faute, être banni temporairement, voir définitivement du forum.
Merci à vous et bonnes discussions
Une autre méthode empirque qui m'a parfois réussi,
patcher chaque bit de ce fameux word, voir les effets et essayer de comprendre...
Mais t'as déjà dû faire ?
Oui c'est la meilleure méthode la plupart du temps, mais dans ce cas précis c'est presque impossible, car le résultat n'est pas affichable. On a besoin de ce résultat *avant* de tester puisqu'il faut savoir où mettre les (-X) et la taille du buffer. Sinon ya plantage la plupart du temps.
Alors peut-être faut il faire un truc genre:
(FF FF) 012345679abcdef
(TE ST)(-8)(-8)(-8)(-8)(-8)(-8)(-8)(-8)(-8)(-8)
(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)
Et encore, si on met trop de (-8) ça fait un morceau invlaide, et si on en met pas assez, ça peut faire un offset invalide (ça dépend comment ça marche).
Je viens d'essayer d'écrire manuellement une chaîne avec que des FF 1F, FF 3F et FF FF et ça plante. Il se peut que quelque chose m'ait échappé dans ce que j'ai expliqué au début, donc si il y en a qui bossent dessus gardez à l'esprit que mes infos sont incomplètes. Ou peut-être que ma table d'exemples contient des erreurs.
Moi je ne bosse plus dessus, j'ai essayé un peu aujourd'hui sans succès. Donc si ya des courageux...
C'est bien dommage que personne d'autre n'essaie de trouver comment marche cette compression.
Je rajoute une petite info: Comme j'ai dit plus haut, c'est peut-être un poil plus compliqué que ma première explication:
Il y a un endroit où on peut changer FF F0 en FF C3 par exemple (on passe de 14 | B:2 à 14 | 9:2), mais on ne peut pas mettre FC 3F (14 | 0:2, donc censé être ok), ça planterait (je précise que j'ai changé les chars correspondants dans le "morceau", biensûr). D'après ce que j'ai vu, FC 3F impliquerait des trucs pour le morceau suivant également, car à chaque fois le morceau d'après a au moins une copie à l'offset 0 (de 2 chars dans tous les exemples que j'ai vérifié). Bref, la lecture d'un morceau pourrait aussi dépendre du précédent.
La seule chose sure c'est qu'il n'y a pas d'autre data inconnue, à part le 1er nombre (juste après FAB(0C)) qui pourrait fonctionner différemment des autres, donc le problème reste le même depuis mon 1er post.
A la limite si quelqu'un me fait marcher correctement IDA avec NEBULAR.EXE, ça devrait pas me prendre longtemps pour faire le RE (j'espère).
Hibernatus, j'ai relu tes premiers messages pour voir quel fichier tu avais regardé en premier, et j'ai tilté sur le mot FAB.
ça ne te rappelle pas la signature *FAB* qu'on trouve dans les exe compressés avec Lzexe de FABrice Bellard ?
Il y a au moins 2 versions la LZ90 et la LZ91.
J'ai regardé un prog compressé avec, et on reconnait des trucs; Des séquences composées d'un word et des caractères avec des nombres négatifs au milieu.
Tu as le code de décompactage inclus dans tous les exe de ce style.
Il y a aussi des unlzexe.c qui trainent.
Je regarderai ça quand j'aurai le temps, mais je préfèrerais que quelqu'un d'autre s'en occupe
C'est marrant parce que l'autre jour en lisant le site de la zlib je me suis dit que leur description de LZ77 ressemblait à ce que j'ai vu dans rex nebular. En tout cas la 1ère ligne "LZ77 compression works by finding sequences of data that are repeated". Je suppose que ça a un rapport avec LZexe, vu le nom?
Hehe, je viens de me rendre compte que j'ai un exe packé avec ça: celui de captive.
Si on regarde à l'offset 0xF75D on voit le (-68) et le (-16) qui forment BATTLE- à partir de BATTERY et de KNUCLE-, donc en effet ça ressemble énormément.
Mais le LZ se gère avec des paquets commençant par un char et non un word.
Chaque paquet contenant 8 données correspondant chacune à un bit de ce char.
Chaque donnée est un char ou un word selon la valeur du bit.
Si bit = 1 -> char -> donnée directe
Si bit = 0 -> word -> adresse et nombre de cars à prendre d'avant
En fait ya plein de dérivés de LZ77. D'après ce que j'ai compris le plus proche de LZ90 est LZSS puisque le 1er a été inspiré par le 2nd.
1er indice, je suppose que dans notre cas on a une taille de fenêtre fixe. Logiquement ça devrait être 128 (même si 256 est toujours possible). M'enfin bon j'ai très vaguement survolé tout ça, j'avais jamais fait de compression avant (à part huffman et quelques RLE, "comme tout le monde"), donc j'ai peut-être pas tout compris.
Enfin bref ça serait cool que quelqu'un trouve le bon algo sur le net à partir des infos qu'on a ici (c'est peut-être LZ90, j'ai pas regardé, c'est lourd de lire ce genre de code).
Vous pouvez toujours essayer de contacter les créateurs du jeu en expliquant le procédé de traduction (on ne fournis pas les fichiers jeux, juste des patches qui s'appliquent sur les fichiers originaux pour traduire les textes uniquement,..blahblah...), que ce n'est qu'un hobbie (amateur - rien de commercial ni professionnel)
et le problème que pose leur compression
Nous collectons des données personnelles sur notre site, à travers l'utilisation des cookies ainsi que d'autres technologies, pour vous fournir nos services, des publicités personnalisées et pour analyser le trafic. Nous pouvons être amené à partager certaines informations avec les partenaires publicitaires et d'analyse. Pour plus de détails, veuillez consulter la politique de confidentialité.
En cliquant sur « J'accepte » ci-dessous, vous acceptez notre politique de confidentialité ainsi que la collecte de données personnelles et l'utilisation de cookies comme décrit. Vous reconnaissez aussi que ce forum peut être hébergé en dehors de votre pays de résidence et que vous consentez à la collecte, le stockage et l'utilisation de vos données dans le pays où ce forum est hébergé.
Commentaire