Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RECUPERER LE MOT DE PASSE D'UNE DB ACCESS(POUR 97 ET 2000)


Information sur la source

Catégorie :Base de Donnees Classé sous : access, password, mot, passe Niveau : Initié Date de création : 07/03/2001 Date de mise à jour : 08/04/2003 13:34:31 Vu / téléchargé: 8 952 / 1 051

Note :
8,7 / 10 - par 10 personnes
8,70 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

revision du codes de Mr X
les parametres :
FileName : Le nom et l'emplacement de la base de donnée ("c:\trucmachin\hahapws.mdb")
intTable : la version de Access :
si Access 97 = 0
si Access 2000 = 1

il y a un problèmes sous Access 2000 il faut parfois reconstruire une table de decryption ??? Je n'ai hélas pas le temps de me pencher sur ce problèmes mais avec la nouvelle source il est possible de le reconstruire.
 

Source

  • Option Explicit
  • Function xGetAccessPwd(ByVal FileName As String, intTable As Integer) As String
  • Dim intFileID As Integer
  • Dim intLenPass As Integer
  • Dim strMyChar As String
  • Dim strTempPwd As String
  • Dim strTempPwdCrypt As String
  • Dim bytSecretPos As Byte
  • Dim bytNextChar As Byte
  • Dim alngSecret(40) As Long
  • Select Case intTable
  • Case 0 ' access 97
  • alngSecret(0) = (&H86)
  • alngSecret(1) = (&HFB)
  • alngSecret(2) = (&HEC)
  • alngSecret(3) = (&H37)
  • alngSecret(4) = (&H5D)
  • alngSecret(5) = (&H44)
  • alngSecret(6) = (&H9C)
  • alngSecret(7) = (&HFA)
  • alngSecret(8) = (&HC6)
  • alngSecret(9) = (&H5E)
  • alngSecret(10) = (&H28)
  • alngSecret(11) = (&HE6)
  • alngSecret(12) = (&H13)
  • intLenPass = 12
  • Case 1 ' access 2000
  • alngSecret(0) = &HF5
  • alngSecret(1) = &HA
  • alngSecret(2) = &HEC
  • alngSecret(3) = &H56
  • alngSecret(4) = &H2E
  • alngSecret(5) = &HB5
  • alngSecret(6) = &H9C
  • alngSecret(7) = &H9B
  • alngSecret(8) = &HB5
  • alngSecret(9) = &HAF
  • alngSecret(10) = &H28
  • alngSecret(11) = &H87
  • alngSecret(12) = &H60
  • alngSecret(13) = &H47
  • alngSecret(14) = &H8A
  • alngSecret(15) = &H1
  • alngSecret(16) = &H27
  • alngSecret(17) = &H65
  • alngSecret(18) = &H7B
  • alngSecret(19) = &H57
  • alngSecret(20) = &H86
  • alngSecret(21) = &H83
  • alngSecret(22) = &HDF
  • alngSecret(23) = &HD0
  • alngSecret(24) = &H4
  • alngSecret(25) = &H5
  • alngSecret(26) = &H13
  • alngSecret(27) = &H22
  • alngSecret(28) = &HBC
  • alngSecret(29) = &H5E
  • alngSecret(30) = &HB1
  • alngSecret(31) = &H52
  • alngSecret(32) = &H47
  • alngSecret(33) = &H90
  • alngSecret(34) = &H79
  • alngSecret(35) = &H3A
  • alngSecret(36) = &HE1
  • alngSecret(37) = &H44
  • alngSecret(38) = &H7C
  • alngSecret(39) = &H4B
  • alngSecret(40) = &HE6
  • intLenPass = 40
  • End Select
  • bytSecretPos = 0
  • intFileID = FreeFile
  • Open FileName For Binary Access Read As #intFileID ' Open file for input.
  • For bytNextChar = 67 To 67 + intLenPass Step 1 ' Read in Encrypted Password
  • Seek #intFileID, bytNextChar ' Set position.
  • If EOF(intFileID) Then Exit For
  • strMyChar = Input(1, #intFileID) ' Read character.
  • strTempPwdCrypt = strTempPwdCrypt & strMyChar
  • ' 1 caractère sur deux (seulement les Impaires)
  • If ((bytSecretPos And 1) Xor 1) Or IIf(intTable = 1, 0, 1) Then
  • strTempPwd = strTempPwd & Chr(Asc(strMyChar) Xor alngSecret(bytSecretPos)) 'Decrypt using Xor
  • End If
  • ' regenere une table de decryptages
  • Text2.Text = Text2.Text & "alngSecret(" & bytNextChar - 67 & ") = &H" & Hex(Asc(strMyChar) Xor Asc("a")) & vbCrLf
  • bytSecretPos = bytSecretPos + 1 ' Increment pointer
  • Next
  • Close #intFileID ' Close file.
  • xGetAccessPwd = "Crypted : '" & strTempPwdCrypt & "' Decrypted : '" & strTempPwd & "'"
  • End Function
  • Private Sub cmdFile_Click()
  • cdgOpen.FileName = Text1.Text
  • cdgOpen.ShowOpen
  • Text1.Text = cdgOpen.FileName
  • End Sub
  • Private Sub Command1_Click()
  • Text2.Text = ""
  • MsgBox xGetAccessPwd(Text1.Text, IIf(optAccess97, 0, 1))
  • End Sub
Option Explicit

Function xGetAccessPwd(ByVal FileName As String, intTable As Integer) As String
    Dim intFileID       As Integer
    Dim intLenPass      As Integer
    Dim strMyChar       As String
    Dim strTempPwd      As String
    Dim strTempPwdCrypt As String
    Dim bytSecretPos    As Byte
    Dim bytNextChar     As Byte
    Dim alngSecret(40)  As Long
    
    Select Case intTable
    Case 0 ' access 97
        alngSecret(0) = (&H86)
        alngSecret(1) = (&HFB)
        alngSecret(2) = (&HEC)
        alngSecret(3) = (&H37)
        alngSecret(4) = (&H5D)
        alngSecret(5) = (&H44)
        alngSecret(6) = (&H9C)
        alngSecret(7) = (&HFA)
        alngSecret(8) = (&HC6)
        alngSecret(9) = (&H5E)
        alngSecret(10) = (&H28)
        alngSecret(11) = (&HE6)
        alngSecret(12) = (&H13)
        intLenPass = 12
    Case 1 ' access 2000
alngSecret(0) = &HF5
alngSecret(1) = &HA
alngSecret(2) = &HEC
alngSecret(3) = &H56
alngSecret(4) = &H2E
alngSecret(5) = &HB5
alngSecret(6) = &H9C
alngSecret(7) = &H9B
alngSecret(8) = &HB5
alngSecret(9) = &HAF
alngSecret(10) = &H28
alngSecret(11) = &H87
alngSecret(12) = &H60
alngSecret(13) = &H47
alngSecret(14) = &H8A
alngSecret(15) = &H1
alngSecret(16) = &H27
alngSecret(17) = &H65
alngSecret(18) = &H7B
alngSecret(19) = &H57
alngSecret(20) = &H86
alngSecret(21) = &H83
alngSecret(22) = &HDF
alngSecret(23) = &HD0
alngSecret(24) = &H4
alngSecret(25) = &H5
alngSecret(26) = &H13
alngSecret(27) = &H22
alngSecret(28) = &HBC
alngSecret(29) = &H5E
alngSecret(30) = &HB1
alngSecret(31) = &H52
alngSecret(32) = &H47
alngSecret(33) = &H90
alngSecret(34) = &H79
alngSecret(35) = &H3A
alngSecret(36) = &HE1
alngSecret(37) = &H44
alngSecret(38) = &H7C
alngSecret(39) = &H4B
alngSecret(40) = &HE6

        intLenPass = 40
    End Select

    bytSecretPos = 0
    intFileID = FreeFile
    Open FileName For Binary Access Read As #intFileID   ' Open file for input.

    For bytNextChar = 67 To 67 + intLenPass Step 1    ' Read in Encrypted Password
        Seek #intFileID, bytNextChar                  ' Set position.
        If EOF(intFileID) Then Exit For
        strMyChar = Input(1, #intFileID)      ' Read character.
        strTempPwdCrypt = strTempPwdCrypt & strMyChar
        '  1 caractère sur deux (seulement les Impaires)
        If ((bytSecretPos And 1) Xor 1) Or IIf(intTable = 1, 0, 1) Then
            strTempPwd = strTempPwd & Chr(Asc(strMyChar) Xor alngSecret(bytSecretPos))  'Decrypt using Xor
        End If
        ' regenere une table de decryptages
        Text2.Text = Text2.Text & "alngSecret(" & bytNextChar - 67 & ") = &H" & Hex(Asc(strMyChar) Xor Asc("a")) & vbCrLf
        
        bytSecretPos = bytSecretPos + 1       ' Increment pointer
    Next
    Close #intFileID   ' Close file.

    xGetAccessPwd = "Crypted : '" & strTempPwdCrypt & "'    Decrypted : '" & strTempPwd & "'"
End Function

Private Sub cmdFile_Click()
    cdgOpen.FileName = Text1.Text
    cdgOpen.ShowOpen
    Text1.Text = cdgOpen.FileName
End Sub

Private Sub Command1_Click()
    Text2.Text = ""
    MsgBox xGetAccessPwd(Text1.Text, IIf(optAccess97, 0, 1))
End Sub
 

Conclusion

J'espère que se ne comporte plus de bug !!! :-)
en espèrent que M$ dans une prochaine version sécuriseras pour de vrais les base de données ....  

Trop de problème avec Access 2000 allez voir ;-) :
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4045&lngWId=1
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Math44 le 27/02/2002 19:42:23

Pour tous ceux (comme moi) qui perdent la mémoire, y-aurait'il pas la même chose pour retrouver les mots de passe de fichiers Excel ?

signaler à un administrateur
Commentaire de babez le 11/06/2003 09:26:01

Hum, encore un code qui n'arrive pas a décrypter ma BD :(((

signaler à un administrateur
Commentaire de sasvilis le 23/08/2003 20:35:32

Pour vous Bill gate n'as plus de secret. Cependant ton truc marche bien mais il y a un problem pour les 2000 . le decryptag des consomme pose un probleme. pour access 97 10/10

signaler à un administrateur
Commentaire de kiminox le 26/09/2003 16:12:57

Heu marche pas ton truc sous Access2000?

signaler à un administrateur
Commentaire de zeus198 le 20/12/2004 15:46:37

existe il une version qui pourrait me donner le mot de passe d'access XP

signaler à un administrateur
Commentaire de Icem@n le 05/01/2005 11:03:29

après des recherches Access 2000 fais un xor suivant la date .. le code étant un peu plus conséquent et quelqu'un d'autre l'ayant déjà fais je vous encourage à aller voir son code ici :

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4045&lngWId=1

BàV,
Icem@n

signaler à un administrateur
Commentaire de 14789632 le 10/07/2007 14:09:58

Bonjour, je suis tout jeune débutant dans les codes VBA et cela explique que je ne sache pas installer votre code ci-dessus. Pourrais-je avoir une explication sur cette installation ?
Merci par avance

signaler à un administrateur
Commentaire de Icem@n le 10/07/2007 14:29:10

14789632,

ce n'est pas du VBA mais du VB6 ... cela crée un vrai fichier exe et non un fichier doc, xls ou mdb .. ;)

BàT,
Icem@n

signaler à un administrateur
Commentaire de 14789632 le 10/07/2007 14:52:29

A l'execution de l'.exe du fichier zip , j'ai le message suivant "Le composant 'COMDLG32.OCX' ou une de ses dépendances n'est pas correctement enregistré un fichier est absent ou incorrect".
Pourriez-vous m'indiquer la méthode pour solutionner ce problème ?
Merci

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

VB.NET ACCESS et Password [ par gwiwi ] Bonjour,Je me connecte sur une base Access via oleDb et je souhaite ouvrir une base access avec un mot de passe. Cela fonctionne tres bien sans mot de conextion BDD access avec VB avec un mot de passe [ par PDT ] comment faut il faire pour connecter une base de données access avec un mot de passe à un projet VB6 sans avoir à saisir le mot de passe mais en le s Mot de passe d'Access [ par sebsky ] Salut à tous,J'ai un problème au boulotJe dois ouvrir un fichier ACCESS mais il y a un mot de passepour y acceder.Est-ce qu'il existerait un générateu lire un report d'access [ par Amaramax ] salut a tousje voudrais imprimer un report d'access sur une bdd protegee par un mot de passequelqu'un a-til la solution sans avoir cette fenetre d'inv Comment modifier via le code VB le mot de passe d'une BD Access [ par calvinG ] Bonjour à tous! Je fais un programme en VB et la base de données Access est protégé par un mot de passe. J'aimerais savoir s'il existe une façon de mo URGENT!! acces à une bdd ACCESS avec un mot de passe [ par toto1980 ] Urgent s'il vous plait...J'ai une bdd Access "config.mdb" protégée par le mot de passe "toto"Je veux l'ouvrir:dim db as databaseset db=opendatabase("c Prob avec mot de passe d'access à la connexion [ par freebond ] J'ai cree une liaison adodb vers ma base access (que j'ai bloque par un mot de passe), mais lorsque je me connecte à celle ci, j'ai un message d'erreu Prob de connexion à ma base access protégée par un mot de passe [ par freebond ] J'ai cree une liaison adodb vers ma base access (que j'ai bloque par un mot de passe), mais lorsque je me connecte à celle ci, j'ai un message d'erreu ouverture d'un état situer dans une base access protégée par un mot de passe avec vb6 [ par cartabou81 ] Bonjour,je voudrais ouvrir un état avec vb6. cet état existe dans une base de données access protégée par un mot de passe et chaque fois que je lance Problème de mot de passe sur une base access [ par Wallole ] J'ai une base Access protégé par un mot de passe, et je souhaite y accéder depuis mon programme VB. J'y arrive en renseignant le champ correspondant d


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.