Click here to Skip to main content
Email Password   helpLost your password?

What is an Index.dat file?

Index.dat are files hidden on your computer that contain many of the Web sites that you have visited. Every URL and Web page is listed there. This script is for you, if internet privacy is an issue or you're just curious to see what surfing habits people have on your PC or Network. In WinXP, here's where you'll usually find them:

C:\Documents and Settings\<Username>\Local Settings\History\History.IE5\index.dat

How do these scripts work?

IE.vbs and IE_Network.vbs allow you to find, scan, view and erase all local/remote history index.dat files. Also, records precise URL visit time stamps. Scans are very fast and index.dat file parsing is done using 100% VBScript. Results are logged locally to C:\spy.htm or C:\Machine-MM-DD-YYYY.htm. For example:

It's free!

Yep, feel free to modify this script for whatever nefarious activities you like. It's amazing to see so many websites charging $24.95/$39.95 for bloated programs which basically function the same way as this script! If you like this script and it runs correctly, please feel free to email me. It'll give me a better idea on how it's functioning on your systems. Of course, any bugs can be tracked below in the message board section. Thanks!

Enjoy! (-_-)

You must Sign In to use this message board.
 
 
Per page   
 FirstPrevNext
GeneralIE Spy online in Real Time! [modified]
cyber_flash
6:23 20 Aug '09  
Hi,

Currently, this VBscript records your surfing habits into a file on your computer. But, seeing as I was bored this past weekend, I've created a website to track your surfing habits in REAL TIME and online!

Basically, it's a tiny IE Spy Keylogger (in assembly) to monitor surfing habits. If you're interested, please visit the site or suggest feedback.

http://www.KeyloggerOnline.com/index.php
Thanks!

modified on Saturday, January 9, 2010 9:11 AM

GeneralNew Download Url [modified]
cyber_flash
17:35 27 Apr '09  
Geocities is closing, so the latest scripts can be found here:

http://keyloggeronline.com/misc/temp/webviewer.zip
-OR-

http://rapidshare.com/files/226566388/webviewer.zip
Enjoy!

modified on Friday, February 5, 2010 8:03 AM

GeneralRe: New Download Url
Randy Price
8:22 19 Aug '09  
Great script. I have modified the MsgBox's to use vbYesNo (68), instead of vbOkCancel (65), in the Delete Index.dat files section.

Sometimes, I have the need to search for a specific URL string in the Index.dat files. I can create an InputBox to load the URL string into a variable, but where would I use this string to filter the data from the Index.dat files?

It looks like the Find Links in Index.dat file sub-routine is where you are extracting the URL's from the Index.dat file and writing them to the HTML file. Is this where I would want to filter the results that are written to the HTML file?
GeneralRe: New Download Url
cyber_flash
17:59 19 Aug '09  
Look at this line:

oTextStream.WriteLine "<tr><td nowrap><font color=green size=2>"&sArray(0)&"</font></td>"+"<td nowrap><font color=red size=2>  "&timeStamp&"</font></td>"&"<td nowrap><font size=2>  <a href="&url&">"&url&"</a></font></td></tr>"

You could add a check before printing the url to see if it contains
your search string:

If InStr(url,"yoursearchstring")=0 Then
"print url"
End If
GeneralGood script but a problem...
andrea777
22:24 14 Apr '09  
I've launched the script locally, it lists 13 users and some history...but not the history of my account (which is "tecn")
The spy.htm file is created at 09:03 but the at 09:15 it is still running with the progress bar saying: "Scanning tecn history files: 2"
I hitted Cancel but the windows is still running... then i terminated it?

Any hint of what is going on?

PS: the spy.htm reports the links for the other users but for my user there is only a very small
list (while it should be huge) and the link column is empty.
GeneralRe: Good script but a problem...
kwood3
7:51 26 Aug '09  
I just ran it today and had the same issue. User identified but the date and URL columns are blank.

WINXP with IE7
GeneralDownload FireFox/IE scripts for Windows XP/VISTA!
cyber_flash
18:59 12 Oct '07  
Hi,

Here's an enhanced script version for FireFox and IE7 under winXP/Vista:

webviewer.zip
A user suggested this important VISTA note:

Thanks! I've tested it out on Vista Ultimate and it seems to work well, however it does not work if Vista's UAC security feature is enabled (unless you run it from an elevated command prompt)
M$ suggests you run the following to elevate the script:

elevate wscript “C:\windows\system32\IE_FireFox.vbs” –dli
Source: http://www.microsoft.com/technet/technetmag/issues/2007/06/UtilitySpotlight/default.aspx[
(-_-)
GeneralPermission denied errors
Eggibba
11:39 6 Sep '07  
I get permission denied errors at line 234 of IE.vbs, and line 260 of IE_Network.vbs.   It comes up on the 4th user the first time it is run, and on the first user after that.  

I am running it as the domain administrator in all cases.

User list looks like:
<valid user1>
Administrator
Administrator.<DomainName>
<valid user2>
<valid user3>
...

Any ideas?


