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:
Iremos alterar completamente toda esse função por:
Vamos alterar a chave que ficará em seu cliente
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
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.