Cet utilitaire sert à examiner la structure de TOUT fichier
exécutable ou librairie 16 ou 32 bits utilisables sous :
- Windows 3.1x
- Windows 95
- Windows 98
- Windows NT 3.5x
- Windows NT 4
- Windows 2000
On est (très) souvent confronté au problème de savoir quelles sont les librairies
dynamiques utilisées par un logiciel donné, essentiellement dans les cas suivants :
- déplacement vers un autre répertoire (ou disque)
- désinstallation
- dysfonctionnement
Par exemple, certaines applications peuvent ne pas fonctionner parce que la version
d'une librairie dont elles ont besoin est trop ancienne, ou ne contient pas les fonctions
nécessaires. Par ailleurs, il est souvent nécessaire aux développeurs d'applications de
connaître le nom de la librairie dans laquelle est localisée une fonction donnée
(problèmes rencontrés lors de l'édition de liens).
SCANBIN a pour but d'analyser la structure de TOUT fichier binaire
(exécutable et DLL) fonctionnant sous environnement Windows.
Cette analyse porte essentiellement sur :
- Les informations générales de version et de nom du fichier
- La liste des librairies dynamiques appelées
- La liste des fonctions importées
- La liste des fonctions exportées (cas des librairies)
- La liste des ressources
De plus, SCANBIN permet d'effectuer les opérations suivantes :
- exploration "inverse", c'est-à-dire rechercher toutes les applications
qui appellent une librairie donnée.
- analyse de tous les modules binaires actifs 16 et 32 bits (chargés en mémoire)
à un instant donné
- liste de toutes les DLL présentes dans un ou plusieurs répertoires d'un ou
plusieurs disques.
- liste de toutes les DLL en double (ou plus) dans un ou plusieurs répertoires
d'un ou plusieurs disques.
- liste de toutes les DLL (apparemment) inutilisées dans un ou plusieurs
répertoires d'un ou plusieurs disques.
SCANBIN est un logiciel doté de fonctionnalités particulières de haut niveau
qui lui permettent :
- d'analyser TOUS les fichiers binaires 16 bits ou 32 bits quel que soit
l'environnement (16 ou 32 bits)
- de gérer et afficher automatiquement les NOMS LONGS de fichiers (utilisés sous
Windows 95/98 et Windows NT) ALORS qu'il est un logiciel "16 bits" !
- de détecter la présence de l'API Win32S (avec analyse de la librairie système
spéciale W32SCOMB.DLL)
- de détecter la version "réelle" du système (sous Windows NT)
- d'être MULTILINGUE (français et - pour l'instant - anglais).L'affichage des
menus, messages, boites de dialogues, s'effectue automatiquement dans la langue
en cours sous Windows.
- de gérer automatiquement les ALIAS de librairies (kernel, network, mouse, ...)
SCANBIN peut traiter plusieurs modules binaires à la fois. (limitation
due uniquement à la mémoire globale disponible)
L'analyse d'un fichier peut être exécutée :
- soit en lançant SCANBIN.EXE, puis en ouvrant le fichier à l'aide de la commande menu
"Fichier/Ouvrir..."
- soit directement en lançant "SCANBIN.EXE <nom-du-fichier>"
- soit en lançant SCANBIN.EXE, puis, à partir d'un gestionnaire de fichiers, en
effectuant un "drag & drop" du(des) fichiers choisi(s) vers SCANBIN.EXE
(iconifiée ou non)
- soit (dans le cas de librairies DLL, DRV,...) en effectuant un double-click sur le
fichier dans le gestionnaire de fichiers ("winfile" ou "explorer")
après avoir associé les extensions "DLL", "DRV", "VBX",
... à SCANBIN.EXE
A l'aide d'une interface multifenetrée, il peut afficher, pour chaque module
:
- des informations générales sur le module binaire (taille, version, copyright,
version, description,..)
- la liste des DLL (librairies) appelées par appel direct (dans le module) ou par
appel indirect (dans les librairies)
- l'arborescence complète des DLL (avec localisation sur le disque)
- la liste des imports (fonctions API appelées) triée par nom ou par index
- la liste des exports (fonctions API internes, appelées par les autres
applications) triée par nom ou par index
- la liste des ressources (bitmaps, dialogues, icônes,...)
- la table des adresses des "headers" (MS-DOS et WINDOWS), des segments,
...
- le vidage hexadécimal du fichier
- la liste des utilisations du module dans le cas d'une librairie (liste des
exécutables ou librairies sur le disque utilisant cette librairie. Cette fonction est
très utile quand on veut copier une application et ne rien oublier)
Les informations sur les DLL sont stockées dans une base de données (fichier
"....\SCANBIN.LDB"), ouverte au début de chaque utilisation de SCANBIN,
et mise à jour lors de chaque analyse d'une nouvelle librairie.
Nouveautés par rapport à la V5
Interface
- Sous Windows 95/98/NT4, ajout d'une icône dans le "system
tray" (en bas à droite de l'écran), permettant l'accès rapide aux commandes
principales
- Nouvel aspect des boutons et barre d'outils
- Onglets dans les boites de dialogues
- Liste des API (imports ou exports) : accès direct à la rubrique
d'aide correspondante à l'aide d'un menu contextuel
- Liste des ressources : un menu contextuel permet la
capture et copie dans un fichier bmp des icônes
contenues dans le fichier analysé.
- Aide contextuelle améliorée (ajout de boutons permettant d'accéder
directement aux rubriques, dans le même ordre que le menu principal)
- Sous Windows 95/98/NT : nouvelles clefs dans la base de registres
:
- ajout d'un nouvel item "Analyse avec Scanbin" dans les menus
contextuels liés aux fichiers à extension .exe et .dll.
- Désinstallation prévue de Scanbin depuis le panneau de configuration
("Ajout/Suppression de programmes")
Fonctionnement
- Renommage de la librairie JCB.DLL en JCBTOOLS.DLL.
En effet des conflits sont apparus avec Microsoft Internet Explorer 4 (et Windows
98), qui a introduit une librairie 32 bits du même nom (gestion de la carte de crédit
"JCB")
- Listes d'extensions et de répertoires doublées et
indépendantes les unes des autres : pour les modules appelés (librairies) et pour les
modules appelants (exécutables et autres librairies)
- Dans le cas où une DLL appelée par le module en cours d'analyse n'a
pas pu être localisée, un dialogue permet de redéfinir
immédiatement les listes d'extensions et/ou répertoires, ou encore d'ignorer la
librairie ou toutes les librairies non résolues par la suite.
- Recherche d'API dans la base de données améliorée.
Une liste affiche TOUTES les librairies et fonctions répondant au critère de recherche,
avec lien automatique vers le fichier d'aide correspondant (s'il existe)
- Gestion totale des DLL dont le nom interne dépasse 8
caractères (l'aperçu rapide de Windows ne sait pas afficher le nom de ces
librairies dans les modules y faisant appel)
- Exécution contrôlée d'application : on peut désormais passer des
paramètres.
- Listes des modules actifs : l'analyse des processus voit ses
performances augmenter et est dotée à présent d'un système de références croisées :
- pour un module exécutable donné, on affiche la liste de toutes les DLL qu'il appelle
- pour une librairie donnée, on affiche la liste de tous les modules exécutables
l'appelant.
- De plus, sous Windows NT, affichage des numéros de processus (pID), identiques à ceux
du gestionnaire de tâches.
- il est possible de capturer dans un fichier texte l'ensemble des listes (exécutables et
DLL)
- Liste des DLL sur disque : on peut rechercher à présent l'ensemble
des DLL apparemment inutilisées (dont le nom n'apparait dans aucun des exécutables et/ou
DLL appelants). NB: cette liste n'est pas fiable à 100% (d'où le mot
"apparemment"), vu que certains modules peuvent appeler "à la
volée" des DLL (à l'aide de la fonction LoadLibrary).
- Inclusion dans l'autoextractible d'installation de Scanbin de la
librairie Microsoft CTL3DV2.DLL, parfois absente sur certains ordinateurs
(la copie, adaptée au système d'exploitation, est effectuée seulement si la DLL
n'existe pas)
- Protection du logiciel contre des modifications
"incontrôlées" : Scanbin pouvant être téléchargé depuis un grand
nombre de sites miroirs dont l'auteur n'a pas le contrôle, il pourrait faire
l'objet de modifications douteuses mettant en danger l'intégrité de l'ordinateur de
l'utilisateur (par exemple par introduction d'un "cheval de Troie" dans
l'autoextractible, activé au cours de la procédure d'installation). Un fichier de
contrôle (à ne pas supprimer) a donc été ajouté, ainsi qu'un mécanisme de
contrôle, à la fois dans la procédure d'installation et dans Scanbin lui-même.
Ce système
ne change en aucune façon le statut de SCANBIN, qui reste TOUJOURS un FREEWARE, librement
copiable et utilisable sans restriction de durée !
Cet utilitaire a été conçu et réalisé en "Borland Pascal Objet pour
WINDOWS" par JCB
Ce logiciel possède le statut de "freeware" (en français
"graticiel") ce qui se traduit par les clauses suivantes :
- Son usage est entièrement gratuit. Il est librement copiable, sous réserve que
tous les fichiers extraits de l'autoextractible soient
distribués ensemble (*.EXE, *.DLL, *.HLP, ...)
- Il est formellement interdit de modifier les clauses de Copyright.
- L'auteur n'est pas responsable de dommage (hautement improbable) qui pourrait être
causé par l'utilisation de ce programme.
- L'auteur n'est pas tenu à remédier aux déficiences éventuelles de ce programme. Il
se réserve toutefois la possibilité d'y apporter les améliorations
qu'il jugerait nécessaires.
- L'utilisation de ce logiciel est réservée à des fins personnelles, et en aucun cas
commerciales.
- L'utilisation de ce logiciel entraîne de fait l'acceptation des précédentes clauses.
Noms et marques de produits cités dans le présent document :
- "WINDOWS" est une marque déposée de MICROSOFT CORPORATION.
- "BORLAND PASCAL pour WINDOWS" est une marque déposée de BORLAND
INTERNATIONAL.
SCANBIN se présente sous la forme d'un unique module autoextractible SCANB6.EXE
qu'il suffit ensuite d'exécuter (sous WINDOWS) en suivant les instructions
affichées.
sur certains sites FTP
n'acceptant pas d'autoextractibles, le module s'appelle SCANBIN.ZIP (il
est composé alors de SCANB6.EXE et d'un fichier "readme").
Taille : 1 Mo / Date : février 1999
Pour obtenir ce module, il existe plusieurs possibilités (en fonction essentiellement de
l'encombrement du réseau) :
Protocole |
Sites |
Cliquez
ci-dessous |
HTTP |
|
|
HTTP |
|
|
HTTP |
|
|
FTP
serveurs
hébergeant
SCANBIN.ZIP |
|
|
Faites-moi part de vos :