1. Razdvoj bazu na:
•Front-end fajl
(moduli, makroi, forme, upiti i izveštaji)
•Data
(tabele)
2. Zaključaj Data passwordom
3. U Front-end fajlu linkovane tabele podesi da budu nevidljive (hidden)
4. U Front-end fajlu zaključaj VBA kod dugačkim passwordom (bar 13 znakova uz kombinaciju brojeva, veliki i malih slova, specijalnih k@®@kte®@...)
5. Konvertuj Front-end u
mde
6. Pre konverzije u mde i zaključavanja dodaj kod koji će se izvršavati pri učitavanju baze
Code:
Public Function ChangeProperty(strPropName As String, varPropType As Variant, _
varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Property not found.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Unknown error.
ChangeProperty = False
Resume Change_Bye
End If
End Function
============================
Function SetBypassProperty()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, False
Application.SetOption "Show Hidden Objects", False
Application.SetOption "Show System Objects", False
Application.SetOption "Default Database Directory", fCurrentDBDir
End Function
Gornji kod, kao i strong password na modulu, dodaj i u Data fajl... tu takođe dodaj i ovaj kod
Code:
Public Function Kraj()
MsgBox "Pokušavate da otvorite fajl koji koristi MOJA_APLIKACIJA " _
& (Chr(13)) & "Samostalna upotreba ovog fajla nije moguća! ", vbExclamation, "U P O Z O R E NJ E!!!"
DoCmd.Quit
End Function
Autoexec Macro prilikom svakog pokretanja fajla izvršava
RunCode=SetBypassProperty()
RunCode=Kraj()
Pazi da samoga sebe ne zaključaš!!! Napravi prvo backup kopiju otključanih fajlova!
Ovako zaštićeni fajlovi ne sprečavaju (ali otežavaju) importovanje
nekih objekata u novu bazu, ali
sprečavaju importovanje modula i VBA programskog koda.
Razni programi za skidanje šifri rade na nivou šifre za samu bazu, ali ne i za šifru na VBA modulu.
Besplatne verzije su ograničene na passworde od 4-5 karaktera, a za komplikovanije verzije im već treba komercijalna verzija koja nije baš jeftina... sve u svemu, otežaš im život do te mere da im se uloženi trud ne isplati za krajnji rezultat kome bi se eventualno mogli nadati...
PS
Potraži po forumu, postoji već tema o zaštiti Access aplikacije, pronaći ćeš par korisnih ideja tamo...
;)
"Take Five" is the famous jazz piece written by Paul Desmond and performed by The Dave Brubeck Quartet. It is famous for its distinctive saxophone line and use of the
unusual quintuple (5/4) time, from which its name is derived.
Take Five (1966)
Take Five by Al Jarreau 1976