Boa tarde
Navegando tentando entender e aprender a proteger de forma mais ampla possível um BD me deparei com as dicas do Avelino.
Proteção 100 % não há.
E ai descobri a tal tabela MsysObjetcs.
Leio para cá e pra lá.
E garimpei esse exemplo anexado.
E ai ficam mais dúvidas.
Funciona? Essa é a primeira e fundamental.
Abro e não acho as tabelas!
rs.
O autor no BE utilizou-se de uma técnica e ocultou as tabela de dados.
Se criarmos uma tabela qualquer essa fica visível.
O arquivo FE não está criptografado.
Possui 2 formulários e 1 relatório sem tabelas vinculadas.
Sendo que a fonte de registro para cada um dos 3 objetos de banco de dados foi definida automaticamente para a tabela BE quando o objeto é aberto.
Acredito que no evento Form Load.
Ele comenta que se comporta exatamente como qualquer banco de dados dividido, sem objetos vinculados e, portanto, nenhuma sequência de conexão visível em MSysObjects.
E quando o FE for convertido em um arquivo ACCDE, não será possível para os usuários finais deduzirem a senha do BE (sem alguma invasão séria!).
Minhas dúvidas e pedido de SOS aos experts.
Num form mais alongado a codificação como ficaria?
Achei muito simples, diria que pobre em termos de quantitativo de codificação.
Se houvessem consultas?
E como acho essas tabelas escondidas?
De modo que se funcionar possa realizar a engenharia reversa e deixar as minhas tabelas escondidas.
Agora ....
Funciona?
Obrigado.
Navegando tentando entender e aprender a proteger de forma mais ampla possível um BD me deparei com as dicas do Avelino.
Proteção 100 % não há.
E ai descobri a tal tabela MsysObjetcs.
Leio para cá e pra lá.
E garimpei esse exemplo anexado.
E ai ficam mais dúvidas.
Funciona? Essa é a primeira e fundamental.
Abro e não acho as tabelas!
rs.
O autor no BE utilizou-se de uma técnica e ocultou as tabela de dados.
Se criarmos uma tabela qualquer essa fica visível.
O arquivo FE não está criptografado.
Possui 2 formulários e 1 relatório sem tabelas vinculadas.
Sendo que a fonte de registro para cada um dos 3 objetos de banco de dados foi definida automaticamente para a tabela BE quando o objeto é aberto.
Acredito que no evento Form Load.
- Código:
Private Sub Form_Load()
Dim rst As DAO.Recordset
Me.RecordSource = "SELECT * FROM Table1 IN '' [MS Access;PWD=isladogs;DATABASE=" & CurrentProject.Path & "\BE.accdb];"
Set rst = CurrentDb.OpenRecordset(Me.RecordSource, dbOpenDynaset, dbSeeChanges)
With rst
.MoveLast
.MoveFirst
End With
'get record count
Me.txtTotal = Me.RecordsetClone.RecordCount
'combo row source
Me.cboLastName.RowSource = "SELECT DISTINCT Table1.LastName FROM Table1 IN '' [MS Access;PWD=isladogs;DATABASE=" & CurrentProject.Path & "\BE.accdb] ORDER BY Table1.LastName;"
Me.cmdPrint.SetFocus
End Sub
Ele comenta que se comporta exatamente como qualquer banco de dados dividido, sem objetos vinculados e, portanto, nenhuma sequência de conexão visível em MSysObjects.
E quando o FE for convertido em um arquivo ACCDE, não será possível para os usuários finais deduzirem a senha do BE (sem alguma invasão séria!).
Minhas dúvidas e pedido de SOS aos experts.
Num form mais alongado a codificação como ficaria?
Achei muito simples, diria que pobre em termos de quantitativo de codificação.
Se houvessem consultas?
E como acho essas tabelas escondidas?
De modo que se funcionar possa realizar a engenharia reversa e deixar as minhas tabelas escondidas.
Agora ....
Funciona?
Obrigado.
- Anexos
- LinkedNoTablesDEMO.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (464 Kb) Baixado 19 vez(es)