Page 1 sur 1
DLLs et String Table
Publié : ven. 07/janv./2005 20:12
par freddix
Existe t-il des commandes qui permettent de lire les string table contenus dans une DLL à partir du purebasic ?
Publié : ven. 07/janv./2005 20:38
par Aranoth
nativement non... on ne peut lire que les noms des fonctions et leur adresse
Publié : sam. 08/janv./2005 1:37
par Backup
en regardant dans les dlls avec un editeur Hexa ont apercois les commandes
qui apparaissent (generalement vers la fin du fichier !! )
verifie pour voir !
et dit moi dans quel dll se trouve les commandes du dark ! ?
core.dll ?

Publié : sam. 08/janv./2005 12:35
par Aranoth
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 ?
Publié : sam. 08/janv./2005 12:59
par comtois
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
Publié : sam. 08/janv./2005 13:52
par Backup
Pour info !
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.

Publié : sam. 08/janv./2005 15:42
par freddix
@ Comtois :
Oui c'est cela que je veux extraire des DLLs de DBPro :
PRINT%R%?PrintR@@YAX_J@Z%Print Statements
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 purebasic

Publié : sam. 08/janv./2005 16:57
par Backup
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 !

Publié : sam. 08/janv./2005 18:14
par comtois
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 .