18 décembre 2005

Extraire les fichiers d'un setup (How to extract setup files, MSI, EXE, CAB...)

Extraire les fichiers d'un setup semble être la croix et la banière. Pour y voir plus clair voici un résumé des différentes techniques utilisables pour les différents setup que l'on peut rencontrer.
Tous les commentaires sont évidemment les bienvenus afin de faire progresser notre connaissance sur le sujet.

Objectif:
L'objectif est d'extraire les fichiers contenus dans un setup (MSI, NSIS, InstallShield...) afin de faire une install manuelle.

Liste des setup connus
Inno Setup
MSI (Microsoft installer)
InstallShield
Wise Installation System
Nullsoft scriptable install system (NSIS)
Zero Install
QSetup
Ghost Installer
Installer VISE

Technique passe-partout:
Lancer le setup
Une fois les fichiers temporaires extraits, copier les dans un endroit sûr
Annuler l'installation.

Pour certains setup.exe, winrar suffit pour extraire leur contenu. Idem pour les fichiers CAB.

Identification du type de setup.
PEiD Permet d'identifier plus de 500 signatures.

Extracteur universel Open Source
Universal Extractor permet d'extraire les setup Wise, InstallShield, MSI, Innosetup.

Setup WISE
Wise Unpacker
E_Wise

Extacteur (Unpacker) pour InstallShield
Pour la version 7, IS7 : InstallShield Unpacker
Winpack 3.00 pour installshield 4, 5 et 6.

Extraire les fichiers d'un MSI
Microsoft Orca Pour visualiser et editer le contenu d'un MSI
Less MSIérables permet d'extraire les fichiers d'un MSI (pas de tous d'après mes essais).
Fearless MSI Unpacker
DARK (fait parti du projet Wix). voici une aide pour l'utiliser.
Pour les exe qui contiennent les MSI et CAB, voir la méthode. (
file.exe /t::\Folder /c)

Extraire les fichiers d'un 'Inno Setup'
Inno setup est un excellent outils pour créer des setup et gratuit qui plus est.
Innounp est utilitaire open source permettant d'extraire les exe inno setup. On peut l'utiliser soit en ligne de commande, soit via un plugin dans FAR ou Total Commander (TotalCMD) .
A noter: InstallExplorer est un plugin pour total commander qui prend en charge l'extraction plusieurs setup.

Autres Liens :

Divers Unpacker (russe)
Programming tools Unpackers
Unpacking GODS
AutoIt est un langage gratuit pour créer des script d'automatisation de windows. On peut aussi créer des exe entièrement autonomes.
IZARC est un extracteur multiformat, y compris pour les images CD.
VB Decompiler est un decompilateur pour Visual basic 6.
Tutoriels sur le désempaquettage d'armadillo.
Forum sur l'ingénierie inverse.
nLite est un outil pour faire du 'slipstreaming'. Le slipstreaming permet de créer une installation de windows personnalisée incluant les service pack et les patches.
Enregistrer les dll activex avec le clic droit.