<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: The eXeem thread</title>
	<atom:link href="http://www.p2pnet.net/story/3641/feed" rel="self" type="application/rss+xml" />
	<link>http://www.p2pnet.net/story/3641</link>
	<description>p2pnet.net - reader powered</description>
	<lastBuildDate>Mon, 23 Nov 2009 16:23:46 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Reader's Write</title>
		<link>http://www.p2pnet.net/story/3641/comment-page-1#comment-38297</link>
		<dc:creator>Reader's Write</dc:creator>
		<pubDate>Mon, 17 Apr 2006 06:59:06 +0000</pubDate>
		<guid isPermaLink="false">#comment-38297</guid>
		<description></description>
		<content:encoded><![CDATA[]]></content:encoded>
	</item>
	<item>
		<title>By: Reader's Write</title>
		<link>http://www.p2pnet.net/story/3641/comment-page-1#comment-10650</link>
		<dc:creator>Reader's Write</dc:creator>
		<pubDate>Thu, 03 Mar 2005 11:11:15 +0000</pubDate>
		<guid isPermaLink="false">#comment-10650</guid>
		<description>After reading this piece I am about to delete Exeem...thanks</description>
		<content:encoded><![CDATA[<p>After reading this piece I am about to delete Exeem&#8230;thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reader's Write</title>
		<link>http://www.p2pnet.net/story/3641/comment-page-1#comment-8948</link>
		<dc:creator>Reader's Write</dc:creator>
		<pubDate>Tue, 25 Jan 2005 18:39:05 +0000</pubDate>
		<guid isPermaLink="false">#comment-8948</guid>
		<description>Is  dijjer.org  an decentralised Bittorrent ?</description>
		<content:encoded><![CDATA[<p>Is  dijjer.org  an decentralised Bittorrent ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reader's Write</title>
		<link>http://www.p2pnet.net/story/3641/comment-page-1#comment-8912</link>
		<dc:creator>Reader's Write</dc:creator>
		<pubDate>Mon, 24 Jan 2005 22:51:10 +0000</pubDate>
		<guid isPermaLink="false">#comment-8912</guid>
		<description>There is already tools to create a distributed bittorent network that are open source so why cant we as a community use these and maybe create a simmilar GUI of the Exceem client for the newbs.

Kenois (http://kenosis.sourceforge.net/) is a project based on Kademlia and already has a modified bittorent client running on it so kenosis maybe used for the engine for this kind of project .This would make the client cross paltform and open source and probably gain the respect of the file sharing community if done in the correct manner and could be a good launching point for a up and coming developer.

Bram Cohen works  for Valve where he works on Steam that goes unpubliced and it is said Bittorent was his resume&#039; .Bram also makes indusrtry appaerances as a guest speaker on a regualr basis .

Heres a interseting post from /. regarding reverse engineering the current exceem protocol done with a bit of packet sniffing and hex editing .

&quot;A look at eXeem.exe and client.dll show that eXeem uses the C++ Boost library, as well as the Crypto++ library. It also includes cydoor, and references CyberGold.

As far as the eXeem protocol, when eXeem first tries to connect to the network (by doing a search, refreshing for new files or whatnot), it bootstraps. It does a lookup on 4 DNS names, all of which point to the same IP address. The eXeem client program (TCP) connects to port 1026 of this host and sends an eXeem protocol packet.

The eXeem protocol packet from client to server or SuperNode is of the following format - a 0, followed by a one byte function code, followed by an optional payload, filed by 8 seemingly random generated bytes which are suspected to be a Blowfish key (thus the Crypto++ calls in eXeem). In the case of the bootstrap, there is no optional payload and the function code is 6. Thus the packet sent is 0-6-X-X-X-X-X-X-X-X, with the 8 bytes being what is guessed to be a randomly generated Blowfish key. The bootstrap server responds with a number of Superpeers. It is thought that the response is encrypted with the possible Blowfish key sent by the client.

Another eXeem packet is new files refresh. When one does this, eXeem connects to the roughly 20 SuperPeers it knows (which should be in your registry), usually on port 4000 (although 4001 has been seen). The function code is 8. As I said, the last 8 bytes of the packet vary, so only the first two bytes will always match in this example of a search packet (in hex): 00 08 f8 a6 16 39 4a 0a 96 eb.

Search packets have a function code of 22 (in hex, 16). They always carry at least 16 bytes of the optional payload. The first 8 bytes of the optional payload are thought to be search parameters (language, categories, file size etc.) The end of the optional payload is thought to be the actual word(s) being searched. For names 8 bytes and under, the end of the optional payload is 8 bytes, for names 9-16 bytes the optional payload is 16 bytes, and so forth, in increments of 8 bytes. The search is thought to not be encrypted by the possible 8 byte key at the end of the packet. Thus a search may look like this (in hex): 00-16-8e-94-58-40-af-c2-08-39-2a-55-16-53-c4-0a-75 -4b.

There are other parts of the protocol as well which won&#039;t be gone into here...request for file comments which is function code 25 (19 in hex) from client to superpeer, and the function code response code varying on what the answer is and so forth.

With Crypto++ in use, which possibly calls Blowfish, the protocol seems to be encrypted (why else would they include Crypto++?), and whether it is easy or difficult to figure out is unknown. It depends on whether people who know crypto, specifically Crypto++ and possibly Blowfish, and/or who are good at loading these programs into hex editors or assemblers or whatever and figuring them out. Winedbg doesn&#039;t seem to be cutting it.

By the way, eXeem lite&#039;s web page lists it&#039;s IRC channel. As usual, most of the people on it are clueless people trying to get eXeem lite working, but people who have been examining eXeem and understand it someone pop in from time to time. &quot;

</description>
		<content:encoded><![CDATA[<p>There is already tools to create a distributed bittorent network that are open source so why cant we as a community use these and maybe create a simmilar GUI of the Exceem client for the newbs.</p>
<p>Kenois (<a href="http://kenosis.sourceforge.net/" rel="nofollow">http://kenosis.sourceforge.net/</a>) is a project based on Kademlia and already has a modified bittorent client running on it so kenosis maybe used for the engine for this kind of project .This would make the client cross paltform and open source and probably gain the respect of the file sharing community if done in the correct manner and could be a good launching point for a up and coming developer.</p>
<p>Bram Cohen works  for Valve where he works on Steam that goes unpubliced and it is said Bittorent was his resume&#8217; .Bram also makes indusrtry appaerances as a guest speaker on a regualr basis .</p>
<p>Heres a interseting post from /. regarding reverse engineering the current exceem protocol done with a bit of packet sniffing and hex editing .</p>
<p>&#8220;A look at eXeem.exe and client.dll show that eXeem uses the C++ Boost library, as well as the Crypto++ library. It also includes cydoor, and references CyberGold.</p>
<p>As far as the eXeem protocol, when eXeem first tries to connect to the network (by doing a search, refreshing for new files or whatnot), it bootstraps. It does a lookup on 4 DNS names, all of which point to the same IP address. The eXeem client program (TCP) connects to port 1026 of this host and sends an eXeem protocol packet.</p>
<p>The eXeem protocol packet from client to server or SuperNode is of the following format &#8211; a 0, followed by a one byte function code, followed by an optional payload, filed by 8 seemingly random generated bytes which are suspected to be a Blowfish key (thus the Crypto++ calls in eXeem). In the case of the bootstrap, there is no optional payload and the function code is 6. Thus the packet sent is 0-6-X-X-X-X-X-X-X-X, with the 8 bytes being what is guessed to be a randomly generated Blowfish key. The bootstrap server responds with a number of Superpeers. It is thought that the response is encrypted with the possible Blowfish key sent by the client.</p>
<p>Another eXeem packet is new files refresh. When one does this, eXeem connects to the roughly 20 SuperPeers it knows (which should be in your registry), usually on port 4000 (although 4001 has been seen). The function code is 8. As I said, the last 8 bytes of the packet vary, so only the first two bytes will always match in this example of a search packet (in hex): 00 08 f8 a6 16 39 4a 0a 96 eb.</p>
<p>Search packets have a function code of 22 (in hex, 16). They always carry at least 16 bytes of the optional payload. The first 8 bytes of the optional payload are thought to be search parameters (language, categories, file size etc.) The end of the optional payload is thought to be the actual word(s) being searched. For names 8 bytes and under, the end of the optional payload is 8 bytes, for names 9-16 bytes the optional payload is 16 bytes, and so forth, in increments of 8 bytes. The search is thought to not be encrypted by the possible 8 byte key at the end of the packet. Thus a search may look like this (in hex): 00-16-8e-94-58-40-af-c2-08-39-2a-55-16-53-c4-0a-75 -4b.</p>
<p>There are other parts of the protocol as well which won&#8217;t be gone into here&#8230;request for file comments which is function code 25 (19 in hex) from client to superpeer, and the function code response code varying on what the answer is and so forth.</p>
<p>With Crypto++ in use, which possibly calls Blowfish, the protocol seems to be encrypted (why else would they include Crypto++?), and whether it is easy or difficult to figure out is unknown. It depends on whether people who know crypto, specifically Crypto++ and possibly Blowfish, and/or who are good at loading these programs into hex editors or assemblers or whatever and figuring them out. Winedbg doesn&#8217;t seem to be cutting it.</p>
<p>By the way, eXeem lite&#8217;s web page lists it&#8217;s IRC channel. As usual, most of the people on it are clueless people trying to get eXeem lite working, but people who have been examining eXeem and understand it someone pop in from time to time. &#8220;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
