Codigo sobre mi duda anterior (crear server desde exe)

Iniciado por fede_cp, 8 Julio 2009, 03:22 AM

0 Miembros y 2 Visitantes están viendo este tema.

fede_cp

Bueno gente , postee hace muy poco mi duda sobre como hacer para que de un exe poniendo los datos en variables se impriman en el otro codigo (server) osea un edit server como hizo cobain, pero como estoy empezando estoy con algunos problemas

se trata de un form con tres textbox un command para que el archivo pruebas.exe cambie sus valores a otro tres text.

y los mas cómica no es eso sino que cuando llegan los datos el primer text llega un extraño MZ  :o y los otros dos en blanco, la verdad ni idea.

buen aca el code del primer form:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
Open "C:\prueba.exe" For Binary As #1
Seek (1), LOF(1) + 1
Put #1, , a
Put #1, , b
Put #1, , c
Close #1
End Sub

Private Sub Form_Load()
Dim a As String * 25
Dim b As String * 25
Dim c As String * 25
a = Text1.Text
b = Text2.Text
c = Text3.Text
End Sub


muy simple jajaj

y ahora el prueba.exe

Código (vb) [Seleccionar]
Private Sub Form_Load()
Dim a As String * 25
Dim b As String * 25
Dim c As String * 25
Dim d As String * 25
Dim ap As String
Dim bp As String
Dim cp As String
Open "C:\prueba.exe" For Binary As #1
Get #1, , a
Get #1, , b
Get #1, , c
Seek (1), LOF(1) - 74
Close #1
ap = Trim(a)
bp = Trim(b)
cp = Trim(c)
Text1.Text = ap
Text2.Text = bp
Text3.Text = cp
End Sub


tengan en cuenta que para mi es esto nuevo, igualmente busque bastante, pero postee la duda antes y no se no contestaron mucho.

gracias (post 100 ;D)
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

el_c0c0

Cita de: fede_cp en  8 Julio 2009, 03:22 AM
... llega un extraño MZ  :o  ...

sabes que pasa, eso es la cabecera de los archivos ejecutables. si estas obteniendo eso es que estas leyendo la primera parte del archivo, y no la ultima.

proba con For Binary Access Read Write, asi funciona el LOF

saludos.
'-     coco
"Te voy a romper el orto"- Las hemorroides

fede_cp

No funciona con For Binary Access Read Write As, debe ser algo muy bobo seguro ejje

adios
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

seba123neo

Cita de: fede_cp en  8 Julio 2009, 04:03 AM
No funciona con For Binary Access Read Write As, debe ser algo muy bobo seguro ejje

adios

no va el Read es..

Código (vb) [Seleccionar]
Open App.Path & "\programatonto.exe" For Binary Access Write As #1

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

fede_cp

Bueno probe con For Binary Access Write As #1 en los dos forms despues probe en uno For Binary Access read As #1 y en el otro For Binary Access Write As #1 y despues probe en los dos For Binary Access read As #1

de la forma de los dos For Binary Access Write As #1 me dice permission dennied en la linea Get #1, , a

me esta dando dolor de cabeza y no me quiero imaginar poniendolo en el troyano :(

adios y gracias por la paciencia
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

el_c0c0

Cita de: fede_cp en  8 Julio 2009, 04:21 AM
Bueno probe con For Binary Access Write As #1 en los dos forms despues probe en uno For Binary Access read As #1 y en el otro For Binary Access Write As #1 y despues probe en los dos For Binary Access read As #1

de la forma de los dos For Binary Access Write As #1 me dice permission dennied en la linea Get #1, , a

me esta dando dolor de cabeza y no me quiero imaginar poniendolo en el troyano :(

adios y gracias por la paciencia

digo, a mi tambien me causo dolores de pinga esto.
podes usar la clase de cobein... o ver por lo menos como lee los datos. (usa una PropBag)

saludos
'-     coco
"Te voy a romper el orto"- Las hemorroides

BlackZeroX

#6
Código (vb) [Seleccionar]

Dim NFile As Integer, Datos As String

NFile = FreeFile

Open SrcFile For Binary As NFile
   Get NFile, LOF(NFile) - 100, Datos ' Notese que aca se cogen la X cantidad de Caracteres al final del archivo.
Close NFile

I = 1

a = Mid(Datos, I, I + 25): I = I + 25
b = Mid(Datos, I, I + 25): I = I + 25
c = Mid(Datos, I, I + 25): I = I + 25
d = Mid(Datos, I, I + 25): I = I + 25

MsgBox a
MsgBox b
MsgBox c
MsgBox d
The Dark Shadow is my passion.

fede_cp

blackzero, gracias por la ayuda pero los msgbox salen "en blanco", la verdad no se porque a mi no me funcionaaa, es mas segui un tutorial de por ahi al par de la letra :-[ ahora si 100 posts

adios y gracias
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

fede_cp

ayuda por favor, intente las cosas que postearon ym as y no funca nada  :-\


saludos
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

BlackZeroX

#9
Cita de: fede_cp en  9 Julio 2009, 02:56 AM
ayuda por favor, intente las cosas que postearon ym as y no funca nada  :-\


saludos

Perdona el codigo anterior no funciona almenos que la llenes con Espacion con Space()

Código (vb) [Seleccionar]


Option Explicit

Sub Main()
   Dim Archivo As String
   Archivo = App.Path & "\" & App.EXEName & ".exe"
   If MsgBox("Escribir=>(Si) / Leer=>(No)", vbApplicationModal + vbYesNo, "Selecciona la opción deseada") = vbYes Then
       If EscribirDatos(Archivo) Then MsgBox "Escrito en archivo con exito"
   Else
       MsgBox LeerConfig(Archivo)
   End If
End Sub

Function LeerConfig(Archivo As String) As String
   On Error GoTo e:
   Dim NFile As Integer
   Dim DatosServer As String
   Dim ByteI As Long
   
   NFile = FreeFile
   Open Archivo For Binary As NFile
       'Primero Leemos la longitud de los Datos de Configuración
       ByteI = Val(LOF(NFile)) - 4 'El numero 4 es segun se espesifique en Format, es decir la longitud del texto predeterminado en Format()
       DatosServer = Space(4) 'Hay que redimencionar la variable para obtener la longitud de configuración.¡!
       Get NFile, ByteI + 1, DatosServer
       ByteI = Val(LOF(NFile)) - 4 - Val(DatosServer)
       DatosServer = Space(Val(DatosServer)) ' Redimencionamos para obtener ahora el Rango deseado
       Get NFile, ByteI + 1, DatosServer 'Lo obtenemos
       LeerConfig = DatosServer
   Close NFile
   Exit Function
e:
   LeerConfig = "Error:" & Err.Description
   Err.Clear
End Function

Function EscribirDatos(Archivo As String) As Boolean
   On Error GoTo e:
   Dim Datas As String
   Dim NFile As Integer
   NFile = FreeFile
   Datas = InputBox("Datos Formato--->   IP:Puerto:TiempoReconección", "Configurador", "")
   Datas = Datas + Format(Len(Datas), "000#") ' Segun sea este formato abajo se sustituye el numero 4 por otro valor segun la longitud.
   Open Archivo For Binary As NFile
       Seek (NFile), LOF(NFile) + 1 'Escribirmos al final del archivo
       Put NFile, , Datas
   Close NFile
   EscribirDatos = True
   Exit Function
e:
   EscribirDatos = False
   Err.Clear
End Function

The Dark Shadow is my passion.