<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>g3gg0.de &#187; programming</title>
	<atom:link href="http://www.g3gg0.de/wordpress/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.g3gg0.de/wordpress</link>
	<description>g3gg0.de blog</description>
	<lastBuildDate>Mon, 05 Apr 2010 22:18:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[CEntrilo] no support for ventrilo v3.0 for now</title>
		<link>http://www.g3gg0.de/wordpress/programming/centrilo-no-support-for-ventrilo-v30-for-now/</link>
		<comments>http://www.g3gg0.de/wordpress/programming/centrilo-no-support-for-ventrilo-v30-for-now/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 20:58:55 +0000</pubDate>
		<dc:creator>geggo</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[centrilo]]></category>
		<category><![CDATA[ventrilo]]></category>

		<guid isPermaLink="false">http://www.g3gg0.de/wordpress/?p=26</guid>
		<description><![CDATA[hi again.
just want to let you know that i will not support ventrilo v3.0.
the reason is, the ventrilo guys are authenticating the server against some of their servers.
just have a look at port 6100 when you start ventrilo&#8230;
as stated on: http://ventrilo.com/forums/showthread.php?t=23257
they require you to let the client authenticate the server.
if you are behind a firewall, [...]]]></description>
			<content:encoded><![CDATA[<p>hi again.</p>
<p>just want to let you know that i will not support ventrilo v3.0.<br />
the reason is, the ventrilo guys are authenticating the server against some of their servers.<br />
just have a look at port 6100 when you start ventrilo&#8230;</p>
<p>as stated on: http://ventrilo.com/forums/showthread.php?t=23257<br />
they require you to let the client authenticate the server.<br />
if you are behind a firewall, so u&#8217;re fucked.</p>
<ul>
<li>server calculates some seed (?) and sends this to the client (UDP)</li>
<li>client contacts flagship-servers and gets some other token (UDP)</li>
<li>client calculates encryption keys from this</li>
<li>server sends 0&#215;34 command during TCP-handshake</li>
<li>client receives 0&#215;34 command</li>
<li>server modifies encryption lookup tables using the keys from above</li>
<li>client modifies encryption lookup tables using the keys from above</li>
<li>both communicate with modified tables now</li>
</ul>
<p>i hate that &#8220;we want control everything&#8221;-way everyone goes.</p>
<p>well, i was able to let the win32 client authenticate my server and then use that authentication token to decode the protocol without any problems.<br />
that token seems just to change when the server is restarted &#8211; but neither i want to make a dumper for that token nor do i want to re-implement their authentication procedure.<br />
maybe i&#8217;ll find another way like bruteforcing the encryption while the server sends pings and information blocks, but i dont think its the right way.</p>
<p>P.S.: these guys really suck!</p>
<p> </p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-8270618232374031";
google_ad_slot = "6057203299";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.g3gg0.de/wordpress/programming/centrilo-no-support-for-ventrilo-v30-for-now/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[CEntrilo] ventrilo 3.0 issues</title>
		<link>http://www.g3gg0.de/wordpress/ventrilo/centrilo-ventrilo-30-issues/</link>
		<comments>http://www.g3gg0.de/wordpress/ventrilo/centrilo-ventrilo-30-issues/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 14:14:57 +0000</pubDate>
		<dc:creator>geggo</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[ventrilo]]></category>
		<category><![CDATA[ventrilo centrilo]]></category>

		<guid isPermaLink="false">http://www.g3gg0.de/wordpress/archives/25</guid>
		<description><![CDATA[well, first i want to thank the guy i wrote about there:
http://www.g3gg0.de/wordpress/archives/16
&#160;
 more than half a year later he contacted me and sent twice the money he promised before.
obviously he really was busy for long time ;)
thanks Mr. S.C. ;)
okay now about Ventrilo v3.0.x:
i had a look at the protocol. the connection setup is nearly [...]]]></description>
			<content:encoded><![CDATA[<p align="left">well, first i want to thank the guy i wrote about there:</p>
<blockquote><p>http://www.g3gg0.de/wordpress/archives/16</p></blockquote>
<p align="left">&nbsp;</p>
<p align="left"> more than half a year later he contacted me and sent twice the money he promised before.<br />
obviously he really was busy for long time ;)<br />
thanks Mr. S.C. ;)<br />
okay now about Ventrilo v3.0.x:</p>
<p>i had a look at the protocol. the connection setup is nearly the same. but right after the sever sends the command 0&#215;34, both client and server modify their encryption tables. This results in totally wrong en/decryption.</p>
<p>see <a href="http://g3gg0.de/projects/CEntrilo/modify_crypt_buffer.html" target="_blank">http://g3gg0.de/projects/CEntrilo/modify_crypt_buffer.html</a><br />
and <a href="http://g3gg0.de/projects/CEntrilo/modify_crypt_buffer_c.html" target="_blank">http://g3gg0.de/projects/CEntrilo/modify_crypt_buffer_c.html</a><br />
its from Ventrilo Server for Linux v3.0.1</p>
<p>i&#8217;m not exactly sure what <strong>sense </strong>this change makes. it&#8217;s re-allocating the buffer with a minimum size of 0&#215;40, fills it up with [length]+pos byte values and adds up the old values.<br />
that looks like some weird try to prevent another reversing?!</p>
<p>anyone an idea whats the sense of this code?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.g3gg0.de/wordpress/ventrilo/centrilo-ventrilo-30-issues/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[ARMada] Big fat update!</title>
		<link>http://www.g3gg0.de/wordpress/blog/armada-big-fat-update/</link>
		<comments>http://www.g3gg0.de/wordpress/blog/armada-big-fat-update/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 23:41:48 +0000</pubDate>
		<dc:creator>geggo</dc:creator>
				<category><![CDATA[ARM]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.g3gg0.de/wordpress/archives/24</guid>
		<description><![CDATA[ yay&#8230;
i had some free minutes and wanted to catch up some changes i always wanted to make.
and since a friend was hacking around with 32bit ARM opcodes using stupid
&#8220;.dd E1234567&#8243;-opcodes, i knew its time to fix this. :)
it took some hmm 10 hours to implement nearly(!) the whole ARM32 instruction set.
now you can code [...]]]></description>
			<content:encoded><![CDATA[<p> yay&#8230;<br />
i had some free minutes and wanted to catch up some changes i always wanted to make.<br />
and since a friend was hacking around with 32bit ARM opcodes using stupid<br />
&#8220;.dd E1234567&#8243;-opcodes, i knew its time to fix this. :)</p>
<p>it took some hmm 10 hours to implement nearly(!) the whole ARM32 instruction set.<br />
now you can code like this:</p>
<blockquote><p>.sub useless<br />
.org 0xDEAD1000<br />
.inj 0&#215;00001000<br />
.imp some_call 0xDEAD0100<br />
.code 32</p>
<p>MOVCSS R0, 0xDE000000<br />
@loop:<br />
ADDCS R0, R0, 0&#215;00AD0000<br />
TST R0, R0 LSR 2<br />
BEQ @loop<br />
BL @some_call</p>
<p>.end</p></blockquote>
<p>this example would  inject the generated ARM32-code at offset 0&#215;1000 into the loaded file,<br />
doing some nonsense-operations and after that it will call the function &#8217;some_call&#8217; at address 0xDEAD0100.<br />
since the code is told to be at 0xDEAD1000 (the &#8216;.org 0xDEAD1000&#8242;), the BL will automatically<br />
get calculated to jump about 0&#215;0E00 bytes backwards, where the function &#8217;some_call&#8217; is said to be.</p>
<p>now its not just useful for hacking firmwares, but also very good for crack..erh customizing e.g. symbian apps.</p>
<p>just one note&#8230;<br />
ARMada sometimes crashes when typing too long. i dont know why &#8211; that happens during the GUI update,<br />
but i really cannot figure out why. but simply use a notepad to code in a clean style, then copy paste it into ARMada ;)<br />
i will try to fix in an upcoming release in which i will also include the last two missing opcodes (coprocessor data and register transfers)</p>
<p>to download, click Projects-&gt;ARMada</p>
]]></content:encoded>
			<wfw:commentRss>http://www.g3gg0.de/wordpress/blog/armada-big-fat-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[usb_rx] Screenshot</title>
		<link>http://www.g3gg0.de/wordpress/usb/usb_rx-screenshot/</link>
		<comments>http://www.g3gg0.de/wordpress/usb/usb_rx-screenshot/#comments</comments>
		<pubDate>Fri, 28 Sep 2007 15:10:55 +0000</pubDate>
		<dc:creator>geggo</dc:creator>
				<category><![CDATA[USB]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[digital radio]]></category>
		<category><![CDATA[DRM]]></category>
		<category><![CDATA[FFT]]></category>
		<category><![CDATA[radio]]></category>
		<category><![CDATA[screenshot]]></category>

		<guid isPermaLink="false">http://www.g3gg0.de/wordpress/archives/20</guid>
		<description><![CDATA[hi,
here some screenshot of the device in action:

]]></description>
			<content:encoded><![CDATA[<p>hi,</p>
<p>here some screenshot of the device in action:</p>
<p><a href="http://www.g3gg0.de/wordpress/wp-content/uploads/2007/09/usb_rx_shot.png" title="USB-RX device in action"><img src="http://www.g3gg0.de/wordpress/wp-content/uploads/2007/09/usb_rx_shot.thumbnail.png" alt="USB-RX device in action" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.g3gg0.de/wordpress/usb/usb_rx-screenshot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[usb_rx] Current Project</title>
		<link>http://www.g3gg0.de/wordpress/usb/usb_rx-current-project/</link>
		<comments>http://www.g3gg0.de/wordpress/usb/usb_rx-current-project/#comments</comments>
		<pubDate>Thu, 27 Sep 2007 14:18:59 +0000</pubDate>
		<dc:creator>geggo</dc:creator>
				<category><![CDATA[USB]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[CY7C68013A]]></category>
		<category><![CDATA[Cypress]]></category>
		<category><![CDATA[SDCC]]></category>

		<guid isPermaLink="false">http://www.g3gg0.de/wordpress/archives/17</guid>
		<description><![CDATA[well,
i didnt post much lately.
this is because im working on a little project for a Cypress CY7C68013A. thats a USB2.0 chip with a 8051 microcontroller for setup and firmware.
really an interesting project :)
won&#8217;t tell you exactly what its for, but its used to stream RF radio data with speeds up to 32MB/s to a Win32 [...]]]></description>
			<content:encoded><![CDATA[<p>well,<br />
i didnt post much lately.<br />
this is because im working on a little project for a Cypress CY7C68013A. thats a USB2.0 chip with a 8051 microcontroller for setup and firmware.</p>
<p>really an interesting project :)<br />
won&#8217;t tell you exactly what its for, but its used to stream RF radio data with speeds up to 32MB/s to a Win32 program used for recoring and decoding etc.</p>
<p>i&#8217;m using Microsoft Visual C++ together with SDCC (Small Devices C Compiler) to compile the firmware for the Cypress chip. the used Win32 driver is the standard Cypress driver for those chips, but interfaced with a DLL i wrote.</p>
<p>i&#8217;m using shared memory for distributing data to one or more applications which may preprocess  the data stream they get. they redistribute it again over shared memory areas. made also TCP Client/Server tools so that whole thing works via network too.</p>
<p>that project looks quite mature now.<br />
at least everything is working as intended ;)</p>
<p><a href="http://www.g3gg0.de/wordpress/wp-content/uploads/2007/09/usb_rx.png" title="USB Receiver"><img src="http://www.g3gg0.de/wordpress/wp-content/uploads/2007/09/usb_rx.thumbnail.png" alt="USB Receiver" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.g3gg0.de/wordpress/usb/usb_rx-current-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
