Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Test de ReSource 6
(Article écrit par Kamel Biskri et extrait d'Amiga News - octobre 1994)
|
|
ReSource est un désassembleur. Un désassembleur est un logiciel permettant de traduire du code binaire en source assembleur.
Voici ReSource V6 en primeur pour les lecteurs d'Amiga News.
Trois, deux, un, partez !
Le paquet contient trois disquettes d'installation et une documentation anglaise.
Ce qui trouble, c'est la documentation, il s'agit de celle de ReSource 5.
En fait, c'est voulu car une aide en ligne de la dernière version est intégrée
dans le logiciel ainsi qu'un fichier relatant la différence entre les deux
produits plus les nouveautés.
L'installation est sans problèmes puisque nous avons affaire au logiciel Installer de Commodore.
Mais quelle configuration faut-il ? Cela va de l'A500 à l'A4000T, mais le système
2.04 est le minimum. Un disque dur est nécessaire et beaucoup de mémoire
si vous travaillez sur de gros programmes.
Comptez au moins six fois la taille de l'exécutable de mémoire à fournir (dont 4 alignés).
Qui plus est, un assembleur est nécessaire bien que ReSource soit capable de produire
un exécutable. Si vous êtes comme moi un nouvel utilisateur, je vous conseille de lire
la documentation et ensuite le fichier "Readme". La documentation vous explique tout ce
qu'il faut savoir pour tirer le meilleur parti du produit. On passe de l'installation
à l'utilisation via deux apprentissages (un simple et un plus complet), à des techniques
de désassemblage jusqu'aux sujets avancés.
Mais lors de l'utilisation, qu'en est-il réellement ?
Tout d'abord, vous pouvez désassembler la mémoire (en temps réel), les pistes disquettes
au format DOS (pour les non-DOS, utilisez un programme capable de les lire,
par exemple RawCopy, passez un pointeur sur le tampon mémoire du logiciel
et utilisez le désassemblage mémoire). On travaille aussi sur des fichiers binaires.
Cependant, l'intérêt majeur se trouve dans l'usage d'exécutables (sauf ceux avec
"hunk overlays").
La première chose à faire est de charger un programme. Il y a un premier travail qui
est fait : si la table des symboles est présente, elle sera gérée et votre travail
facilité. Ensuite, on utilise une nouvelle fonction de ReSource. L'utilisation de fichier
".RCL". Pour l'instant, il n'existe que celui pour l'Aztec (c'est regrettable quand
on voit l'efficacité de ce système) et qui plus est surtout le 3.6, mais il peut
quand même être utile pour d'autres compilateurs.
Une fois cela fait, repérez
l'utilisation d'un pointeur pour un registre d'adresse style "lea LbCxxxxxxxx.a4".
Après manipulation d'une autre commande. ReSource met des labels à la place de décalages.
Lancer la commande de désassemblage. A ce moment, il se crée des labels pour toutes
les références dans le code à des parties du programme, le code est séparé des données
via l'utilisation des informations contenues dans les segments plus d'autres algorithmes.
Après cette étape, on peut juger si l'on est satisfait et s'arrêter là.
Les capacités du logiciel ne s'arrêtent pas là, les vôtres peut-être car pour
continuer, il faut des connaissances en assembleur. C'est pourquoi j'estime
que ce produit est réservé à certains, bien qu'un débutant puisse de cette
manière apprendre davantage car la suite prend quelques allures didacticielles.
Admettons que vous vouliez continuer, ce qui reste à faire est corriger s'il y a lieu
les erreurs de formats (changer des données hexa en ASCII par exemple, etc.)
puis mettre au clair les appels au système. Car ReSource contient toutes les
informations du système 3.0 (qui peut le plus peut le moins, il contient aussi celles
du système 1.3). Si vous voyez dans le code "move.l 4,a6" puis un "jsr -$228(a6)",
vous savez que A6 contient ExecBase, vous pressez alors deux touches et vous aurez
"move.l ExecBase,a6" puis "jsr OpenLibrary(a6)". Une autre touche appuyée et on
vous montre que l'OpenLibrary prend dans D0 la version et dans A1 le nom de la
bibliothèque, etc. Ceci est fait facilement mais malheureusement, et c'est là que je
trouve que ReSource pourrait être amélioré, ce travail est long. Quand vous avez à
faire à de gros programmes, ça risque de prendre du temps sauf si c'est un fichier
compilé avec l'Aztec (ce sera plus rapide grâce au fichier ".RCL").
Pour vous faciliter ce pénible travail, vous avez des macros, mais elles sont trop
peu nombreuses (pratiquement seul Intuition est prévu), ceci est le second reproche.
Rien ne vous empêche de créer les vôtres mais c'est dommage.
Pour finir
Je dirai que cette version 6 a grandement été améliorée côté interface
graphique, avec l'ouverture simultanée de fenêtres permettant un travail plus
rapide.
Plein d'autres avancées ont été effectuées :
- Une aide en ligne pour toutes les fonctions contenues dans ReSource est accessible très
rapidement donc efficacement.
- La reconnaissance de tous les processeurs 680x0 ainsi que des coprocesseurs et autres MMU,
ce qui veut dire que l'on peut travailler sur tous les programmes Amiga.
- Le prise en compte du système 3.0.
- ReSource peut être ouvert dans un écran public, donc tous vos outils peuvent s'y greffer.
- La capacité de créer des symboles pour les bibliothèques non standard et on sait
que l'Amiga en est pourvu.
- Vous pouvez sauvegarder un programme et reprendre là où vous vous étiez arrêté.
- Inclut le source ASM pour Devpac, Macro68k, le mini assembleur qui vous permet
de modifier du code dans ReSource (sauf du code spécifique 68040).
Ce que je trouve à redire : le manque de macros, le manque de dynamisme des utilisateurs
qui pourraient s'allier et proposer leurs compétences, et peut-être leurs propres macros.
Pour répondre aux intéressés, les ".RCL" sont très bien, il en faudrait d'autres, en
fait surtout pour le SAS C qui est le plus répandu. Le manque de concurrence est
à regretter, cela apporterait sûrement de bonnes choses pour nous les utilisateurs.
Un dernier mot sur l'utilité d'un tel produit. Énumérons : traduction sans limite de
caractères, débogage, apprentissage (on apprend toujours avec plus fort que soit),
et utilité pour les curieux dont je fais partie.
Je tiens à remercier Roger Wharmby pour ses réponses et son efficacité, et aussi
parce qu'il connaît bien le produit qu'il distribue, ce n'est pas donné à tout le monde.
Nom : ReSource.
Éditeur : Helios Software.
Genre : désassembleur.
Date : 1994.
Configuration minimale : Amiga OCS, 68000, 2 Mo de mémoire, AmigaOS 2.04.
Licence : commercial.
Prix : 130 £.
|
Soutenez le travail de l'auteur
|
|
|