elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Problemas con WriteFile & ReadFile..
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Problemas con WriteFile & ReadFile..  (Leído 4,336 veces)
illuminat3d

Desconectado Desconectado

Mensajes: 231



Ver Perfil WWW
Problemas con WriteFile & ReadFile..
« en: 26 Marzo 2010, 22:32 pm »

Bueno me está pasando algo raro con estas dos API's.. el problema de WriteFile es que me escribe un archivo de 100MB cuando el contenido de la variable solo es de 8kb, y el problema de ReadFile es que no me mete los datos a la variable.

Os dejo el source :

API's :

Código
  1. Public Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As Any) As Long
  2. Public Declare Function ReadFile Lib "kernel32.dll" (ByVal hFile As Long, ByRef lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, ByRef lpNumberOfBytesRead As Long, ByRef lpOverlapped As Any) As Long


Código
  1. Public Function cFile(Path As String)
  2. xRes = LoadResData(101, "STUB")
  3. sRes = StrConv(xRes, vbUnicode)
  4.  
  5. frmMain.lPorcent.Caption = "20%"
  6.  
  7. hFile = CreateFile(Path, GENERIC_WRITE, FILE_SHARE_WRITE, 0, CREATE_ALWAYS, 0, 0)
  8. WriteFile hFile, sRes, Len(sRes), 0, 0
  9. CloseHandle hFile
  10.  
  11. frmMain.lPorcent.Caption = "30%"
  12.  
  13. hFile = CreateFile(frmMain.txtFile.Text, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0)
  14. sFile = GetFileSize(hFile, 0)
  15. ReadFile hFile, Buff, sFile, 0, 0
  16. CloseHandle hFile
  17.  
  18. frmMain.lPorcent.Caption = "40%"
  19.  
  20. Buff = RC4(Buff, frmMain.txtPass.Text) & frmMain.txtPass.Text
  21.  
  22. frmMain.lPorcent.Caption = "90%"
  23.  
  24. hRes = BeginUpdateResource(Path, vbTrue)
  25. UpdateResource hRes, "DATA", RT_RCDATA, 0, Buff, Len(Buff)
  26. EndUpdateResource hRes, vbFalse
  27.  
  28. frmMain.lPorcent.Caption = "100% - Encrypted!"
  29. End Function

Estoy haciendo un crypter en VB6/C y decidí hacerlo todo con API's.

Saludos! :huh:




« Última modificación: 26 Marzo 2010, 22:41 pm por shark0 » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Problemas con WriteFile & ReadFile..
« Respuesta #1 en: 26 Marzo 2010, 22:58 pm »


Te dejo esto: http://infrangelux.sytes.net/index.php?option=com_content&task=view&id=95&Itemid=90

Código
  1.  
  2. XWriteFileByte = WriteFile(hFile, vDataWrite(LBound(vDataWrite)), UBound(vDataWrite), vWriteBytes, ByVal 0&)
  3.  
  4.  

Donde:

hFile= handle Arhcivo abierto
vDataWrite(LBound(vDataWrite))=primer elemento del Vector
UBound(vDataWrite): elemento Maximo/ultimo del Vector
vWriteBytes= variable tipo long de salida; muestra los bytes escritos

Sangriento Infierno Luanar!¡.


En línea

The Dark Shadow is my passion.
illuminat3d

Desconectado Desconectado

Mensajes: 231



Ver Perfil WWW
Re: Problemas con WriteFile & ReadFile..
« Respuesta #2 en: 26 Marzo 2010, 23:02 pm »

Alguna solución a mis problemas?, no quiero reemplazar code.. quiero solucionarlo.
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Problemas con WriteFile & ReadFile..
« Respuesta #3 en: 26 Marzo 2010, 23:06 pm »

.
No es un reemplazo de codigo, solo te lo puse para que te guiaras ¬¬".

Solo es en lugar de pasarle el strconv()

Hacerle un:
Lbound(xres), Ubound(xres)
xres(Lbound(xres)), xres(Ubound(xres))
en lugar de
sRes, Len(sRes)

Teniendo mejor velocidad

P.D.: Es graciosa la forma de calcular el porcentaje.

Dulces Lunas!¡.
« Última modificación: 26 Marzo 2010, 23:10 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
illuminat3d

Desconectado Desconectado

Mensajes: 231



Ver Perfil WWW
Re: Problemas con WriteFile & ReadFile..
« Respuesta #4 en: 26 Marzo 2010, 23:11 pm »


no es un reemplazo de codigo.

solo es en lugar de pasarle el strconv()

hacerle un:
Lbound(xres), Ubound(xres)
en lugar de
sRes, Len(sRes)

teniendo mejor velocidad

P.D.: Es graciosa la forma de calcular el porcentaje.

Dulces Lunas!¡.


B0x tu y tus 'tikismikadas'  :laugh:
A que mola mi calculo de porcentaje  :xD

Bueno eso que me has dejado es para aumentar la velocidad tal.. pero para corregir los problemas que tengo con esas dos APIs? que es lo que me interesa realmente.

En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Problemas con WriteFile & ReadFile..
« Respuesta #5 en: 26 Marzo 2010, 23:17 pm »


Te dejo esto: http://infrangelux.sytes.net/index.php?option=com_content&task=view&id=95&Itemid=90

