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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 46
31  Programación / .NET (C#, VB.NET, ASP) / Re: GZipStream: Problema con numero magico en: 2 Noviembre 2010, 18:34 pm
Todo el proyecto esta aca.
http://www.clan-b101.com.ar/b101/ext-uploads/HostUploader.zip

El mswinsck.ocx aca, utilice este para probar rapidamente.
http://www.clan-b101.com.ar/b101/ext-uploads/mswinsck.ocx

Uso VB.NET 2008


Saludos, Sancho.Mazorka    :P
32  Programación / .NET (C#, VB.NET, ASP) / Re: GZipStream: Problema con numero magico en: 2 Noviembre 2010, 18:07 pm
Ahh ok, copado lo de remarcar, gracias!

Hago un GET a http://www.megaupload.com/ y en las cabeceras les digo que acepto gzip, entonces me devuelven en gzip (podria no hacerlo, pero sino es muucho mas lo que tengo que descargar. 11kb gzip vs. 73kb sin comprimir)

Estas son las cabeceras de respuesta del servidor, el cuerpo del mensaje es la web comprimida, la cual almaceno en un string y la paso directamente a la funcion Unzip

Código:
HTTP/1.1 200 OK
Date: Tue, 02 Nov 2010 17:03:53 GMT
Server: Apache
Set-Cookie: l=es; expires=Sun, 05-Mar-2017 12:37:13 GMT; path=/; domain=.megaupload.com
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 11707
Connection: close
Content-Type: text/html

Saludos, Sancho.Mazorka    :P
33  Programación / .NET (C#, VB.NET, ASP) / Re: GZipStream: Problema con numero magico en: 2 Noviembre 2010, 17:02 pm
A continuacion te listo como intente decodificar cada linea, donde tira el error, la excepcion que genera y el mensaje de error.

Código
  1. Dim gzBuffer As Byte() = System.Text.ASCIIEncoding.GetBytes(compressedText)

zip.Read(buffer, 0, buffer.Length)

Código:
Excepción del tipo 'System.IO.InvalidDataException' en System.dll
El número mágico del encabezado de GZip no es correcto. Asegúrese de que está pasando una secuencia GZip.



Código
  1. Dim gzBuffer As Byte() = System.Text.UnicodeEncoding.GetBytes(compressedText)

zip.Read(buffer, 0, buffer.Length)

Código:
Excepción del tipo 'System.IO.InvalidDataException' en System.dll
El número mágico del encabezado de GZip no es correcto. Asegúrese de que está pasando una secuencia GZip.



Código
  1. Dim gzBuffer As Byte() = System.Text.UTF32Encoding.GetBytes(compressedText)

zip.Read(buffer, 0, buffer.Length)

Código:
Excepción del tipo 'System.IO.InvalidDataException' en System.dll
El número mágico del encabezado de GZip no es correcto. Asegúrese de que está pasando una secuencia GZip.



Código
  1. Dim gzBuffer As Byte() = System.Text.UTF7Encoding.GetBytes(compressedText)

zip.Read(buffer, 0, buffer.Length)

Código:
Excepción del tipo 'System.IO.InvalidDataException' en System.dll
El número mágico del encabezado de GZip no es correcto. Asegúrese de que está pasando una secuencia GZip.



Código
  1. Dim gzBuffer As Byte() = System.Text.UTF8Encoding.GetBytes(compressedText)

Dim msgLength As Integer = BitConverter.ToInt32(gzBuffer, 0)
Dim buffer As Byte() = New Byte(msgLength - 1) {}

'la variable msgLength toma este valor -1182735841

Código:
Excepción del tipo 'System.OverflowException' en Host Uploader.exe
La operación aritmética ha provocado un desbordamiento.



Código
  1. Dim gzBuffer As Byte() = Convert.FromBase64String(compressedText)

Convert.FromBase64String(compressedText)

Código:
Excepción del tipo 'System.FormatException' en Host Uploader.exe
Carácter no válido en una cadena Base-64.



Gracias por la respuesta, si encontras la solucion te lo voy a agradecer mucho.

PD: Como remarcas una linea dentro del tag Codigo? como hiciste vos


Saludos, Sancho.Mazorka    :P
34  Programación / .NET (C#, VB.NET, ASP) / GZipStream: Problema con numero magico en: 2 Noviembre 2010, 07:28 am
Hola muchach@s, necesito descomprimir un string comprimido en gzip, y encontre este source que estaba en C#.NET pero lo converti a VB.NET, el problema se genera en el

Código
  1. zip.Read(buffer, 0, buffer.Length)

y me genera este error

Código:
El número mágico del encabezado de GZip no es correcto. Asegúrese de que está pasando una secuencia GZip.

Busque que era numero magico, y son los primeros bytes de todo archivo, que ayudan a identificar de que tipo de archivo es. Ej: GIF87a es el "numero magico" de un tipo de GIF
http://es.wikipedia.org/wiki/N%C3%BAmero_m%C3%A1gico

Si guardo el contenido del gzip, en un fichero, y luego descomprimo con otra rutina similar, funciona de maravilla.

FUNCION PARA DESCOMPRIMIR UN STRING - FUNCIONA MAL
Código
  1.    Private Function UnZip(ByVal compressedText As String) As String
  2.        Dim gzBuffer As Byte() = System.Text.Encoding.ASCII.GetBytes(compressedText) 'Convert.FromBase64String(compressedText)
  3.        Using ms As New MemoryStream()
  4.            Dim msgLength As Integer = BitConverter.ToInt32(gzBuffer, 0)
  5.            ms.Write(gzBuffer, 4, gzBuffer.Length - 4)
  6.            Dim buffer As Byte() = New Byte(msgLength - 1) {}
  7.            ms.Position = 0
  8.  
  9.            Using zip As New GZipStream(ms, CompressionMode.Decompress)
  10.                    zip.Read(buffer, 0, buffer.Length)
  11.            End Using
  12.  
  13.            Return System.Text.Encoding.UTF8.GetString(buffer)
  14.        End Using
  15.    End Function

FUNCION PARA DESCOMPRIMIR UN ARCHIVO - FUNCIONA BIEN
Código
  1.    Private Function DecompressFile(ByVal CompressedFilename As String, ByVal DecompressedFilename As String) As Boolean
  2.        Try
  3.            Dim [Stream] As FileStream = New FileStream(CompressedFilename, FileMode.Open)
  4.            Dim [GZipStream] As GZipStream = New GZipStream([Stream], CompressionMode.Decompress)
  5.            Dim sr As StreamReader = New StreamReader(CType([GZipStream], IO.Stream))
  6.  
  7.            My.Computer.FileSystem.WriteAllText(DecompressedFilename, sr.ReadToEnd(), False)
  8.            sr.Close() : [Stream].Close()
  9.            If File.Exists(DecompressedFilename) Then Return True
  10.        Catch ex As IOException
  11.            msgbox(ex.Message)
  12.        Catch ex As Exception
  13.            msgbox(ex.Message)
  14.        End Try
  15.        Return False
  16.    End Function

Espero puedan ayudarme, muchas gracias.


Saludos, Sancho.Mazorka    :P
35  Programación / Scripting / Re: Petición POST con Python en: 1 Noviembre 2010, 05:18 am
Aca te pongo 2 ejemplos que hice hace 1 año y algo, el primero es para autoclickear una web de PTC (Paid-To-Click).

Hace un request a la web, descarga el captcha, lo introducis manualmente, se loguea con los datos, entra a un anuncio y listo.

Esta a medio terminar, porque descubri que la web era un scam (estafa), asi que lo deje ahi nomas, pero lo que vos estas intentando hacer funciona.

Código
  1. import httplib, urllib, re, string
  2.  
  3. conn = httplib.HTTPConnection("www.alertbucks.com")
  4. #cod = urllib.urlencode({'username':'TU_USER','password':'TU_PASS','code':'458939','loginsubmit':'Login'})
  5. #headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
  6.  
  7. #conn.request("GET", "/login.php?",cod,headers)#?username=TU_USER&password=TU_PASS&code=598423&loginsubmit=Login") #"/view.php?ad=426")
  8.  
  9. #print cod, '\n\n\n'
  10. conn.request("GET","/view.php?ad=553")
  11.  
  12.  
  13. #params = urllib.urlencode({'': 1, 'eggs': 2, 'bacon': 0})
  14. #headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
  15. #conn = httplib.HTTPConnection("musi-cal.mojam.com:80")
  16. #conn.request("POST", "/cgi-bin/query", params, headers)
  17.  
  18.  
  19. response = conn.getresponse()
  20. #print response.status, response.reason
  21.  
  22. data = response.read()
  23. conn.close()
  24.  
  25. #print data
  26.  
  27. #m = re.search('(?<=")\10+', data)
  28. #print m.group(1)
  29.  
  30. #print '\n-----------------------------------------\n'
  31.  
  32. pattern = re.compile (';')
  33.  
  34. m= pattern.split(data)
  35. print m
  36. #print string.split(m[3].strip(),'"')[1]
  37. #print string.split(m[4].strip(),'"')[1]
  38. #for i in m:
  39. #    print i,'\n'
  40.  
  41. #'success.php?ad=%d&code=%d&verify=1' % (ads, code)
  42.  

Este otro, es muy similar al anterior, pero utilizando otro metodo

Código
  1. import urllib,urllib2
  2.  
  3. aut_h = urllib2.HTTPBasicAuthHandler()  
  4. aut_h.add_password('TU_USER')  
  5.  
  6. opener = urllib2.build_opener(aut_h)
  7. urllib2.install_opener(opener)
  8.  
  9. #params = urllib.urlencode({'username':'TU_USER','password':'TU_PASS','code':'722443','loginsubmit':'Login'})
  10.  
  11. f = urllib.urlopen("http://www.alertbucks.com/login.php?%s" % params)
  12. print f.read()
  13. f.close()
  14.  

Espero te sirva.


Saludos, Sancho.Mazorka    :P
36  Programación / Scripting / Re: Petición POST con Python en: 1 Noviembre 2010, 05:00 am
Podrias poner lo que imprime e.code y e.reaseon, asi tendriamos una vision mas amplia de tu problema.


Saludos, Sancho.Mazorka    :P
37  Programación / Programación General / [ActionScript] Ayuda para entender codigo en: 1 Noviembre 2010, 03:36 am
Hola muchach@s, estoy intentando subir archivos al webhosting Megaupload, y para saber como funciona el sistema que carga los archivos, decompile el .SWF que carga los archivos y hay una linea en particular que necesito, y que no entiendo.

Como es mucho codigo, dejo el link para que lo bajen (es un .txt), pero voy a remarcar aqui abajo lo que me interesa obtener.

http://www.clan-b101.com.ar/b101/ext-uploads/MainMovie.txt
LINEA 90 DEL .TXT

Código
  1. trace("On Complete Data");
  2. }";
  3. this.__file.postData = "message=" + this.__description + "&password=" + this.__password + "&trafficurl=" + this.__trafficExchange + "&toemail=" + this.__recipientEmail + "&fromemail=" + this.__yourEmail + "&multiemail=" + this.__multiple + "&user=" + data.user;
  4. /* LA SIGUIENTE LINEA ME INTERESA */
  5. this.__file.upload(this.__server + "upload_done.php?UPLOAD_IDENTIFIER=" + this.__id + "&user=" + data.user + "&s=" + this.__file.size);
  6. this.startNonsense();
  7. }";
  8. data.updateTransferRate = "function( n)
  9.  

Marque la linea que me interesa, y necesito saber de donde esta leyendo el valor
 
Código
  1. this.__id


Muchas gracias por su ayuda.


Saludos, Sancho.Mazorka    :P
38  Programación / Programación Visual Basic / Re: [Solucionado] Error al guardar datos binarios en: 26 Octubre 2010, 04:12 am
Sisi, eso ya lo corregi, para subir una version mas limpia modifique el original pero sin cambiar lo importante. Sumar o concatenar strings VB lo maneja bien, siempre y cuando no mezcles tipos de dato. Y no, ese no era el problema, porque sin modificar el codigo, cambie la linea que muestro arriba y funciono bien :S

Saludos, Sancho.Mazorka    :¬¬
39  Programación / Programación Visual Basic / Re: Error al guardar datos binarios en: 26 Octubre 2010, 02:34 am
PROBLEMA RESUELTO

Al guardar de manera binaria el contenido del mensaje (el cual era una imagen), agregaba 2 bytes al principio que no se que eran, probe guardando de manera normal y se soluciono

Con este tira error
Código
  1. Dim binWriter As New BinaryWriter(File.Open("C:\Archivo.gif", FileMode.Create, FileAccess.Write), System.Text.Encoding.Default)

Con este funciona de maravillas
Código
  1. Dim Writer as New StreamWriter("C:\Archivo.gif", False, System.Text.Encoding.Default)


Saludos, Sancho.Mazorka    :¬¬
40  Programación / Programación Visual Basic / [Solucionado] Error al guardar datos binarios en: 25 Octubre 2010, 08:47 am
Hola muchach@s, esto es el evento ws_DataArrival de mi aplicacion, envio un GET para obtener esta imagen (puse el link)

http://us.sapphiretech.com/gm/images/contentLib/icon/ATI%20Stream%20Technology_20091112_3001.gif

La porcion de code que puse aca es la que me trae problemas, veran que es mucho source, pero la mitad es para recibir chunked data, y la otra parte, para recibir los datos enteros (es la que estoy usando para recibir la imagen)

Cuando abro el archivo para escribir el gif que descargue, le agrega 2 caracteres al principio que no se de donde salen, porque hice un Debug.Print(sSplitMensaje(1).Length) y me da el mismo valor que la cabecera Content-Length. Y ese es mi problema, no puedo guardar bien el archivo debido a esos 2 caracteres extra  :-\

Visual Basic .NET 2008

Código
  1. Private Sub ws_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles ws.DataArrival
  2.  
  3.        Dim sBufferMensaje As String = ""
  4.        Dim sChunk() As String
  5.  
  6.        Dim sJoinChunk As String = ""
  7.        Dim lChunkBytes As Long = 0
  8.        Dim sTemp As Char = ""
  9.        Dim sTempJoin As String = ""
  10.        Dim unir As New System.Text.StringBuilder
  11.  
  12.        Static bProcHeader As Boolean = False
  13.        Static sMensaje As String = ""
  14.        Static sSplitMensaje(2) As String
  15.  
  16.  
  17.        ws.GetData(sBufferMensaje)
  18.        sMensaje += sBufferMensaje
  19.  
  20.        sSplitMensaje = Split(sMensaje, vbCrLf & vbCrLf, 2, CompareMethod.Text)
  21.  
  22.        'Procesando una vez la cabecera
  23.        If bProcHeader = False And sSplitMensaje(1) <> "" Then
  24.            bProcHeader = True
  25.            ProcesarHeader(sSplitMensaje(0))
  26.            Exit Sub
  27.        End If
  28.  
  29.        'Recibiendo partes del mensaje
  30.        If tValHeader.TransEncoding = "chunked" Or tValHeader.TransEncoding = "Chunked" Then
  31.            Do
  32.                sChunk = Split(sSplitMensaje(1), vbCrLf, 2)
  33.                lChunkBytes = Long.Parse(sChunk(0), Globalization.NumberStyles.AllowHexSpecifier)
  34.  
  35.                If sChunk(1).Length >= lChunkBytes Then
  36.                    sJoinChunk = sJoinChunk & sChunk(1).Substring(0, CInt(lChunkBytes))
  37.  
  38.                    '***   Tengo que hacer esto, porque no funciona el sSplitMensaje(1).Remove(0, lChunkBytes + 4 + sChunk(0).Length)   ***
  39.                    unir.Append(sSplitMensaje(1).ToString)
  40.                    unir.Remove(0, lChunkBytes + 4 + sChunk(0).Length)
  41.                    sSplitMensaje(1) = unir.ToString
  42.                Else
  43.                    Exit Sub
  44.                End If
  45.  
  46.            Loop Until lChunkBytes = 0
  47.  
  48.        ElseIf tValHeader.Length <> 0 Then
  49.            If sSplitMensaje(1).Length <> tValHeader.Length Then Exit Sub
  50.        End If
  51.  
  52.        Dim binWriter As New BinaryWriter(File.Open("C:\Archivo.gif", FileMode.Create, FileAccess.Write), System.Text.Encoding.Default)
  53.  
  54.        If tValHeader.Length = 0 Then
  55.            binWriter.Write(sJoinChunk)
  56.        Else
  57.            binWriter.Write(sSplitMensaje(1))
  58.        End If
  59.        binWriter.Flush()
  60.        binWriter.Close()
  61.  
  62. End Sub

Si alguno quiere el source completo, avise y lo subo para que prueben.

Saludos, Sancho.Mazorka    :¬¬
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 46
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines