Bueno ayer comencé a buscar archivos de firefox y di con 'sessionstore.bak', entondes terminé el mini modulo pero le hacia falta una limpieza, como no sabia como hacer esa limpieza le pedí a BlackZeroX que me ayduase a mejorarlo, a contianuación dejo mi codigo de fuente original y luego el codigo mejorado por BlackZeroX

Imagen del ejemplo mio :

Imagen


Dejo mi codigo de fuente añadido al post, aqui os dejo el codigo en sucio de BlackZeroX :

Código: Seleccionar todo

    
Attribute VB_Name = "Module1"
Dim d()
Sub main()
    '---------------------------------------------------------------------------------------------------º
    'Trabajar con punteros al archivo -> Garantisa el devido uso de la memoria de la plicaciòn Actual!¡.º
    'Este es un Codigo Sucio creado por: BlackZeroX ([email protected])------------------------º

Dim ByteI() As Long, ByteF As Long, SData As String, Archivo As String, GetD As String
    
    Archivo = "c:\sessionstore.txt"
    If Dir(Archivo, vbArchive) = "" Then GoTo Fin:
    
    Open Archivo For Binary As 1
        d = Array(Chr(34) & "url" & Chr(34) & ":", _
                  Chr(34) & "title" & Chr(34) & ":", _
                  Chr(34) & "ID" & Chr(34) & ":")
        ReDim ByteI(UBound(d))
                
        GetD = Space(255)
        Get 1, , GetD
        If Len(GetD) = 0 Then GoTo Fin:
        '----------------------------------------------------------------
        'Esto se deveria convertir en funcion para poder cargar los demas
        '----------------------------------------------------------------
            For i = 0 To 2
                DoEvents
                ByteI(i) = InStr(GetD, d(i))
                If ByteI(i) = 0 Then Fin = True: GoTo Fin ' Termina Todo
            Next i
        '----------------------------------------------------------------
        'Fin de supuesta funcion
        '----------------------------------------------------------------
        
        'URL
        Seek 1, ByteI(0)
        ByteF = ByteI(1) - ByteI(0)
        SData = Space(ByteF)
        Get 1, , SData
        SData = Limpiar(SData)
        MsgBox SData
        
        'Title
        Seek 1, ByteI(1)
        ByteF = ByteI(2) - ByteI(1)
        SData = Space(ByteF)
        Get 1, , SData
        SData = Limpiar(SData)
        MsgBox SData
        'ID
        Seek 1, ByteI(2)
        ' aqui se deberia pasar la supuesta funciòn para delimitar el rango a cargar con el ByteI(0) SIGUIENTE
        ByteF = 6
        SData = Space(ByteF)
        Get 1, , SData
        SData = Limpiar(SData)
        MsgBox Val(SData)
Fin:
    Close 1
End Sub


Function Limpiar(StrData As String) As String
    StrData = Replace(StrData, ",", "")
    StrData = Replace(StrData, d(0), "")
    StrData = Replace(StrData, d(1), "")
    StrData = Replace(StrData, d(2), "")
    StrData = Replace(StrData, Chr(34), "")
    Limpiar = StrData
End Function
Saludos!
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Si no te importa le puedo hacer una modificación para que separe todos los datos.. ej

Pagina visitada - Titulo de la pagina - ID y esas cosas... Solo dimelo ;)
Imagen
skyweb07 escribió:Si no te importa le puedo hacer una modificación para que separe todos los datos.. ej

Pagina visitada - Titulo de la pagina - ID y esas cosas... Solo dimelo ;)
El codigo mio está liberado
Igualmente el de BlackZeroX lo hace, pero hazlo si quieres
ay.. me sacaste la idea xD hace poco tambn estaba pensando en lo mismo,para obtener el historial de firefox jeje muy bueno.. lo voy a mirar
Working in Kmaleon Rat - 50%
Responder

Volver a “Fuentes”