leer archivo BINARIO

Iniciado por WestOn, 28 Septiembre 2008, 04:27 AM

0 Miembros y 1 Visitante están viendo este tema.

WestOn

buenas se puede leer una dll y "pegar" el contenido en un text.text??

Este es el code q he hecho aora:
Option Explicit
Dim RUTA As String

Private Sub Command1_Click()
Dim Archivo As String
    Open RUTA For Binary As #201
Do
Input #201, Archivo
Loop Until EOF(201) = True
Close #201
        Text1.Text = Archivo
End Sub

Private Sub Form_Load()
RUTA = "ejemplo.DLL"
End Sub

Pero este code no sirve de nada...se pone a 100% la compu y parece q vaya a estallar ejeje..
si me dejan alguna sugerencia se lo agradecere ;)
un saludo
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

aaronduran2

#1
Utiliza simplemente esto:

Código (vb) [Seleccionar]
Dim s_ContenidoDLL As String

Open RUTA For Binary As #1
    s_ContenidoDLL = Space(LOF(1)
    Get #1, , s_ContenidoDLL
Close i_ArchivoLibre


EDITADO: perdona, me equivoqué al poner la variable en GET. Corrígelo.

Saludos.

WestOn

grax voy a probarlo y comento ;)
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

WestOn

El code funciona, porq se rellena el text, pero se rellena de espacios! no hay ni una sola letra, este es el code q puesto:
Option Explicit
Dim RUTA As String

Private Sub Command1_Click()
Dim Archivo As String
Open RUTA For Binary As #1
Archivo = Space(LOF(1))
Get #1, , RUTA
Close #1
        Text1.Text = Archivo
End Sub

Private Sub Form_Load()
RUTA = "ejemplo.DLL"
End Sub

un saludo
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

aaronduran2

Edité el post en el que puse el código. Me había equivocado de variable.

Código (vb) [Seleccionar]
Dim Archivo As String
Open RUTA For Binary As #1
Archivo = Space(LOF(1))
Get #1, , Archivo
Close #1


Perdón por la confusión.

Saludos.

WestOn

no pasa nada, mmm de todas formas al leerla me sale esto
Resultado:
MZ

Es lo mismo q me sale si lo leo con este otro code:
Open ruta For binary As #201
Do
Input #201, f
Loop Until EOF(201) = True
Close #201
Close
text1.text =f

Resultado:
MZ

Alguna idea? un saludo
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

aaronduran2

#6
Probé con esto pero tampoco me funciona.

Código (vb) [Seleccionar]
Dim Datos As String

Open "C:\Windows\System32\rundll32.exe" For Input As #1
    Do Until EOF(1)
        Line Input #1, Datos
    Loop
Close #1

Text1.Text = Datos


El código que había puesto antes lo utilizo para leer el contenido de un ejecutable en un crypter que estoy haciendo. Siempre funcionó, lo que no entiendo es por qué ahora no lo hace. Intentaré solucionarlo.

Saludos.

WestOn

ok si encuentro la forma la posteare un saludo y grax ;)
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

aaronduran2

Ya está solucionado. Lo que debes hacer es utilizar:

Código (vb) [Seleccionar]
Dim s_ArchivoOrigen As String

Open RUTA For Binary As #1
    s_ArchivoOrigen = Space(LOF(1))
    Get #1, , s_ArchivoOrigen
Close #1

Open "C:\DLL.txt" For Output As #1
    Print #1, s_ArchivoOrigen
Close #1


Lo que hay que hacer es guardar el contenido de s_ArchivoOrigen en un archivo. Luego puedes utilizar Line Input para cargarlo en un TextBox.

Saludos.

WestOn

#9
mmm cierto aora si lo lee, como si se abriera con el bloc, de todas formas el contenido no es leible..
Estracto de la dll leida:
"™6s"9s ˜6sTE8sK{9s£¼6sš{8sù9s*9su:sÞÃ7s½8sñf8s3 8s›'9s•:7sŒS8sª 9sª9s¾i8sui8sÞ 9sû8s¤5*sÌ£*söm:sk8s¸k:s09s¤i8s]"....

xD! ahi alguna forma de leer el contenido "bien" o solo se puede obtener esos caracteres?

un saludo y gracias
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.