<?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>RCE Cafe</title>
	<atom:link href="http://rcecafe.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://rcecafe.net</link>
	<description>Technical insights and opinions by a Developer / Reverse Engineer.</description>
	<lastBuildDate>Fri, 13 Aug 2010 17:32:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>CFF Explorer 7.9 &amp; Secunia</title>
		<link>http://rcecafe.net/?p=159</link>
		<comments>http://rcecafe.net/?p=159#comments</comments>
		<pubDate>Fri, 13 Aug 2010 17:32:04 +0000</pubDate>
		<dc:creator>Daniel Pistelli</dc:creator>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>

		<guid isPermaLink="false">http://rcecafe.net/?p=159</guid>
		<description><![CDATA[Today I&#8217;ve received a Secunia report email about a buffer overflow vulnerability in the CFF Explorer. I was quite amused =). I mean, I usually get emails sent me by users about bugs in the CFF, never got an email by Secunia before. However, it&#8217;s always good to get bug reports. The bug itself was [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;ve received a Secunia report email about a buffer overflow vulnerability in the CFF Explorer. I was quite amused =).  I mean, I usually get emails sent me by users about bugs in the CFF, never got an email by Secunia before.</p>
<p>However, it&#8217;s always good to get bug reports. The bug itself was related to a string overflow in the resource editor. I put string safe functions quite some time ago in the old kernel of the CFF, but apparently I missed one.</p>
<p>So, since I had already the project open to fix this bug, I also added support for .NET unoptimized metadata streams. Which is the most important new feature in this release.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcecafe.net/?feed=rss2&amp;p=159</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IDAQ: The result of 7 months at Hex-Rays</title>
		<link>http://rcecafe.net/?p=151</link>
		<comments>http://rcecafe.net/?p=151#comments</comments>
		<pubDate>Mon, 02 Aug 2010 21:00:49 +0000</pubDate>
		<dc:creator>Daniel Pistelli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcecafe.net/?p=151</guid>
		<description><![CDATA[It is not a mistery that Hex-Rays is preparing for the IDA 6.0 beta program. In this post I&#8217;ll write a bit about my personal, behind the scenes, experience with the project. It took me 7 months to port/rewrite the old VCL GUI of IDA Pro. The new GUI, as it had been already anticipated [...]]]></description>
			<content:encoded><![CDATA[<p>It is not a mistery that Hex-Rays is preparing for the IDA 6.0 beta program. In this post I&#8217;ll write a bit about my personal, behind the scenes, experience with the project.</p>
<p>It took me 7 months to port/rewrite the old VCL GUI of IDA Pro. The new GUI, as it had been already anticipated months ago <a href="http://hexblog.com/2010/03/preview_of_the_next_generation.html">on the official blog</a>, is Qt based.</p>
<p>The main difficulties I have faced were mostly not of technical nature, although it was a complex task, but psychological ones. It took a lot of patience and it was very difficult every morning to go to work and to have to see an unfinished product with the old GUI reminding myself how much was still to do.</p>
<p>What follows is a rough roadmap of my work, I&#8217;ll mention only the milestones and not the hundreds of smaller parts. It has to be noted that at least for what concerns the docking I wrote most of it before joining Hex-Rays to accelerate the development of the actual GUI once in the company. While Qt has a docking system, it is not as advanced as the one used by the VCL GUI, which is a commercial control. So, I wrote a docking system myself in order to offer all the advanced features the old GUI had.</p>
<p><strong>January</strong>: first impact with the code. Took me a week to grasp the initial concepts to start. Basically at the end of the month I could display disassembly and graph mode of a file. Also, hints, graph overview and disassembly arrows were implemented.</p>
<p><strong>February</strong>: implemented chooser and forms (which I actually completely changed internally, that&#8217;s why I had to improve them again later on to obtain better backwards compatibility).</p>
<p><strong>March</strong>: marathon month. Implemented every day one or more dialogs/views such as: hex view, cpu regs view, enum view, struct view, options, navigation band, colors, etc. etc. More than 30, some very easy, some advanced controls such as the hex view or the cpu regs view.</p>
<p><strong>April</strong>: two weeks to finish the docking and smaller things.</p>
<p><strong>May</strong>: two weeks to implement the desktop part (the ability to save/restore layouts and options) and smaller things.</p>
<p><strong>June</strong>: fixes, help system and improved the forms implementation.</p>
<p><strong>July</strong>: Hundreds of fixes for the beta.</p>
<p>While there will be still bugs to fix, I consider the project as completed and I wrote this post to close a chapter for myself.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcecafe.net/?feed=rss2&amp;p=151</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rebel.NET &amp; Phoenix Protector Update</title>
		<link>http://rcecafe.net/?p=147</link>
		<comments>http://rcecafe.net/?p=147#comments</comments>
		<pubDate>Wed, 07 Jul 2010 11:08:37 +0000</pubDate>
		<dc:creator>Daniel Pistelli</dc:creator>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[Phoenix Protector]]></category>
		<category><![CDATA[Rebel.NET]]></category>

		<guid isPermaLink="false">http://rcecafe.net/?p=147</guid>
		<description><![CDATA[Both suffered from a bug where they&#8217;d fail in case the assembly to reproduce/protect didn&#8217;t have a .rsrc section. Since at the time I wrote the code all .NET assemblies had a .rsrc section, I took it for granted and didn&#8217;t include specific checks.]]></description>
			<content:encoded><![CDATA[<p>Both suffered from a bug where they&#8217;d fail in case the assembly to reproduce/protect didn&#8217;t have a .rsrc section. Since at the time I wrote the code all .NET assemblies had a .rsrc section, I took it for granted and didn&#8217;t include specific checks.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcecafe.net/?feed=rss2&amp;p=147</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PDF Insider Demo</title>
		<link>http://rcecafe.net/?p=142</link>
		<comments>http://rcecafe.net/?p=142#comments</comments>
		<pubDate>Tue, 25 May 2010 00:58:16 +0000</pubDate>
		<dc:creator>Daniel Pistelli</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Reversing]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[PDF Insider]]></category>

		<guid isPermaLink="false">http://rcecafe.net/?p=142</guid>
		<description><![CDATA[A small, on the fly video presentation of my new utility. The emphasis of this application stands on parsing correctly the PDF format, if it can&#8217;t because the PDF is malformed (very common among malicious PDFs), then it provides the tools to read the objects nonetheless. I tested it on many PDF (also malicious ones) [...]]]></description>
			<content:encoded><![CDATA[<p>A small, on the fly video presentation of my new utility.</p>
<p><center><br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/JkAo5N-nNu4&#038;hl=it_IT&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/JkAo5N-nNu4&#038;hl=it_IT&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br />
</center></p>
<p>The emphasis of this application stands on parsing correctly the PDF format, if it can&#8217;t because the PDF is malformed (very common among malicious PDFs), then it provides the tools to read the objects nonetheless. I tested it on many PDF (also malicious ones) and it handles all of them very well.</p>
<p>As I have written this application in five days, there are still some small features I&#8217;d like to add, but most of the code is already there. I started the development of it quite some time ago on a weekend while I was sick at home and have found only now the time to finish it.</p>
<p>I have no plans about how and when to release it yet, but some friends of mine will start using it in real world scenarios.</p>
<p>P.S. Thanks to Alessandro Gario for the throughout testing.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcecafe.net/?feed=rss2&amp;p=142</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>CFF &amp; Rebel.NET Update</title>
		<link>http://rcecafe.net/?p=138</link>
		<comments>http://rcecafe.net/?p=138#comments</comments>
		<pubDate>Thu, 01 Apr 2010 20:58:26 +0000</pubDate>
		<dc:creator>Daniel Pistelli</dc:creator>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<category><![CDATA[Rebel.NET]]></category>

		<guid isPermaLink="false">http://rcecafe.net/?p=138</guid>
		<description><![CDATA[Fixed some bugs in both applications. In particular, made some part of the CFF Explorer more robust. The current CFF Explorer still contains the core I wrote when I was 19yo. The newer kernel, which I don&#8217;t know if I&#8217;ll ever get the time to finish, doesn&#8217;t have the same problems. Anyway, this should improve [...]]]></description>
			<content:encoded><![CDATA[<p>Fixed some bugs in both applications.<br />
In particular, made some part of the CFF Explorer more robust. The current CFF Explorer still contains the core I wrote when I was 19yo. The newer kernel, which I don&#8217;t know if I&#8217;ll ever get the time to finish, doesn&#8217;t have the same problems. Anyway, this should improve rebuilding, resources importing and displaying of .NET table elements with extremely long names (more than 4096 characters).</p>
]]></content:encoded>
			<wfw:commentRss>http://rcecafe.net/?feed=rss2&amp;p=138</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first month at Hex-Rays</title>
		<link>http://rcecafe.net/?p=136</link>
		<comments>http://rcecafe.net/?p=136#comments</comments>
		<pubDate>Sun, 07 Feb 2010 19:04:15 +0000</pubDate>
		<dc:creator>Daniel Pistelli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcecafe.net/?p=136</guid>
		<description><![CDATA[At the beginning of September I started looking for a job. I actually wanted a job to work from remote. Despite the fact that I got several offers, all of them required relocation. So in the end I saw the Hex-Rays hiring announcement on Woodmann and sent out my résumé. From all the relocations, Belgium [...]]]></description>
			<content:encoded><![CDATA[<p>At the beginning of September I started looking for a job. I actually wanted a job to work from remote. Despite the fact that I got several offers, all of them required relocation. So in the end I saw the Hex-Rays hiring announcement on Woodmann and sent out my résumé. From all the relocations, Belgium was the nearest and best connected one and of course it&#8217;s a very good job.</p>
<p>The first month at Hex-Rays has been tough on all fronts. Mainly because of the relocation and getting used to work in an office. Now work is proceeding well, but the rest is still difficult. Having one day of sun here in Belgium would help, by the way.</p>
<p>Musil wrote in his life&#8217;s work that modern man is spending his life always increasing his level of expertise, remaining with a millimeter of specialistic knowledge which only few people in the world could really understand. The others, talking about his millimeter would only say stupid things and he himself can&#8217;t move from his own millimeter without running into the same problem.<br />
I think I found my millimeter in the IT world. However, I can&#8217;t stand still on it. I always keep moving with exasperated restlessness.</p>
<p>I have written in the last 2 years at least 5 programs of bigger size which are almost complete, but as I&#8217;m now working at Hex-Rays they will have to wait. When I was writing mostly software on my own I did it almost entirely to be active in something. Now that I&#8217;m working on IDA every day I feel that my need of being active is fulfilled and I don&#8217;t feel the need to write more code when I&#8217;m at home. Instead, I feel the need of art.</p>
<p>Why haven&#8217;t I tried producing art instead of programming already? Because I have always been capable of judging my own work objectively and I know when the time is not right.</p>
<p>What&#8217;s the difference between programming and art? Both need experience. The difference is that one can build one&#8217;s technical experience alone in one&#8217;s room, without the help of events, social interaction, etc. In a technical field it is possible to make the time needed for experience advance faster. Viceversa, in one&#8217;s reflections about life one has to actually follow the time of his own life.</p>
<p>I feel that something is changing about that.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcecafe.net/?feed=rss2&amp;p=136</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Busy &amp; Qt 4.6</title>
		<link>http://rcecafe.net/?p=132</link>
		<comments>http://rcecafe.net/?p=132#comments</comments>
		<pubDate>Sun, 13 Dec 2009 16:28:49 +0000</pubDate>
		<dc:creator>Daniel Pistelli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcecafe.net/?p=132</guid>
		<description><![CDATA[I apologize if in the last time I couldn&#8217;t answer to emails without many days of delay, but I&#8217;m incredibly busy in my real life. There is some important news I can&#8217;t yet talk about but will soon. Also, yesterday the new Qt 4.6 has come out. For Windows developers good news: the sdk come [...]]]></description>
			<content:encoded><![CDATA[<p>I apologize if in the last time I couldn&#8217;t answer to emails without many days of delay, but I&#8217;m incredibly busy in my real life.<br />
There is some important news I can&#8217;t yet talk about but will soon.</p>
<p>Also, yesterday the new Qt 4.6 has come out. For Windows developers good news: the sdk come with gcc 4.4 with patches for phonon, in case you don&#8217;t want to use Visual Studio (like myself). Among the new features: animation and state machine frameworks, multi-touch support, symbian support. Also many improvements in Qt Creator.</p>
<p>P.S. I wanted to publish this post several days ago, but pressed Save Draft instead of Publish.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcecafe.net/?feed=rss2&amp;p=132</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CFF Explorer update: scripting arguments</title>
		<link>http://rcecafe.net/?p=127</link>
		<comments>http://rcecafe.net/?p=127#comments</comments>
		<pubDate>Sun, 01 Nov 2009 17:23:37 +0000</pubDate>
		<dc:creator>Daniel Pistelli</dc:creator>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>

		<guid isPermaLink="false">http://rcecafe.net/?p=127</guid>
		<description><![CDATA[Arguments can now be passed through command line just by making them follow the name of the script. E.g.: &#8220;CFF Explorer.exe&#8221; &#8220;C:\mydir\script.cff&#8221; arg1 arg2 &#8220;arg 3&#8243; To access the arguments from the scripting part you can use the global variables argv and argc, which are the same thing as in C. Actually, argv would&#8217;ve been [...]]]></description>
			<content:encoded><![CDATA[<p>Arguments can now be passed through command line just by making them follow the name of the script. E.g.:</p>
<p>&#8220;CFF Explorer.exe&#8221; &#8220;C:\mydir\script.cff&#8221; arg1 arg2 &#8220;arg 3&#8243;</p>
<p>To access the arguments from the scripting part you can use the global variables <strong>argv</strong> and <strong>argc</strong>, which are the same thing as in C. Actually, argv would&#8217;ve been sufficient as it is a table and its size can be retrieved with &#8220;#&#8221;, <strong>argc</strong> is only present for coherence with the C-style.</p>
<p>Example:</p>
<a href="#" onclick="StretchDiv('divid364668914','divbarid723159926','ccdivid174716942')">
      <img src="http://rcecafe.net/wp-content/plugins/codecolorer/img/zoomin.png" /></a>
						<br/><div id="divid364668914" style="overflow:auto;background-color:white;"><div id="divbarid723159926" style="padding:10px;display:none"><a href="#" onclick="UnstretchDiv('divid364668914','divbarid723159926','ccdivid174716942')">
 <img src="http://rcecafe.net/wp-content/plugins/codecolorer/img/zoomout.png" /></a></div><div id="ccdivid174716942" class="codecolorer-container lua"><div class="codecolorer" style="font-family: monospace;">x = <span class="nu0">0</span><br />
<span class="kw1">while</span> x &lt; argc <span class="kw1">do</span><br />
&nbsp; &nbsp; MsgBox<span class="br0">&#40;</span>argv<span class="br0">&#91;</span>x<span class="br0">&#93;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; x = x + <span class="nu0">1</span><br />
<span class="kw1">end</span></div></div></div>
<p>I also fixed a bug in the add section code and improved the PE rebuilding.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcecafe.net/?feed=rss2&amp;p=127</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filter Monitor 1.1.0: filter restore</title>
		<link>http://rcecafe.net/?p=124</link>
		<comments>http://rcecafe.net/?p=124#comments</comments>
		<pubDate>Wed, 21 Oct 2009 13:22:49 +0000</pubDate>
		<dc:creator>Daniel Pistelli</dc:creator>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[Filter Monitor]]></category>

		<guid isPermaLink="false">http://rcecafe.net/?p=124</guid>
		<description><![CDATA[Uploaded the new version of this little utility. Fixed some bugs (nothing serious). Now it has the capability to restore some types of filters that the user unregister. Basically, it can restore Create Process, Thread and Load Image callbacks.]]></description>
			<content:encoded><![CDATA[<p>Uploaded the new version of this little utility. Fixed some bugs (nothing serious). Now it has the capability to restore some types of filters that the user unregister. Basically, it can restore Create Process, Thread and Load Image callbacks.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcecafe.net/?feed=rss2&amp;p=124</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Explorer Suite update</title>
		<link>http://rcecafe.net/?p=122</link>
		<comments>http://rcecafe.net/?p=122#comments</comments>
		<pubDate>Wed, 21 Oct 2009 13:18:37 +0000</pubDate>
		<dc:creator>Daniel Pistelli</dc:creator>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[CFF Explorer]]></category>
		<category><![CDATA[Explorer Suite]]></category>

		<guid isPermaLink="false">http://rcecafe.net/?p=122</guid>
		<description><![CDATA[CFF Explorer: Improved support for tiny PEs. Fixed a bug in the Exception Directory which was due to the grid set up. Task Explorer: Fixed a minor bug on x64. Added the Driver List tool.]]></description>
			<content:encoded><![CDATA[<p>CFF Explorer:<br />
Improved support for tiny PEs.<br />
Fixed a bug in the Exception Directory which was due to the grid set up.</p>
<p>Task Explorer:<br />
Fixed a minor bug on x64.<br />
Added the Driver List tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcecafe.net/?feed=rss2&amp;p=122</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
