Outils pour utilisateurs

Outils du site


back2root:reverse-engineering:future-crew-unreal-reverse-engineering-part-2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
back2root:reverse-engineering:future-crew-unreal-reverse-engineering-part-2 [2023/01/07 10:45] – ↷ Page déplacée de back2root:tutoriaux:future-crew-unreal-reverse-engineering-part-2 à back2root:reverse-engineering:future-crew-unreal-reverse-engineering-part-2 fraterback2root:reverse-engineering:future-crew-unreal-reverse-engineering-part-2 [2024/08/22 18:10] (Version actuelle) – [Tableau] frater
Ligne 7: Ligne 7:
 il est plus facile, sous Linux, d'extraire le loader via la commande dd: il est plus facile, sous Linux, d'extraire le loader via la commande dd:
  
-<code bash+<cli
-dd bs=1 count=26347 if=UNREAL.EXE of=LOADER.EXE +frater@gemini:~/re/unreal# dd bs=1 count=26347 if=UNREAL.EXE of=LOADER.EXE 
-</code>+</cli>
  
 Nous pouvons ensuite, dans DosBox-X, décompresser le loader, mais ce n'est pas suffisant comme nous allons le voir plus loin. Nous pouvons ensuite, dans DosBox-X, décompresser le loader, mais ce n'est pas suffisant comme nous allons le voir plus loin.
Ligne 16: Ligne 16:
  
 Nous allons lister les fichiers exécutables: Nous allons lister les fichiers exécutables:
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^  Nom de Fichier  ^  Taille (bytes)                ^  Compression 1          ^  Taille (Bytes) ^  Compression 2        ^  Tailles (bytes)  ^  Titre / usage                                  ^
 +| PART1.EXE        |                         29.860 |  LINK V3.69 /EXEPACK    |          42.592 |  N/A                  |            42.592 | Start field + flags "FuturCrew Present Unreal"  |
 +| PART99.EXE                                  747 |  LZEXE V0.91 or V1.00a  |             434 |  LINK V3.69 /EXEPACK  |             1.088 | End Part (Texte Credits)                        |
 +| PART3.EXE        |                         17.051 |  LZEXE V0.91 or V1.00a  |          33.080 |  LINK V3.69 /EXEPACK  |            86.048 | Sinus Part?                                     |
 +| PART10.EXE                               15.611 |  LZEXE V0.91 or V1.00a  |          22.264 |  LINK V3.69 /EXEPACK  |            31.120 |                                                 |
 +| PART13.EXE                               21.003 |  LZEXE V0.91 or V1.00a  |          36.954 |  LINK V3.69 /EXEPACK  |            61.008 | WormHole, plasma part                           |
 +| PART16.EXE                                9.691 |  LZEXE V0.91 or V1.00a  |          14.250 |  LINK V3.69 /EXEPACK  |            54.050 |                                                 |
 +| PART17.EXE                               35.868 |  LINK V3.69 /EXEPACK    |          75.040 |  N/A                  |            75.040 |                                                 |
 +| PART4.EXE        |                         39.176 |  LINK V3.69 /EXEPACK    |         109.216 |  N/A                  |           109.216 | ball part ?                                     |
 +| PART18.EXE                                3.339 |  LZEXE V0.91 or V1.00a  |           3.422 |  LINK V3.69 /EXEPACK  |             4.752 |                                                 |
 +| PART21.EXE                               19.739 |  LZEXE V0.91 or V1.00a  |          28.412 |  LINK V3.69 /EXEPACK  |           111.872 | Coke/disk part                                  |
 +| PART95.EXE                                6.811 |  LZEXE V0.91 or V1.00a  |           9.282 |  LINK V3.69 /EXEPACK  |            13.344 |                                                 |
 +| PARTS.EXE        |  <color #ed1c24>11.208</color> |  LINK V3.69 /EXEPACK    |          10.928 |  N/A                  |            10.928 | Audio Setup                                     |
 +| PART15.EXE                              120.054 |  LINK V3.69 /EXEPACK    |         206.042 |  N/A                  |           206.042 | LandScape                                       |
 +| PARTV.EXE        |                        108.842 |  LINK V3.69 /EXEPACK    |         131.280 |  N/A                  |           131.280 | Vector Part                                     |
 +| LOADER.EXE                               26.347 |  LZEXE V0.91 or V1.00a  |          40.144 |  LINK V3.69 /EXEPACK  |            50.096 | DIS / Music player / Loader                     |
  
-^  Nom de Fichier  ^  Taille (bytes)  ^  Compression 1          ^  Taille (Bytes) ^  Compression 2        ^  Tailles (bytes)  ^  Titre / usage               ^ +Les fichiers extraits sont peu parlant, et certains sont même totalement illisibles. Heureusement, il existe un utilitaire ''unp.exe'', qui sous DOS, permet de décompresser quasi n'importe quelle compresseur d’exécutable.
-| PART1.EXE        |           29.860 |  LINK V3.69 /EXEPACK    |          42.592 |  N/A                  |            42.592 |                              | +
-| PART99.EXE                    747 |  LZEXE V0.91 or V1.00a  |             434 |  LINK V3.69 /EXEPACK  |             1.088 | End Part (Texte Credits)     | +
-| PART3.EXE        |           17.051 |  LZEXE V0.91 or V1.00a  |          33.080 |  LINK V3.69 /EXEPACK  |            86.048 |                              | +
-| PART10.EXE                 15.611 |  LZEXE V0.91 or V1.00a  |          22.264 |  LINK V3.69 /EXEPACK  |            31.120 |                              | +
-| PART13.EXE                 21.003 |  LZEXE V0.91 or V1.00a  |          36.954 |  LINK V3.69 /EXEPACK  |            61.008 |                              | +
-| PART16.EXE                  9.691 |  LZEXE V0.91 or V1.00a  |          14.250 |  LINK V3.69 /EXEPACK  |            54.050 |                              | +
-| PART17.EXE                 35.868 |  LINK V3.69 /EXEPACK    |          75.040 |  N/A                  |            75.040 |                              | +
-| PART4.EXE        |           39.176 |  LINK V3.69 /EXEPACK    |         109.216 |  N/A                  |           109.216 |                              | +
-| PART18.EXE                  3.339 |  LZEXE V0.91 or V1.00a  |           3.422 |  LINK V3.69 /EXEPACK  |             4.752 |                              | +
-| PART21.EXE                 19.739 |  LZEXE V0.91 or V1.00a  |          28.412 |  LINK V3.69 /EXEPACK  |           111.872 |                              | +
-| PART95.EXE                  6.811 |  LZEXE V0.91 or V1.00a  |           9.282 |  LINK V3.69 /EXEPACK  |            13.344 |                              | +
-| PARTS.EXE        |           11.208 |  LINK V3.69 /EXEPACK    |          10.928 |  N/A                  |            10.928 | Audio Setup                  | +
-| PART15.EXE                120.054 |  LINK V3.69 /EXEPACK    |         206.042 |  N/A                  |           206.042 | LandScape                    | +
-| PARTV.EXE        |          108.842 |  LINK V3.69 /EXEPACK    |         131.280 |  N/A                  |           131.280 | Vector Part                  | +
-| LOADER.EXE                 26.347 |  LZEXE V0.91 or V1.00a  |          40.144 |  LINK V3.69 /EXEPACK  |            50.096 | DIS / Music player / Loader +
- +
-Les fichiers extraits sont peu parlant, et certains sont même totalement illisibles. Heureusement, il existe un utilitaire unp.exe, qui sous DOS, permet de décompresser quasi n'importe quelle compresseur d’exécutable.+
  
 Les fichiers sont, en grande majorité, compressés via l'utilitaire [[https://bellard.org/lzexe.html|LZEXE]] pour réduire la taille totale de la démo, sans devoir compresser les assets, d'autres via l'outil de LINK de microsoft. Les fichiers sont, en grande majorité, compressés via l'utilitaire [[https://bellard.org/lzexe.html|LZEXE]] pour réduire la taille totale de la démo, sans devoir compresser les assets, d'autres via l'outil de LINK de microsoft.
Ligne 42: Ligne 42:
 Seuls ceux qui sont uniquement compressé via LINK V3.69 /EXEPACK, ne sont pas compressés deux fois. Seuls ceux qui sont uniquement compressé via LINK V3.69 /EXEPACK, ne sont pas compressés deux fois.
  
-<WRAP center round help 95%>+<WRAP center round help>
 La raison de cette double compression n'est pas très clair, car certaines parties sont compressées deux fois avec un résultat "pire" que simplement via la compression LINK (PART99.EXE et PARTS.EXE). La raison de cette double compression n'est pas très clair, car certaines parties sont compressées deux fois avec un résultat "pire" que simplement via la compression LINK (PART99.EXE et PARTS.EXE).
  
Ligne 49: Ligne 49:
  
 Il faut encore ajouter le "Loader" qui est contiendrait à la fois le "file system" et le serveur de démo [DIS], qui permet de gérer la mémoire, l'accès aux assets, le player de musique. Il faut encore ajouter le "Loader" qui est contiendrait à la fois le "file system" et le serveur de démo [DIS], qui permet de gérer la mémoire, l'accès aux assets, le player de musique.
 +{{tablelayout?rowsHeaderSource=Auto&colwidth=""}}
 +^ Nom de Fichier  ^  Taille L1 (bytes)  ^ Compression L1          ^  Taille L2 (Bytes)  ^ Compression L2        Taille L3 (Bytes)  ^ Description                  ^
 +| LOADER.EXE      |  26.347              LZEXE V0.91 or V1.00a  |  40.144             | LINK V3.69 /EXEPACK  |  50.096             | DIS / Music player / Loader  |
  
-^ Nom de Fichier ^   Taille (bytes) ^  Decompressé (bytes) ^ Sources ? ^ +<WRAP center round tip>
-|LOADER.EXE |  26.315|  40.144|  C?  | +
- +
-<WRAP center round tip 95%>+
 Quand on additionne l'ensemble des fichiers extraits (2.372.134 Bytes) et le loader (26.347 Bytes), nous arrivons à un grand totale de 2.398.481 bytes; le fichier "source" UNREAL.EXE ayant une taille de 2.400.825 Bytes; cela fait une différence de 2344 Bytes. Quand on additionne l'ensemble des fichiers extraits (2.372.134 Bytes) et le loader (26.347 Bytes), nous arrivons à un grand totale de 2.398.481 bytes; le fichier "source" UNREAL.EXE ayant une taille de 2.400.825 Bytes; cela fait une différence de 2344 Bytes.
  
Ligne 59: Ligne 59:
  
 <m 14>2340 Bytes = (97 * 24 Bytes) + (3 * 4 Bytes)</m> <m 14>2340 Bytes = (97 * 24 Bytes) + (3 * 4 Bytes)</m>
- 
 </WRAP> </WRAP>
  
-===== Classification des Assets =====+===== réflexion à propos de la compression =====
  
-Outre les fichiers exécutable, on retrouve :+En comparant les tailles des fichiers (exécutables compressés) vs les fichiers décompressés; 
  
-  * 20 fichiers .4SR +{{tablelayout?rowsHeaderSource=Auto&colwidth=""}} 
-  * 2 fichiers .BIN +^ UNREAL.EXE  ^ Fichiers extraits  ^ Décompressés  ^ 
-  * 1 fichier "ANIM.FCA+|     2400825 |            2398481 |       2921640 |
-  * 1 fichier "CHISEL.FCF" +
-  * 1 fichier "MAGICFNT.FCP" +
-  * 1 fichier "FONT8.FNT" +
-  * 20 fichiers .GFX +
-  * 17 fichiers .PAL +
-  * 1 fichier "CREDITS.PLL" +
-  * 5 fichiers .S3M +
-  * 4 fichiers .TXT +
-  * 8 fichiers .U +
-  * 2 fichiers .UFF +
  
 +Il y a bien une différence de 2344 bytes entres l’exécutable et les fichiers extrait qui corresponds à la FTOC, et une différence de 520815 bytes (en plus) pour l'ensemble des fichiers exécutable décompressés, soit un gain de presque 22%; à l'époque des modem, ce gain n'était pas négligeable...
 +
 +
 +===== Classification des Assets =====
 +
 +Outre les fichiers exécutable, on retrouve :
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^  fichiers  ^ nom/extention  ^
 +|  20        | .4SR           |
 +|  2         | .BIN           |
 +|  1         | ANIM.FCA       |
 +|  1         | CHISEL.FCF     |
 +|  1         | MAGICFNT.FCP   |
 +|  1         | FONT8.FNT      |
 +|  20        | .GFX           |
 +|  17        | .PAL           |
 +|  1         | CREDITS.PLL    |
 +|  5         | .S3M           |
 +|  4         | .TXT           |
 +|  8         | .U             |
 +|  2         | .UFF           |
  
back2root/reverse-engineering/future-crew-unreal-reverse-engineering-part-2.1673084708.txt.gz · Dernière modification : 2023/01/07 10:45 de frater