ven. 27 janvier 2017, 06h37
eddymaue
atoutfox.public.association
Re: problèmes de décompilation
Clear
* liste des vcx
loActivePjx = _vfp.ActiveProject
Local li
li = 0
lnVcx = 0
Declare laVcxName( 1,2 )
With loActivePjx
For li = 1 To .Files.Count
If Justext( .Files(li).Name ) = "vcx"
lnVcx = lnVcx + 1
Declare laVcxName( lnVcx ,2 )
With .Files( li )
? .Name
* source
laVcxName( lnVcx ,1 ) = .Name
* nom du fichier
laVcxName( lnVcx ,2 ) = Juststem( .Name )
Endwith
Endif
Endfor
Endwith
? lnVcx
liVcx = 0
For liVcx = 1 To lnVcx
If Files( laVcxName( liVcx,1 ) )
Select 0
Use ( laVcxName( liVcx,1 ) )
lcNameVcx = laVcxName(liVcx,2)
scan for not empty(objCode)
* nom du fichier
lcName = lcNameVcx +"_"+ transform( liVcx )+ "_"+transform( recno()
) + ".fxp"
strtofile( objCode , lcName )
***** c'est ici que tu décompiles ****
* voir les parametres à passé
do dvfp.exe with lcName
***** fin de la décompilation
* récupere le code décompilé
store filetostr( forceext( lcName , "prg" ) ) to lcMethods
replace methods with lcMethods
* next method
Endscan
Endif
* next vcx
Endfor
eddymaue avait écrit le 2017-01-27 :
> allo Jean
> as tu téléchargé la derniere version... il y a une petite correction
> dernierement de la part de R. P.
> si tu as un projet non crypté ca ne devrait pas poser de probleme
> Pas contre j'ai déjà téléchargé un exécutable dont l'auteur avait effacé le
> code source dans les tables vcx... ce qui a priori ne cause pas de probleme
> tant que l'on ne recompile pas les classes
> pour regénérer les sources j'avais procédé comme suivant
> il faut transferrer le code objet dans un fichier texte en utilsant la
> fonction strtofile()... identifier le fichier avec l'extension fxp et
> mouliner le fichier avec le décompilateur de R.P.
> j'avais déjà fait tout le boulot mais j'ai perdu les sources ...
> voilà je suppose que l'auteur t'autorise à faire ça ;-)
> a+ eDDy
> Jean à Grenoble a couché sur son écran :
>> Bonjour à tous,
>> un foxeur belge voudrait modifier un écran d'une application dont il a tous
>> les sources .... sauf un : la librairie des classes (.vcx /.vct).
>> J'ai pensé utiliser le décompilateur de R. Plagnard. C'est ma première
>> utilisation de cet outil. 3 points :
>> j'ai une erreur à la décompilation : erreur 107 opérateur et opérandes
>> incompatibles ligne 212 in procedure write classe exception; je n'arrive
>> pas à trouver cette ligne ....
>> lorsque je décompile l'exe dans son répertoire, le décompilateur crée un
>> fichier .err dans lequel il liste les éléments qu'il n'a pas trouvés. Si je
>> copie l'exe dans le répertoire du décompilateur, je n'ai plus cette liste !
>> J'obtiens bien un code source mais je pense que suite à l'erreur il n'est
>> pas complet. Est-ce que le décompilateur va pouvoir me donner les méthodes
>> de chaque classe regroupées par classe ?
>> Bonne journée
>> Jean à Grenoble
--
a+ Eddy
Merci de partager avec moi votre immense savoir que je me ferai plaisir
d'absorber... il va de soi que je vais vous en laisser un peu
Politesse et savoir vivre oblige ;0)
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000018083