Autor
|
Tema: [VB6] Obtener paginas visitadas de Mozilla Firefox (Leído 5,357 veces)
|
illuminat3d
|
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 BlackZeroXImagen del ejemplo mio : Descargar codigo de SharkIY aqui os dejo el codigo en sucio de BlackZeroX : 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 (blackzerox2006@hotmail.com)------------------------º 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 deberia 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!
|
|
« Última modificación: 18 Agosto 2009, 20:25 pm por Sharki »
|
En línea
|
|
|
|
seba123neo
|
Hola, no hay ningun archivo con tal nombre en esa carpeta, por lo menos en la utlima versión de firefox...
saludos.
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Hola, no hay ningun archivo con tal nombre en esa carpeta, por lo menos en la utlima versión de firefox...
saludos.
"c:\sessionstore.txt" ? ... yo copie dicho archivo a C para ahorrarme el tecleo y demàs... esta es la ruta completa: de forma predeterminada esta en: (C:) X:\Documents and Settings\BlackZeroX\Datos de programa\Mozilla\Firefox\Profiles\fjlb5t1t.default\sessionstore.js ò (C:) X:\Documents and Settings\BlackZeroX\Datos de programa\Mozilla\Firefox\Profiles\fjlb5t1t.default\sessionstore.bak El codigo esta en sucio y fue solo una idea que le di a Sharki, se pueden crear una funcion para leer los siguientes punteros al byte X del archivo (Para no cargarlo TODO en memoria si es que llegase a pesar mas de 1 mega en casos extremos) y seguir cargando los demàs datos existentes (Este solo era un ejemplo)
|
|
« Última modificación: 19 Agosto 2009, 06:02 am por BlackZeroX »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
illuminat3d
|
Hola, no hay ningun archivo con tal nombre en esa carpeta, por lo menos en la utlima versión de firefox...
saludos.
Yo obtuve la carpeta de la siguiente forma, puedes verlo en mi codigo de fuente : Option Explicit Dim xCarpeta As String, i As Integer, Lista As String, txtBasura As String Dim Bin As String, Contenido() As String, File As String, dArchive As String, Delimiter As String Public Function Obtener_Carpeta() File = FreeFile If Dir$(Environ$("AppData") & "\Mozilla\Firefox\profiles.ini", vbArchive) <> "" Then Open Environ$("AppData") & "\Mozilla\Firefox\profiles.ini" For Binary As #File Bin = Space(LOF(File)) Get #File, , Bin Close #File Contenido() = Split(Bin, "Path=Profiles/") xCarpeta = Mid$(Contenido(1), 1, 16) frmMain.Label1.Caption = Environ$("AppData") & "\Mozilla\Firefox\Profiles\" & xCarpeta End If End Function Saludos! ;D
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Deberías de cambiar los delimitadores del split (tengo un code similar y en mi caso usaba otro ), ya que si buscas http: encontrás muchisimos, pero no todos son importantes, ya que muchas de las urls que aparecen en el sessionstore.js no son necesariamente las urls principales sino que son href, y quizás no se quiera estas. Así que se podría eliminar estas directamente, .. o bien dar la opción de mostrar todos los links, o solo los principales (sin href) Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Los routers guardan logs de paginas visitadas?
Hacking Wireless
|
igusi2008
|
3
|
25,205
|
4 Julio 2015, 17:16 pm
por dperezortiz
|
|
|
¿como saber que paginas estan siendo visitadas por una pc en una red local?
Redes
|
thedevilini
|
3
|
23,151
|
25 Noviembre 2011, 16:38 pm
por madpitbull_99
|
|
|
Administrador empresa sabe paginas web visitadas
Redes
|
serpet
|
6
|
7,320
|
12 Octubre 2013, 18:33 pm
por serpet
|
|
|
páginas visitadas trabajo
Redes
|
josuatree
|
2
|
2,997
|
7 Junio 2014, 23:14 pm
por josuatree
|
|
|
Optimiza la visualización de páginas web en Mozilla Firefox
Noticias
|
wolfbcn
|
0
|
1,180
|
12 Marzo 2017, 21:23 pm
por wolfbcn
|
|