MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012 1 janv. 2010 à 01:20
Trouvé^^ :
<DllImport("kernel32.dll")> Public Function SetDllDirectory(ByVal pathName As String) As Boolean
End Function
comme ça t'as plus besoin de tous les dll ^^ t'as qu'à trouver firefox, et SetDllDirectory, les api seront appelé a distance :p
désolé pour tous ces commentaire^^ @+
MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012 1 janv. 2010 à 00:51
ah lala j'ai enfin trouvé la faille.
puisque tous les dll sont present dans le chemin d'installation de firefox, j'ai pensé a changé le CurrentDirectory just avant le decryptage :
Environment.CurrentDirectory = chemin_firefox
comme ça on n'as pas besoin d'une copie de tous les dll.
le truk c'est que l'ordi cherche les dll dans system32 avant CurrentDirectory, or que j'ai une autre dll (apparament differente) "sqlite3.dll" dans system32, or qu'il faut utilisé celle dans le dossier d'installation de firefox. j'ai juste supprimé la sqlite3.dll dans le system32 (temporerement).
voila, ça marche juste juste avec la binaire et l'sqlite wrapper ^^ c'est une idée pour que ce source soit plus legere^^ @+
MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012 31 déc. 2009 à 21:38
desolé veuillez ignorer mon dernier commentaire, j'ai pas remarqué que vous avez mis à jour votre source^^
à la lecture^^ chapeau et bonne année.
MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012 31 déc. 2009 à 21:26
oui on declare un object de type MozillaSDR
Dim Obj As New MozillaSDR(Chemin_Du_Profile,Master_Pass) 'MasterPass = ""
la fonction decrypt fonctionne si ma version de firefox est 2. si non cette fonction retourne toujours une chaine vide, soit avec la version 3, soit 3.5.
j'ai même fait un autre test, j'ai installé 2.0, enregistré un mot de passe. ça marche.
puis jl'ai mis jour (3.0), alors le profile contient tous les signons2.txt et signons3.txt
je teste de nouveau, la fonction retourne "" (chaine vide) pour tous les chaine decryptés, soit importé de signons2.txt soit du signons3.txt. la même chose pour 3.5, si ce n'est pas la version 2, les apis ne fonctionnent pas.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 31 déc. 2009 à 11:23
merci
Pour déchiffrer les user/passwords, regarde dans la classe MozillaSDR, il y a tout le code qui fait appel aux apis de Mozilla pour les signons.
ShareVB
MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012 30 déc. 2009 à 18:27
Bravo bon travail, chapeau ^^
je m'ennuit pas en lisant un source code commenté comme ça^^
en fait ils m'ont dit que depuis firefox 2 jusqu'a 3.5, que l'algoritme du cryptage n'a pas changé. alors j'ai fait une petite fonction qui permet de lire tous signons.txt, signons2.txt, signons3.txt et signons.sqlite (a l'aide d'un petit sqlite wrapper) de tout les profiles, et retourne une liste de type "FireLogins"
Structure FireLogins
Dim URL as string
Dim User as string
Dim Pass as String
Dim Profile as string
End Structure
voila... on a maintenant une liste des mot de passes enregistrés. il reste que decrypter user et pass par la class de decryption, en l'initialisant avec le chemain du profile.
bah... ça marche pas! snif :'( un peut d'aide?
smlaid
Messages postés1Date d'inscriptionlundi 10 décembre 2007StatutMembreDernière intervention 8 décembre 2009 8 déc. 2009 à 15:26
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 1 déc. 2009 à 20:58
Je viens d'ajouter la gestion de Firefox 3.0 et 3.5
ShareVB
ianis24
Messages postés87Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention13 janvier 2011 29 nov. 2009 à 16:34
Et bien non, je suis sous Mozilla Firefox 3.5.5 et il y a quelques gros changements.
Les Mots de Passe sont stoker dans "%APPDATA%\Mozilla\Firefox\Profiles\[Profilename]\signons.sqlite"
Ce qui signifie que la méthode de stockage est complètement différente.
Il faut maintenant, utiliser de nouvelles librairies et un tout nouveau code.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 29 nov. 2009 à 11:15
salut Ianis42,
A priori, pour Thunderbird version 2.0.0.23 (20090812) et Firefox 3.5.5, cela fonctionne toujours (sous Vista).
Sharevb
ianis24
Messages postés87Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention13 janvier 2011 24 nov. 2009 à 14:59
Bonjour, je compte savoir si tu compte remettre cette source a jour pour les dernieres versions de Firefox et de Thunderbird.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 9 mars 2008 à 12:51
salut,
(dsl pour la réponse tardive) exporter une classe .Net vers COM te permet d'utiliser la classe en VB6...pour cela, il faut :
-> cocher la case "Make COM Visible" dans les propriétés du projet .Net
-> compiler et regarder si le compilateur a produit une TLB avec la dll
-> sinon, utiliser tlbexp ou regasm sur la dll .Net pour produire la TLB
-> référencer la TLB dans ton projet VB6, ensuite tu peux l'utiliser comme tout autre objet COM
Si je trouve un peu de temps, je posterais un exemple
ShareVB
media6
Messages postés51Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention 7 juillet 2010 24 févr. 2008 à 21:01
Salut !
"wrapper ce code dans une DLL .net exposée à COM et de l'utilisée en VB6"
C'est à dire ? Je n'ai pas tout compris...
Ce code m'intéresse beaucoup mais je voudrais pouvoir l'utiliser en VB6.
Merci.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 22 déc. 2007 à 20:45
salut,
la solution la plus simple est de wrapper ce code dans une DLL .net exposée à COM et de l'utilisée en VB6...en effet, il y a plusieurs points relativement compliqué à mettre en oeuvre directement en VB6 : les apis et callback en CDECL...
ShareVB
ianis24
Messages postés87Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention13 janvier 2011 9 déc. 2007 à 14:24
Bonjour, je n'utilise plus le vb.net saurais tu faire un code semblable ou m'indiquer ou le trouver en vb6 ?
1 janv. 2010 à 01:20
<DllImport("kernel32.dll")> Public Function SetDllDirectory(ByVal pathName As String) As Boolean
End Function
comme ça t'as plus besoin de tous les dll ^^ t'as qu'à trouver firefox, et SetDllDirectory, les api seront appelé a distance :p
désolé pour tous ces commentaire^^ @+
1 janv. 2010 à 00:51
puisque tous les dll sont present dans le chemin d'installation de firefox, j'ai pensé a changé le CurrentDirectory just avant le decryptage :
Environment.CurrentDirectory = chemin_firefox
comme ça on n'as pas besoin d'une copie de tous les dll.
le truk c'est que l'ordi cherche les dll dans system32 avant CurrentDirectory, or que j'ai une autre dll (apparament differente) "sqlite3.dll" dans system32, or qu'il faut utilisé celle dans le dossier d'installation de firefox. j'ai juste supprimé la sqlite3.dll dans le system32 (temporerement).
voila, ça marche juste juste avec la binaire et l'sqlite wrapper ^^ c'est une idée pour que ce source soit plus legere^^ @+
31 déc. 2009 à 21:38
à la lecture^^ chapeau et bonne année.
31 déc. 2009 à 21:26
Dim Obj As New MozillaSDR(Chemin_Du_Profile,Master_Pass) 'MasterPass = ""
la fonction decrypt fonctionne si ma version de firefox est 2. si non cette fonction retourne toujours une chaine vide, soit avec la version 3, soit 3.5.
j'ai même fait un autre test, j'ai installé 2.0, enregistré un mot de passe. ça marche.
puis jl'ai mis jour (3.0), alors le profile contient tous les signons2.txt et signons3.txt
je teste de nouveau, la fonction retourne "" (chaine vide) pour tous les chaine decryptés, soit importé de signons2.txt soit du signons3.txt. la même chose pour 3.5, si ce n'est pas la version 2, les apis ne fonctionnent pas.
31 déc. 2009 à 11:23
Pour déchiffrer les user/passwords, regarde dans la classe MozillaSDR, il y a tout le code qui fait appel aux apis de Mozilla pour les signons.
ShareVB
30 déc. 2009 à 18:27
je m'ennuit pas en lisant un source code commenté comme ça^^
en fait ils m'ont dit que depuis firefox 2 jusqu'a 3.5, que l'algoritme du cryptage n'a pas changé. alors j'ai fait une petite fonction qui permet de lire tous signons.txt, signons2.txt, signons3.txt et signons.sqlite (a l'aide d'un petit sqlite wrapper) de tout les profiles, et retourne une liste de type "FireLogins"
Structure FireLogins
Dim URL as string
Dim User as string
Dim Pass as String
Dim Profile as string
End Structure
voila... on a maintenant une liste des mot de passes enregistrés. il reste que decrypter user et pass par la class de decryption, en l'initialisant avec le chemain du profile.
bah... ça marche pas! snif :'( un peut d'aide?
8 déc. 2009 à 15:26
http://www.vbfrance.com/codes/GESTION-MOTS-PASSE-INTERNET-EXPLORER-OUTLOOK-EXPRESS-MSN_33575.aspx
ca sera vraiment une tré bonne compilation
:)
2 déc. 2009 à 17:57
http://sourceforge.net/projects/sqlite-dotnet2/
A ne pas oublier pour la dernière version de Firefox.
1 déc. 2009 à 20:58
ShareVB
29 nov. 2009 à 16:34
Les Mots de Passe sont stoker dans "%APPDATA%\Mozilla\Firefox\Profiles\[Profilename]\signons.sqlite"
Ce qui signifie que la méthode de stockage est complètement différente.
Il faut maintenant, utiliser de nouvelles librairies et un tout nouveau code.
29 nov. 2009 à 11:15
A priori, pour Thunderbird version 2.0.0.23 (20090812) et Firefox 3.5.5, cela fonctionne toujours (sous Vista).
Sharevb
24 nov. 2009 à 14:59
9 mars 2008 à 12:51
(dsl pour la réponse tardive) exporter une classe .Net vers COM te permet d'utiliser la classe en VB6...pour cela, il faut :
-> cocher la case "Make COM Visible" dans les propriétés du projet .Net
-> compiler et regarder si le compilateur a produit une TLB avec la dll
-> sinon, utiliser tlbexp ou regasm sur la dll .Net pour produire la TLB
-> référencer la TLB dans ton projet VB6, ensuite tu peux l'utiliser comme tout autre objet COM
Si je trouve un peu de temps, je posterais un exemple
ShareVB
24 févr. 2008 à 21:01
"wrapper ce code dans une DLL .net exposée à COM et de l'utilisée en VB6"
C'est à dire ? Je n'ai pas tout compris...
Ce code m'intéresse beaucoup mais je voudrais pouvoir l'utiliser en VB6.
Merci.
22 déc. 2007 à 20:45
la solution la plus simple est de wrapper ce code dans une DLL .net exposée à COM et de l'utilisée en VB6...en effet, il y a plusieurs points relativement compliqué à mettre en oeuvre directement en VB6 : les apis et callback en CDECL...
ShareVB
9 déc. 2007 à 14:24
Merci, Ianis.