QUAL MELHOR OPCAO

 Tópico anterior Próximo tópico Novo tópico

QUAL MELHOR OPCAO

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#325730 - 19/10/2009 21:05:14

CARINHENA
SOROCABA
Cadast. em:Junho/2004


H algum tempo, migrei 99% de um software de gerenciamento, de VB6 para .Net, para []evoluir[].
Antes, quando o usurio baixava, preenchia um email e enviava pra mim.
Eu recebia, gerava uma chave e enviava pra ele, pelo email.

Isso em cada ms, ja que o software era mensal, no vendido.

S que agora, queria mudar isso.
Tava querendo ter um banco de dados Mysql, na qual o software conecta-se, via pelo serial + dados da maquina  liberasse o uso. Isso a cada 10 dias.

At ai, no vejo muito problema.

S que o problema que, infelizmente, sabemos que o vb .net (ou .net como um todo), tem um problema srio, que a de compilao, completa.
Isso quer dizer que a pessoa pode entender o cdigo como foi escrito e burlar essas brechas.

A minha dvida . Existe alguma forma de criar esse tipo de limitao que falei, que de alguma forma, o cara mal intencionado no consiga decompilar e ento me causar problemas?

To com essa dvida e gostaria de conversar com o pessoal daqui, pra saber se me do alguma luz.

Carinhena

A melhor forma de aprender e ensinando!


Resposta escolhida #325731 - 19/10/2009 21:38:15

JWCELYO
SAO PAULO
Cadast. em:Julho/2009


Ol CARINHENA Sim possvel na empresa onde trabalho actualmente s responsvel por implementar esses tipos de tecnologias em aplicativos desenvolvidos pela empresa onde trabalhao.

mas especificamente no seu caso  
pode de se usar dados j criptografados assim evitarias com que um possvel crack entendesses esses dados aps uma engenharia reversa

VAMOS AO EXEMPLO

so para lembra as conexo de SGDBS so criptografadas por padro onde mesmo com sniff no se  conseguiria  entende os tais dados como senha e login da base de dados do SGDB da conexo  no seu caso o MySQL.

outra dica que eu do seria bem interessante voc cria conte de login a base de dados do seu MYSQL com permisso apenas Select.

Mas de qualquer forma pode fica tranquilo que seu sistema no sera crackiado caso ele num tenha uma grande popularidade na internet










