MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    problema com o código anti-pirataria

    avatar
    emacsabino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 29/08/2011

    problema com o código anti-pirataria Empty problema com o código anti-pirataria

    Mensagem  emacsabino 4/9/2012, 03:36

    Amigos do forum estou tentando implementar esse código abaixo para dá mais segurança ao aplicativo e fiz tudo corretamente como foi descrito, só que quando executo o banco que eu coloco a senha, aparece a mensagem "erro de conversão de dados"
    Muito simples este exemplo, para usar no seu aplicativo , copie o módulo BasNumSerie e a tabela Hd
    para seu banco de dados e no evento open do primeiro formulário aberto pelo seu banco de dados chame
    a função assim: Call leHD ("C:\").

    Criar tabela HD
    Campo "NumSerieHd" Indexado (Duplicação não autorizada)

    Ao Abrir
    Call leHD("C:\")

    ***********Módulo BasNumSerie*******************

    Option Compare Database
    Option Explicit

    Private Declare Function GetVolumeInformation Lib "kernel32" _
    Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
    ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
    lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
    lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
    ByVal nFileSystemNameSize As Long) As Long

    Public Function DriveSerialNumber(strDrive As String) As String
    'Para obter o numero de serie do HD
    'Na janela imediata digite: ?DriveSerialNumber("c")


    Dim x As Long, lngSerialNum As Long

    Dim strRoot As String
    strRoot = Left$(strDrive, 1) & ":\"

    x = GetVolumeInformation(strRoot, "", 255, lngSerialNum, 0, 0, "", 255)

    DriveSerialNumber = Hex$(lngSerialNum)

    End Function

    Public Function leHD(strHd As String)
    'Para proteger o sitema contra cópia
    'Carlos Moura

    Dim DB As Database, rst As Recordset, strSenha As String
    Dim intValor As Integer
    On Error GoTo Sai
    Set DB = CurrentDb

    Set rst = DB.OpenRecordset("HD")

    'se não há registro na tabela, adiciona
    If rst.EOF Then
    'Para adicionar o registro do HD solicita uma senha interna
    strSenha = InputBox("Entre com a senha!", "Liberando Sistema")
    'teste binário senha digitada e senha interna
    'troque a senha interna para uma mais segura

    intValor = InStr(1, strSenha, "cM123", 0)
    'senha confere, então libera
    If intValor = 1 Then
    rst.AddNew
    'encripta o número do hd antes de salvar na tabela
    rst!NumSerieHd = EncryptText(DriveSerialNumber(strHd))
    rst.Update
    Else
    MsgBox "Você não tem permissão para usar este programa"
    DoCmd.Quit
    End If
    ElseIf DecryptText(rst!NumSerieHd) <> DriveSerialNumber(strHd) Then
    MsgBox "Você não tem permissão para usar este programa"
    DoCmd.Quit
    End If

    rst.Close
    Set DB = Nothing
    Exit Function
    Sai:
    MsgBox Err.Description, vbCritical, "Fechando Programa"
    DoCmd.Quit
    End Function

    'Encripta a senha digitada
    Function EncryptText(ByVal Source As String) As String
    Dim Dest As String, i As Integer, L As Integer
    Dest = Source
    L = Len(Source) + 1
    For i = 1 To Len(Dest)
    Mid$(Dest, i, 1) = Chr$((270 + i - Asc(Mid$(Source, L - i, 1))) And 255)
    Next i
    EncryptText = Dest
    End Function
    'Decripta a senha para forma normal
    Function DecryptText(ByVal Source As String) As String
    Dim Dest As String, i As Integer, L As Integer
    Dest = Source
    L = Len(Source) + 1
    For i = 1 To Len(Dest)
    Mid$(Dest, L - i, 1) = Chr$((270 + i - Asc(Mid$(Source, i, 1))) And 255)
    Next i
    DecryptText = Dest
    End Function


    Gostaria de saber porque está ocorrendo isso
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2115
    Registrado : 13/04/2012

    problema com o código anti-pirataria Empty Re: problema com o código anti-pirataria

    Mensagem  Fernando Bueno 4/9/2012, 09:58

    emacsabino bom dia

    Veja este exemplo do João Paulo

    http://maximoaccess.forumeiros.com/t1097-passwords-senhas-em-txt-ou-dll


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    problema com o código anti-pirataria 16rzeq
    avatar
    emacsabino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 29/08/2011

    problema com o código anti-pirataria Empty Re: problema com o código anti-pirataria

    Mensagem  emacsabino 4/9/2012, 14:18

    Só que vou enviar o aplicativo por e-mail e a pessoa que vai usar pode não querer copiar o arquivo na pasta system32
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    problema com o código anti-pirataria Empty Re: problema com o código anti-pirataria

    Mensagem  Avelino Sampaio 5/9/2012, 08:08

    Como vc irá distribuir seu aplicativo, sugiro que aprenda algumas técnicas de defesa ultra importantes:

    http://www.usandoaccess.com.br/tutoriais/tuto51.asp?id=1#inicio

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.

    Conteúdo patrocinado


    problema com o código anti-pirataria Empty Re: problema com o código anti-pirataria

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 02:21