DLLs et String Table
DLLs et String Table
Existe t-il des commandes qui permettent de lire les string table contenus dans une DLL à partir du purebasic ?
-
- Messages : 293
- Inscription : sam. 24/janv./2004 12:00
- Localisation : Toulouse (31)
- Contact :
nativement non... on ne peut lire que les noms des fonctions et leur adresse
Débutant en programmation, notament en C++ ?
Vous souhaitez apprendre ?
Vous souhaitez apprendre ?
- Planet-DEV, le site (bientot)
- Le forum
-
- Messages : 293
- Inscription : sam. 24/janv./2004 12:00
- Localisation : Toulouse (31)
- Contact :
y'a pleins de DLL
attend je regarde avec mon DLLViewer
Voila dans la DLL DBProMatrixDebug.dll
y'a:
et toutes les fonctions se ressemblent
alors que si je teste ma DLL y'a juste le nom sans ? ni @
Esce une piste ?
attend je regarde avec mon DLLViewer
Voila dans la DLL DBProMatrixDebug.dll
y'a:
Code : Tout sélectionner
?PrepareTexture@@YAXHHHH@Z
alors que si je teste ma DLL y'a juste le nom sans ? ni @
Esce une piste ?
Débutant en programmation, notament en C++ ?
Vous souhaitez apprendre ?
Vous souhaitez apprendre ?
- Planet-DEV, le site (bientot)
- Le forum
c'est extrait du fichier score.dll , c'est ça que tu cherches à faire ?
133 ressources type "Table de chaines" (code=0006)
--------------------------------------------------------------
ID= 1 PRINT%R%?PrintR@@YAX_J@Z%Print Statements
ID= 2 PRINT%O%?PrintO@@YAXN@Z%Print Statements
ID= 5 PRINT%S%?PrintS@@YAXPAD@Z%Print Statements
ID= 6 PRINT%0%?Print0@@YAXXZ
ID= 7 PRINTC%R%?PrintCR@@YAX_J@Z%Print Statements
ID= 8 PRINTC%O%?PrintCO@@YAXN@Z%Print Statements
ID= 9 PRINTC%S%?PrintCS@@YAXPAD@Z%Print Statements
ID= 10 CLS%0%?Cls@@YAXXZ
Pour info !
de Sami :

de Sami :
Par exemple:
PRINT TEXT%S%?PrintText@@YAXPAD@Z%String
PRINT TEXT = Commande sous DB Pro
S = Passage d'une chaine de caractéres
?PrintText@@YAXPAD@Z = Nom de la fonction dans la DLL (Il faut donc rechercher PrintText nom de la fonction dans la DLL. Avec le bloc note, on doit trouver ceci ?PrintText@@YAXPAD@Z. Ce qui change pour chaque fonction pour DB Pro c'est YAXPAD@Z).
String = Commentaire sur le nom, le typage des variables à passer pour le debuggage lors de la compilation. En cas de probléme de compilation.
Le document sur la réalisation de TPC est trés compléte à ce sujet.
Toutefois attention au passage de String et de Float. Un peu plus difficile et les exemples ne sont pas parlant.
Les % marquent le passage entre les différents paramétres.

@ Comtois :
Oui c'est cela que je veux extraire des DLLs de DBPro :
Oui c'est cela que je veux extraire des DLLs de DBPro :
Si j'ai une commande en DBPro qui me permette de lire tout les textes des string table dans une donnée de type String . Je pourrais faire un Wrapper complet de commandes DBPro pour le purebasicPRINT%R%?PrintR@@YAX_J@Z%Print Statements

arrete moi si je me trompe !
mais un wrapper c'est lorsqu'un language ou prg utilise les fonction d'un autre language ou prg non ?
or en pure basic on peut appeler les fonctions de Darkbasic en utilisant la dll ou se trouve les commandes du Dark non ?
en quoi le fait que le dark puisse lire ou ne pas lire les strings tables
empeche le pure d'utiliser les fonctions Dark basic
puisqu'en plus on a la doc des fonctions du Dark, et de ses parametres !

mais un wrapper c'est lorsqu'un language ou prg utilise les fonction d'un autre language ou prg non ?
or en pure basic on peut appeler les fonctions de Darkbasic en utilisant la dll ou se trouve les commandes du Dark non ?
en quoi le fait que le dark puisse lire ou ne pas lire les strings tables
empeche le pure d'utiliser les fonctions Dark basic
puisqu'en plus on a la doc des fonctions du Dark, et de ses parametres !

depuis le temps que je donne cette adresse , je pensais que tu l'avais déjà dans tes favoris
http://www.bellamyjc.net/fr/scanbin.html
il te ressort toute la table , maintenant si tu veux le faire par toi même , il te sort aussi les adresses de la zone ressource , en étudiant un peu l'entête ça doit être possible de se bricoler un truc .

http://www.bellamyjc.net/fr/scanbin.html
il te ressort toute la table , maintenant si tu veux le faire par toi même , il te sort aussi les adresses de la zone ressource , en étudiant un peu l'entête ça doit être possible de se bricoler un truc .