CString m_strEdtFile; |
02 | CFileDialog dlgFile (TRUE, "*.mdb" , "*.mdb" ,OFN_HIDEREADONLY, "Access File (*.mdb)" , this ); |
03 | if (dlgFile.DoModal () == IDOK) |
04 | { |
05 | m_strEdtFile = dlgFile.GetPathName (); |
06 | |
07 | char cWord[13]; |
08 | CFile fp; |
09 | CFileException e; |
10 | CString m_strStaResult; |
11 | int nRC = fp.Open (m_strEdtFile,CFile::modeRead,&e); |
12 | if (nRC == 0) |
13 | { |
14 | AfxMessageBox ( "Can not open the file!" ); |
15 | } |
16 | else if (fp.GetLength () = 80) |
17 | { |
18 | AfxMessageBox ( "This is not Mdb file!" ); |
19 | } |
20 | else |
21 | { |
22 | fp.Seek (66,CFile::begin); |
23 | fp.Read (cWord,13); |
24 | |
25 | |
26 | if (( BYTE )(cWord[0] ^ 0x86) == 0) |
27 | m_strStaResult = "No Password" ; |
28 | else |
29 | { |
30 | cWord[0] ^= 0x86; |
31 | cWord[1] ^= 0xFB; |
32 | cWord[2] ^= 0xEC; |
33 | cWord[3] ^= 0x37; |
34 | cWord[4] ^= 0x5D; |
35 | cWord[5] ^= 0x44; |
36 | cWord[6] ^= 0x9C; |
37 | cWord[7] ^= 0xFA; |
38 | cWord[8] ^= 0xC6; |
39 | cWord[9] ^= 0x5E; |
40 | cWord[10] ^= 0x28; |
41 | cWord[11] ^= 0xE6; |
42 | cWord[12] ^= 0x13; |
43 | |
44 | m_strStaResult = cWord; |
45 | } |
46 | AfxMessageBox(m_strStaResult); |
47 | } |
48 | fp.Close (); |
49 | } |