*/ LIFE RUNS ON CODE /*

#325732 - 19/10/2009 21:51:02

JWCELYO
SAO PAULO
Cadast. em:Julho/2009


AQUI EU DEIXO UMA CLASSE DE CRIPTOGRAFIAS PARA VOC UTILIZAR.

Public Class Criptografia
    Public Function Criptografia(ByVal StrDataIn As String, ByVal ED As Boolean) As String

        []>>> if nedd xor, use this code
        Dim XORCode As Integer
        XORCode = 165

        Dim IndR As Integer
        Dim IndC As Integer

        IndR = Val(3)
        IndC = Val(4)
        []>>> create the array
        Dim DataArray(IndR, IndC) As String
        Dim i, j As Integer
        Dim r, c As Integer
        Dim StrOut As String
        StrOut = [][]
        i = 1
        []>>> loop to total length
        While i <= StrDataIn.Length

            []>>> clear the array
            For r = 0 To IndR
                For c = 0 To IndC
                    DataArray(r, c) = Chr(1)
                Next
            Next

            []>>> check the loop last postion
            Dim LastPos As Integer
            If i + (IndR * IndC) - 1 <= StrDataIn.Length Then
                LastPos = i + (IndR * IndC) - 1
            Else
                LastPos = StrDataIn.Length
            End If

            []>>> store strdatain into array character by character
            []>>> initial the array indexer
            r = 0
            c = 0
            For j = i To LastPos

                []>>> check if need to XOR the character
                [] If ChkXOR.Checked = True Then
                Dim TempChar As String
                TempChar = Mid(StrDataIn, j, 1)
                DataArray(r, c) = Chr(Asc(TempChar) Xor XORCode)
                [] Else
                [] DataArray(r, c) = Mid(StrDataIn, j, 1)
                []  End If

                c = c + 1


                []>>> reset the array indexer
                If r > IndR - 1 Then
                    r = 0
                    c = 0
                End If
                If c > IndC - 1 Then
                    c = 0
                    r = r + 1
                End If
            Next

            []>>> add array value to string coulumn nad row wise
            If ED = True Then
                For c = 0 To IndC - 1
                    For r = 0 To IndR - 1
                        StrOut = StrOut & DataArray(r, c)
                    Next
                Next
            Else
                []>>> decrypt logics
                Dim StrTemp As String
                StrTemp = [][]
                Dim p, p1 As Integer
                p = 1
                p1 = 1
                For r = 0 To IndR - 1
                    For c = 0 To IndC - 1
                        StrTemp = StrTemp & DataArray(r, c)
                    Next
                Next

                While p <= StrTemp.Length
                    []>>> replace array filling character
                    []>>> check if it is xor
                    []  If ChkXOR.Checked = True Then
                    StrOut = StrOut & Replace(Mid(StrTemp, p1, 1), Chr(Asc(Chr(1)) Xor XORCode), [][])
                    [] Else
                    [] StrOut = StrOut & Replace(Mid(StrTemp, p1, 1), Chr(1), [][])
                    []  End If


                    p = p + 1

                    []>>> increment position by row
                    p1 = p1 + IndR
                    If p1 > StrTemp.Length Then
                        p1 = p1 - StrTemp.Length + 1
                    End If
                End While
            End If
            i = i + IndR * IndC
        End While

        Criptografia = StrOut


    End Function
End Class



*/ LIFE RUNS ON CODE /*

#325737 - 19/10/2009 23:00:05

CARINHENA
SOROCABA
Cadast. em:Junho/2004


Última edição em Editado em 19/10/2009 23:03:21 por CARINHENA por

Jucelio, tima classe!
Alis, essa classe quela polimrfica que criptografa e consegue identificar se a string esta criptografado e descriptografa?


Mas, ai entra a questo da decompilao.

Por mais que essa classe seja legal, imagine o individuo com o cdigo escrito na mo (por causa da decompilao)?

Ele consegue saber por exemplo, que pego o nmero de srie do HD e criptgrafo junto com a data de hoje, por exemplo.

No sei, se estou conseguindo explicar direito...

Carinhena

A melhor forma de aprender e ensinando!


#325738 - 19/10/2009 23:13:52

JWCELYO
SAO PAULO
Cadast. em:Julho/2009


isso mesmo CARINHENA ela false descriptografa true criptgrafa

mais pode fica tranquilo que ningum vai crackia seu sistema
mesmo que ele consigui realizar uma engenharia reversa no obter ar muito coisa legvel


*/ LIFE RUNS ON CODE /*

#325739 - 19/10/2009 23:17:11

CARINHENA
SOROCABA
Cadast. em:Junho/2004


Entendo.

A minha maior preocupao mesmo, a decompilao do cdigo (que dizem ser fcil no .net).
Se esse problema no for tanto, ento tranqilo.

Carinhena

A melhor forma de aprender e ensinando!


#325740 - 19/10/2009 23:31:03

JWCELYO
SAO PAULO
Cadast. em:Julho/2009


se voc tive mais alguma duvida pode pergunta viu CARINHENA.

*/ LIFE RUNS ON CODE /*

#325860 - 20/10/2009 19:24:57

CARINHENA
SOROCABA
Cadast. em:Junho/2004


Beleza.

Na verdade, tenho outra, mas, acho melhor criar outro tpico, pra no disvituar o atual. =)

Carinhena

A melhor forma de aprender e ensinando!


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por CARINHENA em 20/10/2009 19:25:09