Suporte ao desenvolvimento de jogos!


    [EO3.0]Cript EO3

    Compartilhe
    avatar
    Dooolly
    Moderador Global
    Moderador Global

    Medalhas :
    Mensagens : 1237
    Créditos : 147

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    [EO3.0]Cript EO3

    Mensagem por Dooolly em Qui Dez 08, 2016 1:07 am

    Cript EO3
    Proteger os arquivos ".png" do Eclipse Origins 3.0

    Introdução
    Estou criando este tópico no intuito de compartilhar um simples método que desenvolvi para proteger de pessoas infantis os arquivos de meu projeto, já tem muito tempo que havia desenvolvido esse método, quis compartilhar antes, mas não sabia uma forma de compartilhar e manter a segurança, então andei lendo sobre Bibliotecas(DLL), então decidi postar ele como uma DLL e um programa para converter os arquivos do seu projeto.

    E Como Funciona?
    É exatamente por isso que não posso compartilhar o código, o método é bem simples, na verdade é uma besteira, alguém com conhecimento em manipulação de arquivos quebraria fácil, então é melhor deixar em aberto. Quando alguém conseguir quebrar o mesmo, então eu irei desenvolver aprimorar, e realmente irei fazer uma criptografia decente, já fiz até vários exemplos, mas o computador que estou usando não ajuda muito, e não tenho paciência, mas assim que puder atualizo a DLL.

    BAIXAR ARQUIVOS
    Conversor PNG
    Library DLL

    Como Instalar?
    O Conversor não precisar ser instalado, apenas executado.

    A Dll,primeiramente salve ela na pasta de seu projeto ao lado do executável, então você irá no seu projeto que seja baseado em Eclipse Origins 3.0(Tem que ser 3.0 ou derivadas, não funcionará em outras) e irá referenciar essa biblioteca à seu projeto. Como?



    Irá aparecer esse janela:


    Clique em 'Browser' como está marcado na imagem, então selecione CriptEO3.dll
    Pronto, Agora precisamos fazer com que o eclipse use esse biblioteca.

    Primeiro vamos na class cGDIpImage
    Em seguida iremos procurar pela função:

    Código:
    Public Function LoadPicture_FileName(filename As String, TokenClass As cGDIpToken, Optional ClearAttributes As Boolean = True) As Boolean


    Iremos alterar completamente toda esse função por:

    Código:
    Public Function LoadPicture_FileName(filename As String, TokenClass As cGDIpToken, Optional ClearAttributes As Boolean = True) As Boolean

        ' Unicode compatible if the FileName passes contains unicode characters
        ' Routine simply opens the file, reads the data, and passes to the LoadPicture_Stream function
        If TokenClass Is Nothing Then Exit Function
        If TokenClass.Token = 0& Then Exit Function
        
        Dim Format() As String
        Format = Split(filename, ".")
        
        If Format(UBound(Format)) <> "png" Then
            Dim Cript As New CriptByte
            
            Call Cript.setPass(1982) ' Senha dos arquivos
            Call Cript.Start(filename)
            
            Select Case Cript.GetStatus
                Case StatusCript.STATUS_OK
                    LoadPicture_FileName = LoadPicture_Stream(Cript.GetFile, TokenClass, ClearAttributes)
                Case StatusCript.STATUS_NULL
                    DestroyGame
            End Select
        Else
            Const GENERIC_READ As Long = &H80000000
            Const OPEN_EXISTING = &H3
            Const FILE_SHARE_READ = &H1
            Const FILE_ATTRIBUTE_ARCHIVE As Long = &H20
            Const FILE_ATTRIBUTE_HIDDEN As Long = &H2
            Const FILE_ATTRIBUTE_READONLY As Long = &H1
            Const FILE_ATTRIBUTE_SYSTEM As Long = &H4
            Const FILE_ATTRIBUTE_NORMAL = &H80&
            Const INVALID_HANDLE_VALUE As Long = -1&
            
            Dim hImage As Long, IStream As IUnknown
            Dim flags As Long, hFile As Long, bData() As Byte
            
            On Error GoTo ExitRoutine
            flags = FILE_ATTRIBUTE_ARCHIVE Or FILE_ATTRIBUTE_HIDDEN Or FILE_ATTRIBUTE_NORMAL _
                    Or FILE_ATTRIBUTE_READONLY Or FILE_ATTRIBUTE_SYSTEM
            If IsWindowUnicode(GetDesktopWindow()) = 0& Then
                hFile = CreateFileA(filename, GENERIC_READ, FILE_SHARE_READ, ByVal 0&, OPEN_EXISTING, flags, 0&)
            Else
                hFile = CreateFileW(StrPtr(filename), GENERIC_READ, FILE_SHARE_READ, ByVal 0&, OPEN_EXISTING, flags, 0&)
            End If
            
            If Not (hFile = INVALID_HANDLE_VALUE Or hFile = 0&) Then
                flags = GetFileSize(hFile, 0&)
                ReDim bData(0 To flags - 1&)
                ReadFile hFile, bData(0), flags, flags, ByVal 0&
                CloseHandle hFile
                If flags > UBound(bData) Then LoadPicture_FileName = LoadPicture_Stream(bData(), TokenClass, ClearAttributes)
            End If
        End If
            
    ExitRoutine:
    End Function

    Vamos alterar a chave que ficará em seu cliente
    Procura por:

    Código:
    Call Cript.setPass(1982) ' Senha dos arquivos
    Onde tem "1982", troque para o novo valor, lembre-se, apenas NUMEROS.

    Pronto, agora é só você alterem a extensão que o eclipse ler pela que você quiser, ou pela extensão padrão do conversor(".fce - File Cript EO"). Como faço?
    Em modConstants, procura por:

    Código:
    Public Const GFX_EXT As String = ".png"


    Altera o ".png" para a que você quiser, Ex: ".fce".

    Recomendo que faça um backup de todas as imagens do seu projeto, depois de convertido não há como voltar. Agora é só converter todas as imagens "PNG" de seu projeto e compartilhar.
    avatar
    Valentine
    Administrador
    Administrador

    Medalhas :
    Mensagens : 4977
    Créditos : 1060

    Re: [EO3.0]Cript EO3

    Mensagem por Valentine em Qui Dez 08, 2016 7:25 am

    Dooolly I love you


    _________________
    avatar
    GallighanMaker
    Desenvolvedor
    Desenvolvedor

    Medalhas :
    Mensagens : 850
    Créditos : 83

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: [EO3.0]Cript EO3

    Mensagem por GallighanMaker em Qui Dez 08, 2016 7:59 am

    que massa dooolly, finalmente um crypt


    _________________
    @IndieDB @Steam Concept
    --
    avatar
    Dooolly
    Moderador Global
    Moderador Global

    Medalhas :
    Mensagens : 1237
    Créditos : 147

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: [EO3.0]Cript EO3

    Mensagem por Dooolly em Qui Dez 08, 2016 12:49 pm

    Val ❤

    Gallighan vlw, achei mesmo que estava faltando isso, e o forum tá morrendo, nenhuma outro lugar tem, se caso o EO ainda esteja muito usado, vai dá uma movimentada.

    @Topic. Se alguém puder testar o tutorial e dá um comente se funcionou bem, se teve algum problema, se acha que tá faltando algo. Não testei em outros computadores. Isso é importante para que eu possa manter atualizado.
    avatar
    Pablo Kawan
    Experiente
    Experiente

    Mensagens : 485
    Créditos : 158

    Re: [EO3.0]Cript EO3

    Mensagem por Pablo Kawan em Qui Jan 05, 2017 2:23 pm



    _________________
    Assinatura removida pela Staff
    ^ Tenho nova, surprise
    avatar
    Felipe
    Novato
    Novato

    Mensagens : 10
    Créditos : 0

    Re: [EO3.0]Cript EO3

    Mensagem por Felipe em Sex Abr 21, 2017 5:21 pm

    funciona na Eclipse Origins 2.0 ?


    _________________
    Facebook: Story of Eterium
    avatar
    Profane ~
    Administrador
    Administrador

    Mensagens : 728
    Créditos : 125

    Re: [EO3.0]Cript EO3

    Mensagem por Profane ~ em Sex Abr 21, 2017 9:00 pm

    Mr.Fenrir escreveu:funciona na Eclipse Origins 2.0 ?

    Olá Mr.Fenrir você foi visitado pela Fada Profane. 

    O tópico é bem antigo, e aqui não temos o costume de ser coveiros ou sacerdotes para reviver o que já foi a muito enterrado. 

    Respondendo a sua pergunta... Depende. A Eo 2.0 faz leitura de BMP, e não PNG, o conversor feito pelo Dooly faz conversão para Encrypt PNG, no caso a EO2.0 não faria a leitura.

    Porém, o esquema de encryptação pode ser repensando para transformar o BMP em Encrypt Bmp. Ele muda a função de leitura e converte o arquivo, para um .Data ou .Huehue, da forma a qual na leitura o modulo recebe e desencrypta.

    Sobre seu feito aqui, nosso aconselhado é que pegue o Link do Topico e vá a sessão de duvidas e faça um post <3 "ahh esse sistema aqui, tutorial e etc, funciona para a Eo 2.0? "

    Bjus de Luz Escura.


    _________________
    "If you don't belong here, just build a place where you do."
    avatar
    NighTxShadoW
    Ocasional
    Ocasional

    Mensagens : 222
    Créditos : 6

    Re: [EO3.0]Cript EO3

    Mensagem por NighTxShadoW em Sab Abr 22, 2017 8:27 am

    @Profane ~ escreveu:
    Mr.Fenrir escreveu:funciona na Eclipse Origins 2.0 ?

    Olá Mr.Fenrir você foi visitado pela Fada Profane. 

    O tópico é bem antigo, e aqui não temos o costume de ser coveiros ou sacerdotes para reviver o que já foi a muito enterrado. 

    Respondendo a sua pergunta... Depende. A Eo 2.0 faz leitura de BMP, e não PNG, o conversor feito pelo Dooly faz conversão para Encrypt PNG, no caso a EO2.0 não faria a leitura.

    Porém, o esquema de encryptação pode ser repensando para transformar o BMP em Encrypt Bmp. Ele muda a função de leitura e converte o arquivo, para um .Data ou .Huehue, da forma a qual na leitura o modulo recebe e desencrypta.

    Sobre seu feito aqui, nosso aconselhado é que pegue o Link do Topico e vá a sessão de duvidas e faça um post <3 "ahh esse sistema aqui, tutorial e etc, funciona para a Eo 2.0? "

    Bjus de Luz Escura.


    Essa foi boa ein Profane kkkkkkk


    _________________

    Conteúdo patrocinado

    Re: [EO3.0]Cript EO3

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Out 19, 2018 4:47 pm