Introduction To File Sharing Services - CAC
Introduction To File Sharing Services - CAC
Contents
2
Introduction to Filesharing Services
Category.ini.............................................................................................................................................. 17
Ipfilter.dat ................................................................................................................................................ 17
Onlinesig.dat ............................................................................................................................................ 17
Preferences.dat ....................................................................................................................................... 18
Sharedir.dat ............................................................................................................................................. 18
cancelled.met .......................................................................................................................................... 18
Staticservers.dat ...................................................................................................................................... 18
Addresses.dat .......................................................................................................................................... 18
AC_SearchStrings.dat .............................................................................................................................. 18
AC_ServerMetURLs.dat ........................................................................................................................... 18
AC_BootstrapIPs ...................................................................................................................................... 18
Cryptkey.dat ............................................................................................................................................ 18
eMule.tmpl .............................................................................................................................................. 18
xxx.part .................................................................................................................................................... 18
xxx.part.met............................................................................................................................................. 19
xxx.part.met.BAK ..................................................................................................................................... 19
eMule.log ................................................................................................................................................. 19
eMule_Debug.log .................................................................................................................................... 19
Information about file sharing..................................................................................................................... 19
The Installation of eMule......................................................................................................................... 20
The Mounting of an Installed eMule Client ..................................................................................................... 38
Forensic Examination of eMule ....................................................................................................................... 43
Standard installation ................................................................................................................................... 43
Windows registry ......................................................................................................................................... 43
preferences.ini ......................................................................................................................................... 44
downloads.txt .......................................................................................................................................... 45
AC_SearchStrings.dat .............................................................................................................................. 46
known.met............................................................................................................................................... 47
An analyzis of "known.met" ........................................................................................................................... 48
What do the different data mean?.......................................................................................................... 50
The content of the”Temp” folder ............................................................................................................ 54
Analysis tool for ”known.met” ........................................................................................................................ 56
3
Introduction to Filesharing Services
4
Introduction to Filesharing Services
5
Introduction to Filesharing Services
6
Introduction to Filesharing Services
The expression peer-to-peer is especially used within the field of data communication to describe
communication or the direct exchange of data between equal units of a communication network,
without involving a central computer. The expression “P2P” or file sharing is used for the same
form of communication as well.
Apart from the above-mentioned, it may be added, that the users of file sharing programmes are
connected to each other in a larger network, that works more or less autonomously. As a
consequence of this, it is not possible immediately afterwards to carry out an investigation in this
environment, since the communication lines are interrupted at log-out of the programme and the
connection is disconnected. This again means, that no log-outs are generated elsewhere, but only
between the involved parties. frThere are, however, several file sharing programmes that contain
internal log files, which may give information about files downloaded earlier and which files have
been available for sharing and so on.
The programmes work in such a way that you, during installation, define a folder as being “shared”
with other users of file sharing services (it is not necessary to make use of the same file sharing
programme – as long as the programme is active in the same network – typically Gnutella
Network, eD2k Network or Fast Track Network). The content of this shared folder is available to all
the other users, just as they are able to run searches of the content. In some programmes it is
possible to “switch off” the file sharing function, which means that files cannot be downloaded
from the computer.
In order to explain the functionality of file sharing programmes, you have to metaphorically
compare a film file to a jigsaw, for example. All the users of the file sharing programmes place a
number of “jigsaws” at the disposal of all the other users of the file sharing service/network (the
files in their shared folders).
When a user searches the network for a certain file – the film “Titanic”, for instance – the user will
be told which users have the file in question. Our user may click on a file corresponding to his wish
and then start downloading the file. He is not restricted to one single user, but can download from
several different users that have the desired file. The programme now gets pieces for the
complete jigsaw from several other users at the same time and the final result will be gathered
7
Introduction to Filesharing Services
together at our user’s computer. This functionality ensures, that the individual users’ bandwidth is
not burdened too much, just as the user is not immediately affected when individual remote users
shut down and close their connection.
Ever since the infancy of computers, there has been a need for exchanging files between several
computers and users. In the beginning no actual storage medias existed, which meant that if any
information should be transferred from one computer to another, everything had to be typed in
manually. Later on, the first magnetic storage medias arrived and these could contain data, but
were very difficult to move around. Later on, the punch card was a reality and you were suddenly
able to print cards that could be read into another computer – a difficult, but usable method.
By the introduction of the floppy disk and the magnetic tape unit, the sharing of files became
much easier, but the spreading of files still went very slowly, since the files had to be moved
physically from one place to another.
With the rising popularity of the Internet in the beginning of the nineties, the ordinary user quickly
figured out that it was possible to download and send files to each other through the network,
even though you were both sitting on each side of the Earth.
USENET was the first network in which you could actually share files with many other unknown
users; in everyday speech this is referred to as newsgroups. Here it became possible to post
smaller files that other users then could download. Newsgroups are still being used, but not quite
to such an extent as they have been.
In the start of the nineties it also became very popular to set up FTP servers. By using an ordinary
FTP client, you could log on a server and download the content that was available. The FTP
server’s popularity soon fell, because different intellectual property rights holders could easily
identify the owner of the server and thus claim large sums in compensation from him. Today, FTP
servers are seldom seen.
At the same time as the FTP servers appeared, the IRC also started gaining ground. Especially the
client mIRC became very popular, as it was possible to develop script extensions for the
programme, by which you could set up the so-called file server (F server), a bit like the FTP servers.
mIRC is still being used for file sharing.
8
Introduction to Filesharing Services
In the end nineties, the first modern file sharing programme, Napster, came into existence. This
service worked in such a way, that a number of central indexing servers registered the content of
all users in the network and their files. However, in 2001, the service was sued by, amongst others,
Lars Ulrich from the band Metallica. The legal actions lead to the closure of Napster.
Same year, the next generation of file sharing services appeared. This generation was no longer
dependent on central servers, but was a so-called distributed system, in which all requests went
through other clients connected to the network, without involving central servers.
The first distributed client was KaZaA. Through KaZaA it now became possible to share other
things than music files and it was very easy to make use of. The programme became a huge
success and you quickly had up to several million users in the network at the same time. In the
time after, a number of different clients were developed.
In 2002, the client eMule saw the light of day. eMule was a further development of the client
eDonkey 2000, which was made by a group of programmers getting tired of the client
eDonkey2000. eMule became an open-source programme and many people could now participate
in the improvement of the client.
Since then, many new versions of eMule and other file sharing clients have been developed.
9
Introduction to Filesharing Services
Networks
The different file sharing services often make use of their own network protocols, which is why
you sometimes have to have specific clients in order to act in a specific network. However, many
clients have started to become so-called multi-network-clients, which means that they can
operate in different networks at the same time. That way the user gets more search options and
search hits.
eD2K
KAD
Gnutella
FastTrack
BitTorrent
Freenet
l2P
AntsP2P
The first 5 networks mentioned on the list are open and unencrypted, whereas the last 3 are
encrypted networks.
As mentioned earlier, many clients are written to operate in several networks. eMule, for instance,
is able to connect to eD2K, KAD, Gnutella and BitTorrent.
As it appears, encrypted networks also exist. These are not that popular, since the clients are not
as straight forward to use as the unencrypted clients and the network is very slow, just as there
are not nearly as many files available in these networks.
The individual networks, of course, have different topologies and these will be described in the
next paragraph.
10
Introduction to Filesharing Services
Network Topologies
First-generation networks
Centralized networks (Napster, for instance).
11
Introduction to Filesharing Services
Second-generation networks
These networks are based on the same topology as second-generation networks, but are
encrypted.
12
Introduction to Filesharing Services
Fourth-generation networks
The BitTorrent network is based on a “partly decentralized network”, in the way that you
download a so-called “.torrent” file through a homepage. Through your client you are then
connected to a “tracker”, which is a server keeping track of the different files that are available.
Files found complete, are called “seeds” and the tracker sends information about where you can
download the file. Downloading takes place from the complete seeds, whereas the parts missing
in the incomplete files are being uploaded to the clients at the same time. BitTorrent is based on
the principle of “tit-for-tat” and it is impossible to disconnect this “share” function.
Tracker
Client
13
Introduction to Filesharing Services
Clients
In the following paragraphs, I will go through the different file sharing clients.
Below there is a list of clients, which at present form a part of this material:
eMule
LimeWire
14
Introduction to Filesharing Services
eMule
The text given below has been taken directly from eMule’s official homepage on www.emule-
project.org.
What is eMule?
At dawn of May 13th, 2002, a guy called Merkur was dissatisfied with the original eDonkey2000
client and was convinced he could do better. So he did. He gathered other developers around him,
and eMule project was born. Their aim was to put the client back on track where eDonkey had
been famous before, adding tons of new features and a nice GUI. They couldn’t imagine what
impact this decision would have...
As of today, eMule is one of the biggest and most reliable peer-to-peer file sharing clients around
the world. Thanks to its open source policy, many developers are able to contribute to the project,
making the network more efficient with each release.
The name "eMule" comes from an animal called “Mule”, which is somehow similar to a donkey. ;-)
eMule is not updated regularly, but at the moment the frequencies are between 1 and 3 months.
Don’t take this for guaranteed.
Clients use several networks to create one reliable network (ED2K, Source Exchange, Kad).
Kad has now been implemented and versions 0.48 onwards connect automatically to Kad.
eMule’s “Queue and Credit” system helps to ensure that everyone will get the file he wants by
promoting those that upload back to the network.
15
Introduction to Filesharing Services
eMule is completely free. eMule is also completely free of any Adware, Spyware and etc. We do
this for fun and knowledge, not for money.
Each file is checked for corruptions while downloading to ensure an error free file
The eMules Intelligent Corruption Control helps to speed up the correction of corrupted parts.
Auto priorities and Source management allows you to start many downloads without having to
monitor them.
The Preview function allows you to look at your videos and archives (zip, rar and so on) before
they are completed. For video previewing, we recommend the Video Lan Client (VLC).
The eMule features web services and a web server that allows you to have quick access to and
from the Internet.
To find the file you want, eMule offers a wide range of search possibilities which include: Servers
(local and global), web based (Jigle and Filedonkey) and Kad (still in Alpha).
eMule also allows you to use very complex Boolean searches that make the searches much more
flexible.
With the messaging and friend system, you can send messages to other clients and add them as
friends. In your friend list, you can always see if a friend is online.
With the built-in IRC client, you can chat with other downloaders and chatters around the globe.
While eMule is performed a large number of files are being used. If they do not exist already, they
will be made the first time eMule is started. Most of the files will be found in eMule’s “Config”
folder, whereas the rest will be found either in eMule’s “Temp” folder or in the installation folder.
Known.met
The “Known.met” file contains information about all files eMule has downloaded. Information
about size, file name, hash sets, hash values and some statistics are saved for each file.
16
Introduction to Filesharing Services
Known2_64.met
The “Known2_64.met” file saves information about hash values for each file in connection with
eMule’s AICH (Advanced Intelligent Corruption Handler).
Clients.met
This file saves all users, which have credit at your eMule.
Clients.met.bak
This file contains a backup of the above-mentioned file.
Server.met
Contains all known servers.
Webservices.dat
In this file you have the possibility to build in functionality in eMule, in relation to homepages. The
file can be opened by a text editor such as Notepad and contains an explanation about the
functionality.
Statistics.ini
This file contains all statistics shown in eMule’s statistics window.
Emfriends.met
If there are any users added to eMule’s friend list, they are being saved in this file.
Preferences.ini
All settings made in eMule’s “Settings” are saved here, just as information about the user
interface, such as width of columns etc.
Fileinfo.ini
Comments or evaluations of your own shared files.
Category.ini
Saves the settings for your categories such as name, comments and choice of colour.
Ipfilter.dat
This file contains IP areas as well as access levels that have to be filtered by eMule. You can find
more information about IP filtration on http://www.emuleguides.dk/support.php?id=18
Onlinesig.dat
The online signature is a small file containing the server eMule is connected to, as well as statistics
on uploads and downloads. It can be used in IRC scripts and pictures for signatures.
17
Introduction to Filesharing Services
Preferences.dat
The user hash is saved here. It is a value that is computed the first time eMule is started up and it
is used to identify the client on the network. It is used for the credit system and for friends.
Sharedir.dat
Contains the paths for all shared files.
cancelled.met
Contains information about the files you have cancelled.
Staticservers.dat
Static servers never change IP address and are, in theory, always online on the network. By right-
clicking on a server, you may add servers to this list.
Addresses.dat
eMule updates its server list when the programme starts up, if the file contains correct addresses
for “server.met” files. In eMule’s “Settings -> Servers”, there is a button that gives you the option
to edit this list and change the settings for updating at start up. The file can contain several
addresses (one for each line), but only the first line that has a correct address to a “server.met” file
will be used.
AC_SearchStrings.dat
Each search expression used in eMule is saved in this file
AC_ServerMetURLs.dat
The same principles as the above-mentioned file, except that this file saves typed addresses for
“server.met” files.
AC_BootstrapIPs
The same principles as the above-mentioned file, except that this file saves typed IP addresses for
the use of bootstrap in the Kad network.
Cryptkey.dat
Contains the unique 384bit private RSA key for your eMule client.
eMule.tmpl
The files with the extension “.tmpl” are necessary if you want to make use of eMule’s web
interface. They define layout and settings of the shown pages.
xxx.part
The files with the extension “.part” are downloads in eMule that are not yet finished. eMule
downloads from more than one user at a time, which means that the “.part” files always have the
18
Introduction to Filesharing Services
size of the final download. The missing parts are zerofilled. In the newer versions, and when using
the NTFS file system, you have the option to share your incomplete downloads as “sparse”. This
counteracts the mentioned process and therefore saves space on your hard disk.
xxx.part.met
Each “.part” file has a ”.part.met” file belonging to it. In order to identify downloads on the
network and check for errors all downloads are divided into parts of 9,28MB (9500 bytes). For
each part a so-called hash value is computed. After that a new hash value is computed for all the
hash value parts. This information, together with file name and status of all the different hash’es,
is saved in “.part.met” files.
xxx.part.met.BAK
A backup of each “.part.met” file is generated and saved, since it is critical if these files become
corrupt by a mistake.
eMule.log
The log, you can see in the server window, is saved here if the window is activated in eMule’s
“Settings -> Advanced”.
eMule_Debug.log
The debug_log, you can see in the server window, is saved here if the window is activated in
eMule’s “Settings -> Advanced”.
Notice that the share function cannot be switched off, as regards the folders created by the
system!!!
(http://www.emule-project.net/home/perl/help.cgi?l=1&rm=show_topic&topic_id=311#unshare)
19
Introduction to Filesharing Services
The actual installation file for the newest eMule client is found on the official homepage
www.emule-project.org, where the page has been set up in several languages – including Danish.
As of today, version 0.49c (June, 2009) is the latest addition.
Below you can see all displays from a standard installation of version 0.49c:
20
Introduction to Filesharing Services
21
Introduction to Filesharing Services
22
Introduction to Filesharing Services
23
Introduction to Filesharing Services
The first part of the installation stops here. The user now has to start the application manually, by
using one of the shortcuts to the programme.
When the programme has started up, the set up of the programme continues.
24
Introduction to Filesharing Services
25
Introduction to Filesharing Services
26
Introduction to Filesharing Services
27
Introduction to Filesharing Services
When you click on “Finish”, the programme starts up. Yet another set-up box appears:
28
Introduction to Filesharing Services
When choices have been made in the box above, the start display appears:
29
Introduction to Filesharing Services
By clicking on the icons in the menu bar, we see the following pages:
30
Introduction to Filesharing Services
Search function:
The search word is typed in the search field and a possible file type is chosen in the drop-down
box.
31
Introduction to Filesharing Services
Shared files
(Here an example from a client that has been running for a while).
Notice the five files marked as being placed in the “Temp” folder. From these files sufficient
material has been downloaded to share (“chunks larger than 9500 kb”).
From the same display, you can see how many requests the network has sent for the individual
shared files, how many requests have been accepted, and how many bytes material has been
uploaded. All this information can be found in the file “known.met”.
32
Introduction to Filesharing Services
Downloads:
33
Introduction to Filesharing Services
KAD:
34
Introduction to Filesharing Services
Statistics:
From the statistics picture, you can see the active traffic, accumulated data for downloads, uptime
and so on. The content is constructed from the file “statistics.ini” – the page is just a graphic
presentation of these data.
35
Introduction to Filesharing Services
Settings:
Under “Settings”, there are a number of possibilities, in which you can set up your client. It will,
however, take too long to cover all functions.
Under ”Directories” , it will be shown, which folders the user actively has chosen to share.
Under “Extended” it will be indicated, whether the user has chosen to log traffic.
36
Introduction to Filesharing Services
37
Introduction to Filesharing Services
In connection with the examination of an installed client, it is possible to get the client
running/started by mounting the evidence file containing the disk from the installed client.
You can mount the Evidence file in different ways – either by mounting it directly from EnCase or
by using Mount Image Pro (which I recommend).
4. It is now possible to browse to the ”eMule mappen” (eMule folder) on the mounted drive.
38
Introduction to Filesharing Services
Notice, that the drive has got another drive letter. Originally, it would have had “C” as drive
name.
5. Double-click on ”emule.exe”.
6. At start up of the programme, an error message will appear telling you that the folders
”C:\Programmer\eMule\incoming” and ”C:\Programmer\eMule\Temp” are not to be
found.
39
Introduction to Filesharing Services
As can be seen, the programme is unable to find the folders on the path. The path has to
be corrected subsequently in the programme itself.
7. Click on “OK” for both error messages and open the programme’s user interface.
9. Return to eMule’s user interface and choose the menu item ”Options” and the submenu
”Directories” . Correct the drive name to the drive letter, that the disk is mounted with,
and mark possible user made folders as shared (the folders that are mentioned in
”shareddir.dat”).
40
Introduction to Filesharing Services
12. It is now possible to see all shared files – including possible files that are about to be
downloaded and where sufficient data has been downloaded for sharing.
13. In connection with this exercise, it is a good idea to document your discoveries with screen
dumps. These pictures often say more than words and show how the user has seen his
interface.
41
Introduction to Filesharing Services
It is completely safe to use this method as the Evidence file is write protected, which means that
possible changes only take place in RAM.
This method is relatively simple to carry out. Of course, you may also start the mounted disk
through LiveView and VirtualMachine. This is, however, only possible if all shared folders are
placed on the same physical hard disk, as it is not immediately possible to mount several disks at
the same time and run them through LiveView.
By making use of the above-mentioned method, it is possible to mount a random number of disks
and get the installation running across various disks.
42
Introduction to Filesharing Services
Standard installation
Windows registry
43
Introduction to Filesharing Services
preferences.ini
The file is found in the folder ”C:\Programmer\eMule\config”.
The content of “preferences.ini” can be documented with advantage, by activating the client and
having the content visually presented:
44
Introduction to Filesharing Services
downloads.txt
This file contains information about the files that are being downloaded at present – that is the
same information which is shown under the tab “Overførsler” (Transfer).
45
Introduction to Filesharing Services
013.part ed2k://|file|paris_hilton_1.jpg|113903|02375E7B2BB138DCE2A71C89F0A0A750|/
“.part” number File name File size in bytes eD2K hash value
The line above is a fully valid eD2K link that can be copied directly into a browser, which then
automatically opens an eMule and starts downloading this specific file.
AC_SearchStrings.dat
The file contains information about the search words last used. The words are given in Unicode. In
EnCase, “Text Styles” may with advantage be set to Unicode:
46
Introduction to Filesharing Services
In this example, the user has run searches on ”metallica”, ”madonna” and ”paris hilton”.
known.met
“Known.met” is a virtual gold mine of data. The file contains information about all files that have
been downloaded through the programme – or have been placed at the disposal of other clients
by our user. It is possible to read out the data listed below:
File name
File size
eD2K hash value
When the date has last been changed
Number of requests for the file from the network
47
Introduction to Filesharing Services
An analyzis of "known.met"
When eMule is installed, the file “known.met” will not be created before connection has been
made to the network. The first time eMule is shut down, the file will be created. If no material has
been downloaded, the file will only contain 5 bytes of data. In HEX the file will look this way:
0E 00 00 00 00
The first byte (offset 0) contains the value 0E (NOTE: in newer versions it can be 0F), which is the
file’s signature byte. Offset 1-4 contains information about the number of records in “known.met”
and as can be seen above, no files have been downloaded.
0E FF 00 00 00
You may deduce from this, that there are 256 entries in all, in this “known.met”, since the decimal
value for “FF” is 256.
When examining ”known.met”, you can open it in Notepad, for instance, but the information is
not very usable. It is only possible to deduce file name and type.
bôG$Ô•E§ºÍsñV(•ˆšäÏ••ý땾•‘Æ×ºk†¬•ÃŒÕr•ƒëüæ ÓlϤüÖ¾ò••••••••%•Madonna
- Hung Up (Album Version).mp3
••••€PÎ
••••PÍ´Y••••T•••••••Q•••••••R•••••••••••••••'•OQ3KVGPW6JPLN2ZFYNCMSB7IIHUWMPJM
•••!•ÿõG •••"
••••••••••148.part•••ÓQ••••••Ô@••••••Õ•• Hung Up (Album Version)•••Ñ•Album
Version
As can be seen, there are many “holes” in the data that can be read in text view.
48
Introduction to Filesharing Services
In order to get more out of the data, you have to change to HEX View. The same posting looks this
way:
B662F44724D40E45A7BACD73F1562804889AE4CF0200FDEB1FBE1591C6D7BA6B86AC11C38CD272C2
1F83EBFCE609D36CCFA4FCDABEF2100000000201000125004D61646F6E6E61202D2048756E672055
702028416C62756D2056657273696F6E292E6D7033030100028050CE0003010050CDB45900030100
5400000000030100510F000000030100520F00000003010019050000000201002720004F51334B56
475057364A504C4E325A46594E434D53423749494855574D504A4D030100210FFFF5470301002201
0000000201001208003134382E70617274030100D351010000030100D440010000020100D2170048
756E672055702028416C62756D2056657273696F6E29020100D10D00416C62756D2056657273696F
6E020100D007004D61646F6E6E61
It is possible to interpret the data with EnCase, but an actual HEX viewer such as WinHEX is much
more usable for the analysis. In WinHEX it is possible to interpret data up to 64 bytes onwards and
give information, whether there are any possible time and date stamps and so on.
Be aware of that the “Data Interpreter” interprets the data both as numbers and dates – for
49
Introduction to Filesharing Services
instance in this case where the 32 bits are interpreted both as numbers and UNIX date. You have
to be aware of, that the interpretation is made from the existing data, which means that “false
positives” could occur in relation to datings and so on. As a consequence of this, it is important to
look at the data structures when analyzing in WinHEX.
In the example below, the meaning of the different data can be read out:
50
Introduction to Filesharing Services
Every record may contain a number of different META-tags and all tags are not always
represented. Moreover, it has not been possible to interpret all tags completely.
51
Introduction to Filesharing Services
• Strings
• Numerical values
Strings:
The META-tag for strings has the format “02 01 00 xx”, in which “xx” represents the ”value” of the
tag. Immediately after the tag, the 2 bytes are placed that contain the length of the string.
Numerical values:
The META-tag for numerical values has the format “03 01 00 xx”, in which “xx” represents the
”value” of the tag. The subsequent 4 bytes contain the numerical value or a date/time value
(UNIX/C-date).
TAG Meaning
02 01 00 01 File name
02 01 00 12 Temp file name (.part)
02 01 00 27 AICH hash *)
02 01 00 D0 Artist name
02 01 00 D1 Album
02 01 00 D2 Title
03 01 00 02 File size
03 01 00 19 Upload priority **)
03 01 00 21 File dating (date/time when file has last been posted on KAD ***)
03 01 00 22 Currently unknown (possibly a mp3 tag)
03 01 00 50 Transferred amount of data (total upload)
03 01 00 D3 Playing length of file in sec.
03 01 00 51 Number of requests from network
03 01 00 52 Number of accepted requests
03 01 00 D4 Bit rate
03 01 00 54 Currently unknown
*) This hash value is an Advanced Intelligent Corruption Handler hash value. It helps you
52
Introduction to Filesharing Services
determine whether parts (“chunks”) of downloaded data are corrupt. Each “chunk” is divided into
53 (52x 180KB and 1x 140KB (9500 KB)) and each of these parts is hashed with SHA1. Each of these
hashes is called a “block hash”. By combining a couple of “block hashes” – each part with the part
next to it, for instance – eMule gets a complete “tree” of hash values. This “hash tree” of “block
hashes” is called the AICH hash set.
**) The upload priority is automatically set to the value ”05” (Auto), but it can be changed by the
user. This is done in the window “Shared Files”, wherein each file can be set manually to the
desired value.
Upload priority:
00 00 00 00: Low
01 00 00 00: Normal
02 00 00 00: High
03 00 00 00: Release
04 00 00 00: Very Low
05 00 00 00: Auto
***) This time and date stamp is rather special and demands an explanation:
When eMule connects to the network, the programme checks whether the individual file is still in
the shared folders. If the file is present, eMule will try to post the file on the KAD network. If the
file in question has insufficient sources, the file will be posted and the actual date/time (in GMT)
will be updated. On the other hand, if there are insufficient sources on the KAD network, the file
will not be posted (in order to prevent flooding). Instead the file is given a time and date stamp
(“reposting time”) which is actual time + 5 hours (GMT). When the new time comes, the process
will be repeated. If there is a shortage of sources, the file is posted with the actual time (GMT) or
else the file will get a new “reposting time”, which again is actual time + 5 hours.
This means that when examining “known.met” it is possible to determine for how long time the
individual file has been shared (+/- 5hours) – even if the file has been removed or deleted from the
shared folders. You can work out the period in which the file has been shared by deducting the
posting time from “last changed” time (Notice that this is ONLY when the file has been
downloaded through eMule – more about this later on).
53
Introduction to Filesharing Services
How do we determine whether a file has been downloaded via eMule or the user has
placed it at the disposal of the network?
If other folders have been shared, all files in the folders will be added to “known.met”, but the
individual files will not have references to a ”.part” file. This means that NO tag exists for this
information (02 01 00 12) in this record.
A quick way to check this is to read out the number of records in “known.met” (offset 1-4), and
then carry out a search on the HEX values 02 01 00 12 and compare them with the number of
records that have been read out earlier. If there is a difference, single files will have been shared
by the user (NOTE: If the user chooses to delete the old program before installing a new – or the
known.met file has been deleted/corrupted - there will be no referenced to the “.part” file – even
if the file had been downloaded by the previous program installation. Do a thorough examination
on this prior to saying, that the user has set the files shared by him self )
When examining the folder "C:\Programmer\eMule\Temp", we see that this folder contains the
partly downloaded files.
“xx.part” file
“xx.part.met” file
“xx.part.met.bak” file
"xx.part" file contains the actual file data. The file has the same size as the complete file (possible
missing file parts are being marked with ”00”).
"xx.part.met" contains "meta-data" for the file, such as file name, file size, data chunks
downloaded, AICH hash of chunks downloaded and so on.
54
Introduction to Filesharing Services
If a partly downloaded file contains a video sequence, you can often play it in MediaPlayer or in
VirtualDub, for instance.
55
Introduction to Filesharing Services
How to use:
Prior to the first use, you have to update the program with your current timezone:
56
Introduction to Filesharing Services
2. Fill in the desired separator for the CSV file (";" is the default separator in Excel (Europe) ) -
this way you can directly open the file in Excel just by double-clicking it
3. Fill in your locale time zone (find the right time zone table below. By filling in the right zone
instead of the GMT offset, you'll have the right change of DST (Daylight saving time))
4. Click Apply
5. Go to <File> -> <Open> to browse to the desired "known.met" file and click "Open"
57
Introduction to Filesharing Services
7. Choose <File> -> <Export> - Select filename and path, and click "Save"
8. Double click the new CSV file and view the data
Please notice that the parser shows the "TimeDelta" in minutes - while Excell shows the
same time in seconds (this due to an internal calculation mode within Excell)
58
Introduction to Filesharing Services
00 00 00 00: Low
01 00 00 00: Normal
The upload priority of the file (05 - Auto is 02 00 00 00: High
Upload priority
default) 03 00 00 00: Release
04 00 00 00: Very Low
05 00 00 00: Auto
59
Introduction to Filesharing Services
60
Introduction to Filesharing Services
In rare cases occurrences of negative values will appear, when parsing af "known.met" file. This
happens when a larger file is being downloaded. When sufficient data is available ("chunks") they
are shared on the network in the same way as full downloaded files. The available "chunks" gets a
"SystemCheckTime" stamp, while the "LastWritten" timestamp NOT is present in the "known.met"
file until the full file has been downloaded.
Scenario:
The user selects a 500 Mb file for download at 13:00 GMT present day. During the download he
obtains several full "data chunks" that are set as shared. Every time the file gets a
"SystemCheckTime" timestamp. At 15:30 GMT present day the file gets the last
"SystemCheckTime", and at 16:00 GMT the file is fully downloaded. The entry in the "known.met"
file is created with "Last Written" as 16:00 GMT present day. The user removes the file from the
shared folder before next "SystemCheckTime" is stamped into the file.
When parsing this file the "TimeDelta" will be negative as it is calculated as a subtraction of the
"LastWritten" from "SystemCheckTime".
Even if you have a negative "TimeDelta" you can have a large amount of hits, accepted hits and
upload of data
When you are making an examination - try to use the following GREP search (EnCase version)
61
Introduction to Filesharing Services
\x03\x01\x00\x51.{4,4}\x03\x01\x00\x52
This search is specifically searching for the "Number of hits from the network" (the tag 03010051)
- then followed by the actual number of hits - which is stated in the next 4 bytes (unknown data)
and then followed by the "Number of accepted hits" (the tag 03010052)
When you have finished this search, you might get a lot of hits (as each entry in the known.met file
has these tags).
Using EnCase you might get searchhits like below when using the GREP search shown above:
62
Introduction to Filesharing Services
Same data shown in WinHEX - the GREP search is here shown in red/yellow/green
63
Introduction to Filesharing Services
64
Introduction to Filesharing Services
65
Introduction to Filesharing Services
Choose the Output file and path (somthing.met) and click "ok"
66
Introduction to Filesharing Services
It's possible to use other tools to extract the binary data - find your own way to use these tools :-)
67
Introduction to Filesharing Services
LimeWire
The following information is based on examination of LimWire v. 5.1.3 – basic version. This is the
current newest version of LimeWire (june 2009) – and it has some significant changes compared to
the 4.x versions. The differences to earlier versions will not be mentioned.
LimeWire Basic
LimeWire Pro
The “Basic version” is free, while the “Pro version” costs aprox. 35 UD$ a year
The text given below has been taken directly from the official homepage of LimeWire on
www.limewire.com
About LimeWire
LimeWire is the world's most popular peer-to-peer file-sharing program. With over 70 million
unique monthly users, the software is downloaded hundreds of thousands of times every day and
boasts millions of active users at any given moment. LimeWire uses the BitTorrent protocol and
the Gnutella network to provide an unparalleled searches and download speed to the user. As
always, LimeWire takes the security of its users very seriously and will never bundle spyware,
adware, or viruses
The Company
Founded in 2000 by CEO Mark Gorton, Lime Wire is a leader of innovative peer-to-peer software
development and solutions in the file sharing industry. We develop powerful, sophisticated
software offering an unparalleled user experience. Our signature products, LimeWire BASIC and
68
Introduction to Filesharing Services
LimeWire PRO, run on the decentralized Gnutella Network and are among the world's most
popular peer-to-peer file sharing applications. More recently we've launched the LimeWire Store,
a digital media store, and are working on a number of projects to help further connect Lime Wire's
peer-to-peer community. Interested in joining Lime Wire? Read about our open positions here.
What is LimeWire?
LimeWire is a peer-to-peer file sharing program that connects to the Gnutella network and
enables users to search for and download files from other users. It is not a web site or a service,
and Lime Wire does not provide any of the content found on the network. LimeWire enables you
to share your files with millions of other LimeWire users, and vice versa, so there is always a
diverse selection of files available.
Installation
The following screenshots shows a standard installation of LimeWire 5.1.3 Basic version (free)
69
Introduction to Filesharing Services
70
Introduction to Filesharing Services
71
Introduction to Filesharing Services
72
Introduction to Filesharing Services
73
Introduction to Filesharing Services
NOTE: Files downloaded with LimeWire are automatically shared on the P2P network – in spite of
the setting shown !!
74
Introduction to Filesharing Services
75
Introduction to Filesharing Services
76
Introduction to Filesharing Services
77
Introduction to Filesharing Services
Browse files is a way to see all the files someone who appears in a search result is sharing. Click the
down arrow next to '1 P2P User', '# P2P Users', 'Friend' or even 'People' to browse which files are shared.
'Friend' appears if you are using Friends and a contact has a file which matches your search. On the other
hand, 'People' might appear if a friend and other people on the P2P Network are sharing the file.
78
Introduction to Filesharing Services
79
Introduction to Filesharing Services
Then when you select a person to browse, the library is shown on the Sidebar under On LimeWire:
Download
Downloads from the P2P Network are automatically shared, as specified in your Options. On the other
hand, downloads from Friends are not shared automatically.
80
Introduction to Filesharing Services
When you click a search result to download, the search results shows an arrow and adds "Downloading"
to the search result. At the bottom of the screen is the status of your last few downloads.
81
Introduction to Filesharing Services
When the file finishes downloading, the down arrow becomes a book icon to show it's in My Library. If
you double-click the book icon or single-click the underlined 'My Library', LimeWire takes you to My
Library and selects the file.
Additionally, you can click Show all from the search results to see all your downloads along with more
detailed information:
82
Introduction to Filesharing Services
83
Introduction to Filesharing Services
on how many people can download at once so you have to wait your turn. Also, you might
have reached a limit of how many downloads you can start at once.
Psychology 101 Lecture 1 - Unable to download. Remove it and try searching again. The file
you are trying to download might have a problem.
Psychology 102 Lecture 1 - Connecting. Your computer is attempting to connect to the
computer that has this file. If your computer can't connect, the download becomes Stalled.
Cancun.bmp - Stalled. You should click Try again so your computer will again attempt to
connect to a computer with the file. Between starting and finishing the download, the
computer sharing the file might have shut down. You can either cancel the download (clicking
on the x), try again or wait.
The Friends feature is a way for you to use an account to get a list of contacts who you can share files
from My Library and, or chat.
The accounts use an open standard (XMPP) which maintains lists of contacts per account.
Note: Signing in with an account and password through LimeWire doesn't give you, nor anyone else
access to your email or your account information. Signing in with the email account only lets you see
your contacts who you can then either share files with, or download files your friends are sharing with
you.
1. send and receive an email from a friend with your email account
2. add the friend's account through LimeWire. Then your friend must accept you as a friend
through his account or through LimeWire. Similarly, you would need to accept a friend
through LimeWire or your email account if he added you as a friend.
84
Introduction to Filesharing Services
Here Abby shared an image, 'Quabbin Reservoir MA 2.JPG' which you downloaded as shown by the book
icon:
You can get a list of all the files your friends are currently sharing with you through All Friends:
85
Introduction to Filesharing Services
Here you can see you decided to share a picture of a man posing as a statue and a night scene at the
Feast of San Gennaro with Abby.
86
Introduction to Filesharing Services
Sharing Categories
You can share all the files in a category, either current snapshot of files, or the current snapshot plus
future files. Through Options, you can select how to share all the files in your audio, images, video or
documents categories.
Note: Changing your Sharing Categories setting makes all previous category shares with friends a
snapshot share.
87
Introduction to Filesharing Services
Snapshot
From My Library, select a file category (either Audio, Videos, Images or Documents), then click 'Share'
and select 'Share all with Friend...'.
Then all the files in your image category are selected and the Share Widget appears to add friends:
88
Introduction to Filesharing Services
Additionally, you can share the current and future files you add to My Library in your audio, image or
video category with your friends.
For example, you decide to share your image category with Abby, along with future downloads. After you
find and download another image of the Quabbin, whether from a friend of the P2P Network, that file is
automatically shared with Abby.
To share all files in a category including new files, you need to make a change in the Tools > Options.
Then from My Library, highlight a file category, then click 'Share' and select 'Share all with a Friend...' to
get the collection share widget:
To show you are sharing future files, My Library states 'Sharing Collection: 1':
89
Introduction to Filesharing Services
Also, if you see 'What I'm Sharing' with a friend through My Library, you get a notification you are
sharing future files:
90
Introduction to Filesharing Services
Chat
You can chat with friends whether they are 'On LimeWire' or 'Online'. A friend could be signed into their
account, for example checking their email, without being 'On LimeWire'. You can use LimeWire to chat
with your friend even if he isn't 'On LimeWire'.
Highlight a friend from the Sidebar, right click (control click) and select 'Chat':
91
Introduction to Filesharing Services
Supported accounts
Domain names
binaryfreedom.info
darkdna.net
im.apinc.org
im.flosoft.biz
92
Introduction to Filesharing Services
im.thiessen.it
jabber.ccc.de
jabber.hot-chilli.net
jabber.org
jabber.rootbash.com
jabber.se
jabberes.org
jabster.pl
macjabber.de
programmer-art.org
swissjabber.ch
My Library
My Library is the central location to view or share files with LimeWire. These are files you either told
LimeWire to watch, or downloaded from the P2P Network or the LimeWire Store. Files and folders you
add to My Library aren't automatically shared with the P2P Network unless you previously shared them.
You can add files or folders to My Library if you select File > 'Add File to Library...' or 'Add Folder to
Library...' in LimeWire.
Click on Tools > Options (Preferences > Options), My Library to see which files and folders you want
LimeWire to manage:
93
Introduction to Filesharing Services
94
Introduction to Filesharing Services
95
Introduction to Filesharing Services
96
Introduction to Filesharing Services
You can narrow down files shown in My Library to display only files in My Library which match the filter.
The filter searches information known about the files, including information listed in 'View More Info...'.
97
Introduction to Filesharing Services
Options
My Library
Use My Library to set which folders you want LimeWire to look for files to manage.
Once LimeWire adds a file to My Library, you have a central location to find files on your computer. Here
you can share files with the Person to Person (P2P) Network your Friends, or both.
98
Introduction to Filesharing Services
Additionally, you can control which file categories LimeWire adds to My Library.
File category
LimeWire groups files into categories based on the files' extensions. The categories are:
For example, 'sailboat.JPG' is the name of an image file. The file extension, 'JPG', is a common extension
for files with pictures so LimeWire puts all files with the extension 'JPG' (and 'jpg') into the image file
category.
You can click Manage in the Tools > Options > Advanced > Files option to see the file categories for each
file extension.
File extension
The file extension is the letters and, or numbers after the dot in a file name. For example, the file
extension for the file name 'sailboat.JPG' is 'JPG'.
File extensions help you figure out what category the file is (audio, document, image, program or
videos).
Sharing Categories
You can share a category of files in My Library (Audio, Images or Videos) in two ways:
Snapshot
Snapshot plus future files in that category
A snapshot are all the files you currently have in that category. This is a quick way to share all files of a
particular category in all folders in My Library.
On the other hand, a snapshot also includes any files you may add to My Library in the future. For
example, when share your image collection with a friend, then all images which LimeWire lists in My
Library are shared with him. Then if you download an image of a 'Monkey on a skateboard', then the
monkey file is automatically shared with that friend. Also, if you add an image of a cute cat to My Library,
then it too is shared with your friend who you shared the image collection.
99
Introduction to Filesharing Services
LimeWire player
You can either use the LimeWire player when you launch audio files from LimeWire, or use another player
on your computer.
Search
Search bar
You can set which file category to search. For example, if you only want to search for images, you can set
that here.
Also, you can Group similar search results together. Based on the available data, LimeWire groups search
results that appear to be similar. For example, if the network has two files, Simon_Short_Story.txt and
Simon.txt (both have similar content, like they are the same size and the same file extension), then
when you search for "Simon Short Story", both results are grouped.
When you click on the plus sign, you see two additional files which are similar.
Downloads
100
Introduction to Filesharing Services
Saving
Before LimeWire starts downloading a file, it checks if there is a file already with the same name.
Checking this option tells LimeWire to add a number to avoid replacing the existing file with the new file.
For example, instead of replacing 'sailboat.JPG', LimeWire saves the download file as 'sailboat(1).JPG'.
Share files downloaded from the P2P Network with the P2P Network
This option gives other people the chance to download files you downloaded from the P2P Network. When
you search using LimeWire you are actually searching the Gnutella network of computers. These
computers create a person to person (P2P) connection of computers to allow you to share files.
Also, LimeWire keeps a list of your recent downloads in File > Recent Downloads.
Security
Warning Messages
Unsafe Categories
In order to protect users from unknowingly downloading potentially harmful programs, LimeWire doesn't
let you search for, or share programs by default. Known programs, like 'LimeWire' can be safe to
download, however many times virus hide inside programs. Therefore, we recommend your don't
download programs.
Additionally, to protect your personal information, LimeWire doesn't share Documents by default with the
P2P Network. However, you can share documents with Friends. (See Manage Extensions for a list of
document file extensions.)
Filtering
Select this option to prevent common adult search results from appearing.
Additionally, you can add terms to Filter Keywords... to further restrict search results. For example, if you
added 'ime' to the Filter Keywords... and then searched for 'limewire', you wouldn't see any search
results with the letters 'ime'.
101
Introduction to Filesharing Services
The Filter File Extensions... prevents showing results with file extensions which could include viruses or
cause harm to your computer.
Misc
You can set which language you'd like to see LimeWire's text use.
Notifications
A notification includes a dialog box that appears in the lower right corner of your monitor when you
receive a chat message from a friend.
Like Google's Gmail(tm)* webmail service LimeWire uses the XMPP open standard for the Friends feature.
The Friends feature lets you send text messages to your friends, or to share files directly with friends.
Your email account and messages are not accessible through the Friends feature and the password is
encrypted to protect your privacy.
* Gmail is a trademark of Google Inc. Google Inc is not a sponsor or partner of Lime Wire LLC.
Advanced
Files
File Extensions
Here you can see how LimeWire groups file extensions into categories. For example, LimeWire puts all
files with the file extension 'txt' into the Documents category.
Also, you can control what file extensions LimeWire recognizes for loading into My Library. If, for
example, you decide to exclude MS Word documents from loading into your library, then remove the
check.
Setting file extensions is a great way to control what files you share. For example, if you have sensitive
information in MS Excel files, you might want to restrict sharing 'xls' and 'xlsx' extensions.
102
Introduction to Filesharing Services
Download Folders
You can set where downloaded files are stored on your computer for Audio, Documents, Images,
Programs, Other, or Video.
LimeWire Store
You can decide how files purchased from the LimeWire Store are saved onto your computer. LimeWire
could create a folder structure with the name of the artist and, or the album, and various file name
possibilities (artist/album/title/track number, etc.).
Then when you use LimeWire to download "Connjur" by the artist "School of Seven Bells" through the
LimeWire Store (from the album "LimeWire Store + CMJ present CMJ08: 28 Years, 28 Tracks"), the file is
saved:
... \Store Purchased\School of Seven Bells\LimeWire Store + CMJ present CMJ08_ 28 Years, 28 Tracks\School
of Seven Bells - LimeWire Store + CMJ present CMJ08_ 28 Years, 28 Tracks - 01 - Connjur.mp3
iTunes
Transfers
Downloads
Uploads
The upload bandwidth is how much data you want to allow someone to download from you. Like
adjusting how wide a window is open to control how much air goes out, the greater you increase the
upload bandwidth, you give others more opportunity to download data. Older and, or slow Internet
connection computers might want to decrease the upload bandwidth to improve computer performance.
103
Introduction to Filesharing Services
Connection Speed
Setting your network connection speed is critical to allow fast searches and downloads from the P2P
Network.
A Broadband connection typically means you have a fast Internet connection. On the other hand, a Dial-
up connection is typically a slower connection where your modem makes a call through the telephone
lines into an Internet service provider (ISP).
System
File Associations
You can tell your computer to use LimeWire to open .magnet or .torrent files when using the Windows
operating system.
Here you can tell LimeWire to run when your computer starts. Also, you can set if you want to minimize
LimeWire to the System Tray when you hit X (the 'Close' button in the upper right of the program), or to
exit.
Bugs
Bug reports list areas in the code where a problem traveled and helps software developers fix mistakes.
Here you set if you want LimeWire to notify you about Beta updates. Beta versions of LimeWire are work-
in-progress releases of the software with the latest features and bug fixes. The goal of a beta release is
for a small sample of users to find bugs, or to report what they like or don't like. LimeWire uses the beta
feedback to improve the next wide release.
These settings are quite technical and difficult to explain to a broad audience without some confusion.
Therefore, since we expect only people already familiar with these options to make change here, we
won't document.
Firewall
Proxy
104
Introduction to Filesharing Services
Network Interface
Performance
BitTorrent
Filtering
Spam
Share
Sharing files is what makes the P2P Network. The more shares, the bigger the network. The bottom left
corner of LimeWire lists the number of files you are sharing:
My Library is the central location to manage files and folders. You can add folders to My Library using
Tools > Options, My Library.
Note: Once you add files or folders to My Library, the files aren't automatically shared. You can use the
Share Widget to select which files to share. Additionally, you can use the Share Widget to stop sharing a
file.
Here is a list of the videos category of what you are sharing with the P2P Network:
105
Introduction to Filesharing Services
Here is a thumbnail view of the images category of what you are sharing with the P2P Network:
Friends
If you are signed into Friends, you additionally see the friends icon ( ) and your list of friends.
106
Introduction to Filesharing Services
Then select either 'P2P Network' or a friend to see which files you are sharing:
A file is shared if the share icon is enabled. The share icon can either be:
You could for example, share a file with the P2P Network and not a friend. Here you are sharing a
Creative Commons audio file with the P2P Network but not with any friends:
Here you are sharing a video of you running your first marathon:
107
Introduction to Filesharing Services
Here you are sharing images. In the first case you are sharing with only the P2P Network and in the
second case you are sharing with both the P2P Network and a friend.
108
Introduction to Filesharing Services
Share Widget
The Share Widget lets you control if a file is shared with the P2P Network and, or with friends.
The P2P Network is a group of person to person users who create the Gnutella Network. When you are
searching the network, you are searching for files hosted by users like you on the P2P Network.
You can access the Share Widget through the file's share icon which can either be:
109
Introduction to Filesharing Services
Once you share a file, the share icon is enabled as shown for the subway statue file.
110
Introduction to Filesharing Services
Friends
When using the Friends feature, the Friend share icon appears near the file and means:
Note: the number lists the number of friends you are sharing with so it can grow beyond two.
When you click on either the P2P Network or Friends share icons, you get the Share Widget to manage
sharing with both the P2P Network and, or friends. Here, you are sharing an image with the P2P Network
and Abby, and haven't yet shared it with Dan:
LimeWire is by default installed at "C:\Program Files\LimeWire". In this folder, you find the
program "core files".
111
Introduction to Filesharing Services
The files containing the settings is found at "C:\Documents and Settings\ <USER>\Application
Data\LimeWire". (It's among these data you find what you want :-) )
In this folder you - among other files - find the following files of interest:
limewire.props
downloads.dat
version.props
library5.dat
fileurns.cache
limewire.props
The “limewire.props” file contains the “properties” of the system. There is a lot of good
information in this file, e.g.
RECENT_DOWNLOADS=
Shows the recent downloaded files and their paths
HARD_MAX_UPLOADS=
This entry is ONLY present, if the user has changed the number of “upload slots”. If the
entry is “0”, then sharing is disabled
UPLOAD_SPEED=
This entry is ONLY present, if the user has changed the uploadspeed
DIRECTORY_FOR_SAVING_FILES=
Contains the path to the folder used for saving downloaded files. This file will often contain
the files that automatically are shared
CLIENT_ID=
Contains a unique SHA1 value to identify the user
TOTAL_UPTIME=
Total uptime of the client in seconds
112
Introduction to Filesharing Services
LAST_SHUTDOWN_TIME=
UNIX time/date stamp
TOTAL_CONNECTION_TIME=
Total connectiontime to the network in miliseconds
LAST_UPDATE_TIMESTAMP=
UNIX time/date stamp
LAST_SHUTDOWN_TIME=
UNIX time/date stamp
113
Introduction to Filesharing Services
By default LimeWire only allows search and sharing of music-, video- and image files. To allow
search for other filetypes – click <Tools>-><Options>-><Security> - Unsafe Categories
If these settings are applied the “limewire.props” file is added the lines
DOCUMENT_SHARING_ENABLED=true
PROGRAMS_ALLOWED=true
114
Introduction to Filesharing Services
downloads.dat
Downloads.dat contains information on the current downloads. The file is rewritten constantly, so
there is a good possibility to find information in unallocated clusters, pagefile.sys etc.
To se what currently is being downloaded – look in the “Temp-folder” – the temporary files shows
there with name. An example is seen below:
The “T-5395563-“ is added in fornt of the filename here – “T” for temporary – and the number
sequence is the filesize in bytes.
The adding of the “prefix” does not indicate, that the temporary file has been played/viewed
Version. Props
5.1.3=true
Library5.dat
As shared files in Limewire v.5.x not are shared on “folder basis”, but on file level, the information
on which files are shared has to be stored somewhere – and in this case the information is stored
in the file “library5.dat” In the previous version the shared files where mentioned in “library.dat”.
¬í··sr··java.util.HashMap··ÚÁ÷`Ñ···F·
loadFactorI·
thresholdxp?@······w·········t··USER_EXTENSIONSsr··java.util.HashSetºD???¸·4···xpw·····
?@······xt··MANAGED_DIRECTORIESsq·~··w·····?@······sr··java.io.File·-¤E·
115
Introduction to Filesharing Services
EXCLUDE_FILESsq·~··w·····?@······xt··USER_REMOVEDsq·~··w····@?@······t··mnyt··xlst··xlsxt··docmt··
qdft··dott··dotmt··xlsmt··qdbt··xlsbt··dotxt··qsdt··xlamt··xltxt··bakt··qelt··qtxt··qift··datt··xltmt··flvt··
mbft··docxt··csvt··qphxt·
DO_NOT_MANAGEsq·~··w·····?@······xt·
As seen, there is a lot of “not human readable data” in the file. To interpret the data, you have to
look at in HEX mode. The data then looks like this:
AC ED 00 05 73 72 00 11 6A 61 76 61 2E 75 74 69 6C 2E 48 61 73 68 4D 61 70 05 07 DA C1 C3 16
60 D1 03 00 02 46 00 0A 6C 6F 61 64 46 61 63 74 6F 72 49 00 09 74 68 72 65 73 68 6F 6C 64 78 70
3F 40 00 00 00 00 00 0C 77 08 00 00 00 10 00 00 00 06 74 00 0F 55 5345 52 5F 45 58 54 45 4E 53
49 4F 4E 53 73 72 00 11 6A 61 76 61 2E 75 74 69 6C 2E 48 61 73 68 53 65 74 BA 44 85 95 96 B8 B7
34 03 00 00 78 70 77 0C 00 00 00 10 3F 40 00 00 00 00 00 00 78 74 00 13 4D 41 4E 41 47 45 44 5F
44 49 52 45 43 54 4F 52 49 45 53 73 71 00 7E 00 03 77 0C 00 00 00 10 3F 40 00 00 00 00 00 04 73
72 00 0C 6A 61 76 61 2E 69 6F 2E 46 69 6C 65 04 2D A4 45 0E 0D E4 FF 03 00 01 4C 00 04 70 61 74
68 74 00 12 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B 78 70 74 00 3A 43 3A 5C 44 6F
63 75 6D65 6E 74 73 20 61 6E 64 20 53 65 74 74 69 6E 67 73 5C 55 53 45 52 5C 4D 79 20 44 6F 63
75 6D 65 6E 74 73 5C 4C 69 6D 65 57 69 7265 5C 53 61 76 65 64 77 02 00 5C 78 73 71 00 7E 00 07
74 00 2B 43 3A 5C 44 6F 63 75 6D 65 6E 74 73 20 61 6E 64 20 53 65 74 74 69 6E 67 73 5C 55 53 45
52 5C 4D 79 20 44 6F 63 75 6D 65 6E 74 73 77 02 00 5C 78 73 71 00 7E 00 07 74 00 44 43 3A 5C 44
6F 63 75 6D 65 6E 74 73 20 61 6E 64 20 53 65 74 74 69 6E 67 73 5C 55 53 45 52 5C 4D 79 20 44 6F
63 75 6D 65 6E 74 73 5C 4C 69 6D 65 57 69 72 65 5C 53 74 6F 72 65 20 50 75 72 63 68 61 73 65 64
77 02 00 5C 78 73 71 00 7E 00 07 74 00 26 43 3A 5C 44 6F 63 75 6D 65 6E 74 73 20 61 6E 64 20 53
65 74 74 69 6E 67 73 5C 55 53 45 52 5C 44 65 73 6B 74 6F 70 77 02 00 5C 78 78 74 00 0D 45 58 43
4C 55 44 45 5F 46 49 4C 45 53 73 71 00 7E 00 03 77 0C 00 00 00 10 3F 40 00 00 00 00 00 00 78 74
00 0C 55 53 45 52 5F 52 45 4D 4F 56 45 44 73 71 00 7E 00 03 77 0C 00 00 00 40 3F 40 00 00 00 00
00 19 74 00 03 6D 6E 79 74 00 03 78 6C 73 74 00 04 78 6C 73 78 74 00 04 64 6F 63 6D 74 00 03 71
64 66 74 00 03 64 6F 74 74 00 04 64 6F 74 6D 74 00 04 78 6C 73 6D 74 00 03 71 64 62 74 00 04 78
6C 73 62 74 00 04 64 6F 74 78 74 00 03 71 73 64 74 00 04 78 6C 61 6D 74 00 04 78 6C 74 78 74 00
03 62 61 6B 74 00 03 71 65 6C 74 00 03 71 74 78 74 00 03 71 69 66 74 00 03 64 61 74 74 00 04 78
6C 74 6D 74 00 03 66 6C 76 74 00 03 6D 62 66 74 00 04 64 6F 63 78 74 00 03 63 73 76 74 00 03 71
116
Introduction to Filesharing Services
70 68 78 74 00 0D 44 4F 5F 4E 4F 54 5F 4D 41 4E 41 47 45 73 71 00 7E 00 03 77 0C 00 00 00 10 3F
40 00 00 00 00 00 00 78 74 00 0A 53 48 41 52 45 5F 44 41 54 41 73 71 00 7E 00 00 3F 40 00 00 00
00 00 0C 77 08 00 00 00 10 00 00 00 02 73 71 00 7E 00 07 74 00 56 43 3A 5C 44 6F 63 75 6D 65 6E
74 73 20 61 6E 64 20 53 65 74 74 69 6E 67 73 5C 55 53 45 52 5C 4D 79 20 44 6F 63 75 6D65 6E 74
73 5C 4C 69 6D 65 57 69 72 65 5C 53 61 76 65 64 5C 4D 61 64 6F 6E 6E 61 20 2D 20 4C 69 6B 65
20 41 20 50 72 61 79 65 72 2E 6D 70 33 77 02 00 5C 78 73 72 00 3D 63 6F 6D 2E 6C 69 6D 65 67
72 6F 75 70 2E 67 6E 75 74 65 6C 6C 61 2E 6C 69 62 72 61 72 79 2E 4C 69 62 72 61 72 79 46 69 6C
65 44 61 74 61 24 46 69 6C 65 50 72 6F 70 65 72 74 69 65 73 0A A5 D0 5E 43 67 AA AE 02 00 02
5A 00 08 67 6E 75 74 65 6C 6C 61 4C 00 07 66 72 69 65 6E 64 73 74 00 0F 4C 6A 61 76 61 2F 75 74
69 6C 2F 53 65 74 3B 78 70 01 70 73 71 00 7E 00 07 74 00 58 43 3A 5C 44 6F 63 75 6D 65 6E 74 73
20 61 6E 64 20 53 65 74 74 69 6E 67 73 5C 55 53 45 52 5C 4D 79 20 44 6F 63 75 6D 65 6E 74 73 5C
4C 69 6D 65 57 69 72 65 5C 53 61 76 65 64 5C 4D 65 74 61 6C 6C 69 63 61 20 2D 20 45 6E 74 65
72 20 53 61 6E 64 6D 61 6E 2E 6D 70 33 77 02 00 5C 78 73 71 00 7E 00 34 00 70 78 78
As seen, there is a lot of tata to interpret. In this “library5.dat” file, there is information on 2 files –
but only 1 of them are shared – how can you determine which files are shared.
When comparing 2 “library5.dat” files – one where files are shared, and one where the files have
been unshared, it shows, that the “sharing byte” is at the end of each entry
When looking at the picture below, you can see, that one file is hared (green byte) and one file is
unshared (red byte)
117
Introduction to Filesharing Services
As seen, the “header” for the sharing byte is not the same, and other variations can occur. The
GREP search (EnCase style GREP) below will extract the sharing state of the files within the
“library5.dat” file
(\x78\x70[\x00\x01])|(\x7E\x00.[\x00\x01])
The search hits will by the last byte show, whether the file is shared or not
00 : Unshared
01: Shared
To extract filename, path and share-byte use one of the following GREP-searches:
If the first GREP shows that all files are shared use this new GREP-search:
\x73\x71\x00\x7E\x00\x07\x74\x00.{0,255}(\x78\x70\x01)|(\x7E\x00.\x01)
NOTE: If the total string length of path and filename exceeds 255 characters no hits will be
returned. It is however possible to bookmark these files individually
If the first GREP shows that some files are unshared, you have to run the GREP above and the
following:
118
Introduction to Filesharing Services
\x73\x71\x00\x7E\x00\x07\x74\x00.{0,255}(\x78\x70\x00)|(\x7E\x00.\x00)
NOTE: If the total string length of path and filename exceeds 255 characters no hits will be
returned. It is however possible to bookmark these files individually
By running the 2 GREP’s separately, you can create 2 tables with these data for later comparison
with the entries in “fileurns.cache”
When files are deleted from the “library”, their entry in “library5.dat” is deleted. It is however
possible to search for deleted “library5.dat” files, by searching for the “footer” of the file. The
following GREP-search, will find the footer (including the share setting of the last file entry)
((\x78\x70[\x00\x01])|(\x7E\x00[\x30\x34][\x00\x01]))\x70\x78\x78
From hits on this search, you have to go backwards and save as much of the deleted file as
possible
HINT (EnCase): Export the found entries into a binary file, add the file to the case and use the
GREP-search that extracts the filename, paths and share-bit
As this file doesn’t contain any hash values, you need to compare the findings with entries from
“fileurns.cache”
Fileurns.cache
Fileurns.cache contains information on the files that are in the LimeWire “library”.
Each entry consists of Filename, storage path, LastModified date, SHA1_base32 hashvalue and
TigerTree_base32 hashvalue of the file
The files in “fileurns.cache” does not have to have been downloaded by LimeWire – they only have
to be in one of the folders, that are mentioned in the library. By default the “Documents” and the
“Desktop” (both with subfolders) are in the library (only certain filetypes – see picture below)
119
Introduction to Filesharing Services
This setting means, that if you download a file from eg. Internet Explorer, ad place it on the
desktop, the file will be mentioned in “fileurns.cache” – but you have to set the files as shared
manually.
This means that the bare presence of a fileentry in “fileurns.cache” is not an evidence of sharing –
but it’s an evidence of possession of the file.
When searching unallocated clusters for deleted “fileurns.cache” files”, it’s possible to find the
SHA1 or TTH hashvalues of the deleted files, and hereby prove the earlier possession of certain
files (If you have a database of illegal files, it’s possible to compare the hashvalues from the
database and the hashvalues from the case and hereby prove earlier possession of these files)
120
Introduction to Filesharing Services
If you open the “fileurns.cache” in a HEX-editor, an entry could look like the picture below. In this
picture, there are 2 entries. An entry starts with 73 (71 00)
”system entry”-
Note the ”70”
after the ”78” –
End Tag
”download entry”-
Note no ”70” after
the ”78” – End Tag
2B SHA1 URN
121
Introduction to Filesharing Services
34 TTH URN
73 Start of entry
7E Currently unknown
78 End of entry
How to extract filenames, paths, dates and SHA1_base32 value from “fileurns.cache”
When using EnCase the following GREP-search can extract the desired information *)
\x73\x71\x00\x7E.{0,8}\x77\x08.{8,8}\x74\x00.{0,255}\x78\x73\x71.{0,30}\x2B\x00\x29urn\:sha1\
:[A-Z0-9]{32,32}\x71
*) the GREP will return a string of max 255 carachters – see explanation later
Looking at one of the entries on the previous page, the search will find the following data:
122
Introduction to Filesharing Services
There is a flaw to this method. EnCase GREP only allows to search and return strings of maximum
255 carachters.
123
Introduction to Filesharing Services
When the strings get long, it’s often due too extremely long filenames or storage paths
124
Introduction to Filesharing Services
When you go through your search hits note the length of these (sort them on length to see which
ones exceed 255 characters) and manually bookmark these entries in their full length.
By using the above mentioned GREP searches, you should now have text documents containing
the search hits.
To compare these data, you can use Microsoft Access. Before comparison you need to “clean up
the data, and remove the “tag code”
This procedure is a little tricky, but as soon a direct parser is made for the files – this is a way to
get around the problem. To get the described procedures to work, you need to follow the naming
of the fields and tables (unless you already is an Acces Ace )
125
Introduction to Filesharing Services
126
Introduction to Filesharing Services
Click <Import>
You will now get the opportunity to import the data into the database.
127
Introduction to Filesharing Services
128
Introduction to Filesharing Services
Click <Next>
129
Introduction to Filesharing Services
In the next window you get the opportunity to name the single fields in the table. In Field1 you
rename it to “Path”
Click <Next>
130
Introduction to Filesharing Services
131
Introduction to Filesharing Services
Go to the main window and open the table and see the imported data. As you can see, there are
data, which needs to be removed
132
Introduction to Filesharing Services
Click <Import>
133
Introduction to Filesharing Services
Select <In a new table> and create a new table for the data Click <Next>
134
Introduction to Filesharing Services
135
Introduction to Filesharing Services
You have now imported the data into the new table.
To clean out some of the data use the queries shown below
136
Introduction to Filesharing Services
Click the arrow next to the “View button” and select <SQL View>
137
Introduction to Filesharing Services
Click the read Exclamation mark on the top menu to run the query
Select <Yes>
138
Introduction to Filesharing Services
You have now cleaned out most of the “clutter” in both fields – but you still need to remove some
data from the “Path” collum
139
Introduction to Filesharing Services
Click <Yes>
The “clutter data” has now been removed from the table.
You now need to repeat the process to clean out clutter from the “library5.dat” file.
140
Introduction to Filesharing Services
141
Introduction to Filesharing Services
Click the red exclamation mark in the menu and run the query
Click <Yes>
142
Introduction to Filesharing Services
Click <Yes>
143
Introduction to Filesharing Services
You have to create a relationship between the two tables. The data you want to “match” is the
“Path” column in both tables. You create the relationship by selecting the “Path” field from one
column and drag it on to the “Path” field in the other column. The relationship is created, and is
shown by a line between the two fields
From the “Cleaned_data” you select both fields and drag them on to the “Field” field. You have
now created the query. Click the red exclamation mark and run the query. You will now get a
result like below.
144
Introduction to Filesharing Services
In this query you have now established the connection between the data in “fileurns.cache” and
“library5.dat” and shown what files are shared (If you had chosen to only select files that had the
share bit set to sharing)
To prove the sharing of these files is not 100% possible/sure. This relys on the fact, that the user
previously could have changed his “number of uploads at once” to “0”. As mentioned under
“limewire.props” this will result in the creation of the line “HARD_MAX_UPLOADS=0”. It’s possible
to make a GREP search for this line. If you don’t get any hits on this search, it’s quite possible, that
the sharing not has been disabled by turning down the number of uploads – but you can not be
absolutely sure (it depends on the situation, amount of data, size of unallocated clusters etc). The
presence of SHA1 values in “fileurns.cache” entries from unallocated clusters will though
constitute the evidence of, that this particular file previously has been in the “library” and there
for in possession of the user
As the development of clients is ever growing, this is only a “snapshot” in time of what is possible
to find. Some information might not be present in this version, but will be in the next.
The future examination of clients will go on, and all my discoveries will be published at
www.filseshareforensics.org. Join, learn and contribute with your own discoveries. Remember – If
we work together our knowledge increases – and the amount of time we have to use on an
investigation decreases – It’s a real win-win-situation
Søren Christensen
145