-- Eric
GeneralRe: Permission denied errors
cyber_flash
19:07 12 Oct '07  
Thanks for the suggested code.
I've included your changes into this thread:

http://www.codeproject.com/vbscript/Internet_Explorer_Spy.asp?df=100&forumid=25033&exp=0&select=2269816#xx2269816xx

and bundled it into a zip file for testing purposes. (see winXP.vbs)
I'll add them to the codeproject once it's working as designed.

Thanks again! Smile
Generalprinting pages count
ThangaDharma
8:25 6 Oct '05  
How to count the printer printing pages

Generalsmall problem
Tibor Blazko
0:47 26 Jul '05  
is get to someone's directory
but when he/she/it is using ie than should be small
Generalnonavhistory
sal21
23:59 25 Jul '05  
hi all, i have this macro and 9118 record into sheet ABICAB. I have seen in my History link (Cronology of IE) the macro make for each record scanned a new ink!!!!!!!!!!! after onlly 6 minutes of macro run, i have 156 new link into history list acccccc..........Frown

Is possible to not store into history link all page visited with the macro?

Sub RICERCA_ABI_CAB()

Dim ie As Object
Dim lngRow As Long
Dim lngMaxRow As Long
Dim wksList As Worksheet

Set wksList = ActiveWorkbook.Worksheets("ABICAB")
Set ie = CreateObject("InternetExplorer.Application")

On Error GoTo errHandler
lngMaxRow = Range("A65536").End(xlUp).Row
With ie
.Visible = True
For lngRow = 2 To lngMaxRow
.navigate "http://www.bancaroma.it/abicab/index.asp", 2
Do While .busy
DoEvents
Loop
Do While .ReadyState <> 4
DoEvents
Loop

If wksList.Cells(lngRow, 3).Value = "" Then

With .document.Forms(0)
'Abi
.ABI.Value = Range("A" & lngRow)
'Cab
.CAB.Value = Range("B" & lngRow)
.submit

Application.StatusBar = "Processing row " &
lngRow & " of " & wksList.Range("A1").CurrentRegion.Rows.Count


End With
Do While Not CBool(InStrB(1, .document.URL, "?
search"))
DoEvents
Loop
Do While .busy
DoEvents
Loop
Do While .ReadyState <> 4
DoEvents
Loop
On Error Resume Next
'CONSIDERARE PRIMA CELLA COME POSISZIONE "ZERO"
Range("C" & lngRow) = UCase(.document.all.tags
("table").Item(1).Rows(0).Cells(3).innerText)
Range("D" & lngRow) = UCase(.document.all.tags
("table").Item(1).Rows(1).Cells(3).innerText)
Range("E" & lngRow) = UCase(.document.all.tags
("table").Item(1).Rows(2).Cells(1).innerText)
Range("F" & lngRow) = UCase(.document.all.tags
("table").Item(1).Rows(3).Cells(1).innerText)
Range("G" & lngRow) = Format(UCase(.document.all.tags
("table").Item(1).Rows(4).Cells(1).innerText), "#00000")

On Error GoTo errHandler
End If
Next lngRow
End With

errHandler:
ie.Quit
Set ie = Nothing
Exit Sub

ActiveWorkbook.Save

End Sub

GeneralGood Script. Thanks
Gautam Jain
1:03 23 Jul '05  

Thanks for the script.

However, instead of hacking in to the format of the history file (index.dat), it is better to use the IUrlHistoryStg and IUrlHistoryStg2 interfaces of IE. What do you think?

Regards,
Gautam Jain

GeneralRe: Good Script. Thanks
cyber_flash
2:23 23 Jul '05  
I've briefly looked at this using google, and it seems the IUrlHistoryStg interface works for the current user only. If the interface could handle another user or networked computer, then it would be a nice feature. Smile

Thanks for the tip!

Vengy! (-_-)


General1/20/2005
Jianping Yan
10:04 23 Jan '05  
Your IE(VBScript Script File) can't read date and time of IE history which was linked after 1/20/2005 anymore.

Do you have any idea on that?

JP
GeneralRe: 1/20/2005
cyber_flash
15:24 23 Jan '05  
Not sure why that happens. I know that Japanese date/time causes issues,
are you using a Chinese WinXP version?

Try clearing the IE History Cache. Also, I've seen entries appearing as 01/01/1662 - somehow the IE index.dat date gets corrupted by the browser?

Has anyone else had similar issues?

Thanks.
GeneralRe: 1/20/2005
Jianping Yan
15:46 23 Jan '05  
the date and time changes to '1601-1-1' in Chinese WIN 2000 Prof. and changes to '4/6/1626 8:17:08' PM in English Win XP Prof.

It works well before 1/21/05. The only thing I did is click 'IE' VBScript Script File and then click c:\spy.html.

Thanks,



GeneralRe: 1/20/2005
cyber_flash
3:22 24 Jan '05  
That's weird that it works fine before 1/21/05 but not after?
I've noticed on occasion that the index.dat date/time stamps are sometimes reset to 1601-1-1. Not sure why the IE browser inserts that bogus date/time!?

As you know, Microsoft doesn't disclose much about the internal index.dat file format so it could be that my script is somehow mishandling the date/times. (I doubt it though Wink

Good luck!


GeneralFixed! 1/20/2005
cyber_flash
15:18 9 Aug '05  
Another user corrected the bug and I've updated the script. Cool! Smile

1626-04-01 13:53:44 - http://forums.dpreview.com/...

Underlined line of code fixes 1626 date bug , at least it helped on my PC (W2K SP4)

Function AsciiToHex(sData)
Dim i, aTmp()

ReDim aTmp(Len(sData) - 1)

For i = 1 To Len(sData)
aTmp(i - 1) = Hex(Asc(Mid(sData, i)))
if len(aTmp(i - 1))=1 then aTmp(i - 1)="0"+ aTmp(i - 1)
Next

ASCIItoHex = aTmp
End Function

And thank you for your script, it was very useful in my writing a little tool in C# to view IE history on remote machines.


GeneralExcellent Script !
Dusty2020
6:17 21 Jan '05  
Being a network administrator for a large college I have the dubious task of keeping everything safe and secure. One person's idea of a "clean" site is anothers blasphemy. With so many cultures sitting beside each other I have found that once presented with a print out of some unsavoury sites that the students stop going there. I also transfer the data to a server side HOSTS file and use a batch file to download it to the local workstations piping all the nasties to 127.0.0.1. From then on all the sites are auto blocked

Saves a ton of time, aggravation, and any cultural backlash

Thanks tons !

Grant


GeneralRe: Excellent Script !
cyber_flash
9:03 21 Jan '05  
Blush

Pretty sneaky to copy the banned website hosts file back to the client. Here's a quick vbscript I just threw together to accomplish the same thing without having to run any batch files:
' -------------------------------------------
Option Explicit

Dim WshShell : Set WshShell = WScript.CreateObject("WScript.Shell")
Dim oFso      : Set oFso      = CreateObject("Scripting.FileSystemObject")
Dim strUserList
Dim strUserName
Dim Admin
Dim Admin_Password
Dim hosts
Dim windows

Admin               = "Administrator"
Admin_Password = "PASSWORD!"
strUserList      = "users.txt"
hosts               = "hosts"
windows            = "\WINDOWS\system32\drivers\etc\"

'wshShell.Run "cmd /c net view"

If oFso.FileExists(strUserList) then

   Dim oFile : Set oFile = oFSO.OpenTextFile(strUserList, 1)

   Do Until oFile.AtEndOfStream
      strUserName = oFile.ReadLine
      wshShell.Run "cmd /c net use \\"+strUserName+"\c$ "+Admin_Password+" /user:"+strUserName+"\"+Admin,0,True  
      If Not oFSO.FolderExists("\\"+strUserName+"\c$"+windows) Then
         wscript.Echo "Unable to access \\"+strUserName+"\c$"+windows
      Else  
         wscript.Echo "Copying "+hosts+" to "+strUserName
         oFSO.CopyFile hosts,"\\"+strUserName+"\c$"+windows
         If oFSO.FileExists("\\"+strUserName+"\c$"+windows+hosts) Then
            wscript.Echo "Success."
         Else
            wscript.Echo "Failure."  
         End If
      End If     
   Loop
  
   oFile.Close
  
Else
   wscript.Echo "Could not open " & strUserList
End if

wscript.quit

' -------------------------------------------


GeneralRe: Excellent Script !
Dusty2020
10:01 21 Jan '05  
Thanks for the script Blush ) I have to do some playing around, get the script to access the network share and copy my updated file over. We use a combo of Win98 and XP machines so I have to do the following. No real need to use a user variable and text file because this is done at every logon regardless of the user.


IF %os%=="Windows_NT" then goto xp

attrib -r c:\windows\hosts
copy \\servername\share\hosts c:\windows /Y
attrib +r c:\windows\hosts
goto end

:XP
attrib -r c:\windows\system32\drivers\etc\hosts
copy \\servername\share\hosts c:\windows\system32\drivers\etc /Y
attrib +r c:\windows\system32\drivers\etc\hosts
goto end

:end
Exit


GeneralDangerous ...
goodmast3r
22:20 13 Jan '05  
On the wrong hand


Work hard and a bit of luck is the key to success.
You don`t need to be genius, to be rich.

GeneralRe: Dangerous ...
cyber_flash
4:51 14 Jan '05  
>> On the wrong hand?

I assume you're saying that these scripts, in the wrong hands could be used for malicious purposes.

True! I guess some spyware could harvest the history data and target their popup ads accordingly etc.,...

Thanks! Wink
GeneralRe: Dangerous ...
goodmast3r
17:13 16 Jan '05  
Have you ever use the keyboard hook application? That is more dangerous than yours. Could you imagine what will happened if I that app into your PC?OMG


Work hard and a bit of luck is the key to success.
You don`t need to be genius, to be rich.


Last Updated 23 Jul 2005 | Advertise | Privacy | Terms of Use | Copyright © CodeProject, 1999-2010