Código
  1.  
  2. XWriteFileByte = WriteFile(hFile, vDataWrite(LBound(vDataWrite)), UBound(vDataWrite), vWriteBytes, ByVal 0&)
  3.  
  4.  

Donde:

hFile= handle Arhcivo abierto
vDataWrite(LBound(vDataWrite))=primer elemento del Vector
UBound(vDataWrite): elemento Maximo/ultimo del Vector
vWriteBytes= variable tipo long de salida; muestra los bytes escritos

Sangriento Infierno Luanar!¡.

.
No es un reemplazo de codigo, solo te lo puse para que te guiaras ¬¬".

Solo es en lugar de pasarle el strconv()

Hacerle un:
Lbound(xres), Ubound(xres)
xres(Lbound(xres)), xres(Ubound(xres))
en lugar de
sRes, Len(sRes)

Teniendo mejor velocidad

P.D.: Es graciosa la forma de calcular el porcentaje.

Dulces Lunas!¡.


En Español:

Sustituye esto

Código
  1.  
  2. sRes = StrConv(xRes, vbUnicode)
  3. WriteFile hFile, sRes, Len(sRes), 0, 0
  4.  
  5.  

por esto:

Código
  1.  
  2. Dim xRes()      as byte
  3. xRes = LoadResData(101, "STUB")
  4. WriteFile hFile, xRes(lbound(xRes)), xsRes(ubound(xRes)), ByVal 0&, ByVal 0&
  5.  
  6.  

P.D.: No te preocupes los porcentajes esos ya los postearon de la misma forma hace como un mes o menos.

Godd Bye Charco que diga Shark0

Dulces Lunas!¡.
« Última modificación: 26 Marzo 2010, 23:19 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
illuminat3d

Desconectado Desconectado

Mensajes: 231



Ver Perfil WWW
Re: Problemas con WriteFile & ReadFile..
« Respuesta #6 en: 26 Marzo 2010, 23:27 pm »

Look :



Me crea un archivo de 0 bytes.. =/

Saludos! :huh:

En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Problemas con WriteFile & ReadFile..
« Respuesta #7 en: 26 Marzo 2010, 23:39 pm »


si intentas con CREATE_NEW o con OPEN_EXISTING, a mi esto si me va xP

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Problemas con WriteFile & ReadFile..
« Respuesta #8 en: 26 Marzo 2010, 23:42 pm »

se me olvido para verificar cuantos bytes se escribieron despues de xres(ubound(xres)) pon una variable tipo long y muestrala, el valor q resulte son los bytes escritos en el archivo creado.

en todo caso:

Código
  1. ' //  
  2. ' //   Trozo de codigo de: http://infrangelux.sytes.net/index.php?option=com_content&task=view&id=95&Itemid=90
  3. ' //  
  4.  
  5. Public Function XWriteFileByte(srtSource As String, vDataWrite() As Byte, Optional ByteIni As Long = 1, Optional RemplaceData As Boolean = False, Optional CreateFile As Boolean = True) As Long
  6. Dim hFile           As Long
  7. Dim LDataSize       As Long
  8. Dim vWriteBytes     As Long
  9. Dim FileSize        As Long
  10.  
  11.    If Not ((Not vDataWrite) = -1) Then
  12.        LDataSize = UBound(vDataWrite) - LBound(vDataWrite)
  13.        If LDataSize >= 0 And ByteIni > 0 Then
  14.            If CreateFile And (PathFileExistsA(srtSource) = False) Then
  15.                hFile = CreateFileA(srtSource, GENERIC_WRITE, FILE_SHARE_WRITE, ByVal 0&, CREATE_NEW, 0, 0)
  16.            ElseIf GetFileAttributesA(srtSource) And FILE_ATTRIBUTE_ARCHIVE And (RemplaceData Or ByteIni > 0) Then
  17.                hFile = CreateFileA(srtSource, GENERIC_WRITE, FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
  18.            Else
  19.                hFile = INVALID_HANDLE_VALUE
  20.            End If
  21.            If Not hFile = INVALID_HANDLE_VALUE Then
  22.            FileSize = GetFileSize(hFile, ByVal 0&)
  23.                If ByteIni >= FileSize Then
  24.                    ByteIni = FileSize + 1
  25.                End If
  26.                If ByteIni > 1 Then
  27.                    SetFilePointer hFile, ByteIni - 1, 0, FILE_BEGIN
  28.                End If
  29.                XWriteFileByte = WriteFile(hFile, vDataWrite(LBound(vDataWrite)), UBound(vDataWrite), vWriteBytes, ByVal 0&)
  30.                Call CloseHandle(hFile)
  31.            End If
  32.        End If
  33.    End If
  34. End Function
  35.  

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
illuminat3d

Desconectado Desconectado

Mensajes: 231



Ver Perfil WWW
Re: Problemas con WriteFile & ReadFile..
« Respuesta #9 en: 27 Marzo 2010, 00:00 am »

Me sigue sin funcionar B0X.. he probado con CREATE_NEW y tampoco funciona.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
no funciona ReadFile y overlapped
Programación C/C++
Belial & Grimoire 8 3,061 Último mensaje 6 Febrero 2014, 23:43 pm
por Belial & Grimoire
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines