<?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>DevBlog &#187; fdrawcmd.sys</title>
	<atom:link href="http://simonowen.com/blog/category/fdrawcmdsys/feed/" rel="self" type="application/rss+xml" />
	<link>http://simonowen.com/blog</link>
	<description>stuff and nonsense</description>
	<lastBuildDate>Mon, 07 May 2012 02:27:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>FdInstall false-positive, again</title>
		<link>http://simonowen.com/blog/2008/12/23/fdinstall-false-positive-again/</link>
		<comments>http://simonowen.com/blog/2008/12/23/fdinstall-false-positive-again/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 00:39:47 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[fdrawcmd.sys]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://simonowen.com/blog/?p=74</guid>
		<description><![CDATA[Avira Antivir strikes again, with another false-positive in the fdrawcmd.sys installer. The current virus definitions report the FdInstall.dll installer plugin as infected with TR/Dropper.Gen (a &#8220;generic trojan detection routine&#8221;). As before, avoiding UPX compression on the module is a magic fix. It&#8217;s particularly frustrating because the compression isn&#8217;t hiding anything, since the original module can [...]]]></description>
			<content:encoded><![CDATA[<p>Avira Antivir strikes again, with another false-positive in the <em>fdrawcmd.sys</em> installer.  The current virus definitions report the FdInstall.dll installer plugin as infected with <em>TR/Dropper.Gen</em> (a &#8220;generic trojan detection routine&#8221;).</p>
<p>As before, avoiding <a href="http://upx.sourceforge.net/">UPX</a> compression on the module is a magic fix.  It&#8217;s particularly frustrating because the compression isn&#8217;t hiding anything, since the original module can be extracted using freely available code that they&#8217;re already using!  Why should using a reversible executable packer be an instant black mark?  Shouldn&#8217;t they be more worried about unknown or non-reversible packers?  Grrr.</p>
<p>I&#8217;ve updated the <a href="http://simonowen.com/fdrawcmd/#download">driver installer</a> with a UPX-less version.  Hopefully the complete removal will mean an end to these virus scanner hassles.</p>
<p>Avira have since confirmed the issue as a false-positive, and will be fixing it in a future virus definition update.  Thanks to zogzog for taking the time to report the original problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://simonowen.com/blog/2008/12/23/fdinstall-false-positive-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fdrawcmd.sys license update</title>
		<link>http://simonowen.com/blog/2007/02/11/fdrawcmdsys-license-update/</link>
		<comments>http://simonowen.com/blog/2007/02/11/fdrawcmdsys-license-update/#comments</comments>
		<pubDate>Sun, 11 Feb 2007 21:55:46 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[fdrawcmd.sys]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.simonowen.com/2007/02/11/fdrawcmdsys-license-update/</guid>
		<description><![CDATA[I&#8217;ve decided to remove the non-commercial use restriction from my driver license. The original reason for having it was to prevent 3rd parties profiting from what I&#8217;m releasing for free, though in reality it&#8217;s unlikely to add great value to anything. The change also frees it up for use by small chargeable projects, which I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to remove the <i>non-commercial use</i> restriction from my driver license.  The original reason for having it was to prevent 3rd parties profiting from what I&#8217;m releasing for free, though in reality it&#8217;s unlikely to add great value to anything.  The change also frees it up for use by small chargeable projects, which I had no problem with anyway.</p>
<p>It&#8217;s also a stepping stone to possibly releasing the driver as open source in the future, which is something I&#8217;ve been asked to consider.  Though at least one of the requests was just so the driver could be used by GNU GPL programs, which I didn&#8217;t think was a problem anyway.  I&#8217;m unclear on whether the driver is seen as a library dependency or part of the OS, and whether it&#8217;s only a problem if the calling program is useless without the driver.</p>
<p>Another reason for postponing an open source release is the confusion about Vista x64 driver signing.  A binary release for would need to be signed, effectively making the digital certificate another project dependency.  Nobody would be willing to distribute their own certificate to allow an equivalent binary to be built, which seems to violate the GNU GPL.  Or am I missing something?</p>
]]></content:encoded>
			<wfw:commentRss>http://simonowen.com/blog/2007/02/11/fdrawcmdsys-license-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FdInstall false-positive</title>
		<link>http://simonowen.com/blog/2007/01/05/fdinstall-false-positive/</link>
		<comments>http://simonowen.com/blog/2007/01/05/fdinstall-false-positive/#comments</comments>
		<pubDate>Fri, 05 Jan 2007 12:35:34 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[fdrawcmd.sys]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.simonowen.com/2007/01/05/fdinstall-false-positive/</guid>
		<description><![CDATA[I had a report that the AntiVir virus scanner was detecting a DR/Zlob.Gen virus in my new FdInstall.exe installer. I was pretty certain this was a false-positive, and three alternative scanners I had access to all agreed with me. Googling for other online scanners I came across a handy site to check it more thoroughly. [...]]]></description>
			<content:encoded><![CDATA[<p>I had a report that the AntiVir virus scanner was detecting a <em>DR/Zlob.Gen</em> virus in my new FdInstall.exe installer.  I was pretty certain this was a false-positive, and three alternative scanners I had access to all agreed with me.</p>
<p>Googling for other online scanners I came across a <a href="http://www.virustotal.com/">handy site</a> to check it more thoroughly.  Simply upload your file and have it checked by around 30 commercial scanning engines, with near-live results (if there aren&#8217;t too many queued jobs).</p>
<p>I submitted the latest FdInstall.exe, and as expected AntiVir was the only engine to consider it infected, so I fired off an e-mail to report the false-positive.  However&#8230; eSafe, Fortinet and Panda considered the file to be &#8216;suspicious&#8217;.  The Additional Information section at the bottom reported the UPX packer, and that the file had a binary resource.</p>
<p>Just to compare, I submitted the old FdInstall.exe for scanning.  No virus detected, but both eSafe and Fortinet <em>still</em> considered it suspicious due to the use of UPX.</p>
<p>I rebuilt FdInstall.exe without compressing the header, and resubmitted it for scanning.  Result: completely clean!  One of the scanners still reported the presence of UPX and binary resources, but it wasn&#8217;t enough to show as suspicious.</p>
<p>It seems that many scanning engines consider compressed executables to be a worry, as though they&#8217;re trying to hide something.  I&#8217;m surprised this is still the case when using well-known packers like UPX, which can be unpacked using freely available programs and code.</p>
<p>I&#8217;ve now updated the FdInstall.exe on my site with an uncompressed version.  It adds a whopping 11% (11K) to the installer size, but it&#8217;s well worth it to avoids further false-positives.</p>
<p>Hats off to Fortinet for their comprehensive response to my query in less than an hour.  The file is white-listed in their latest definitions.  Avira have also confirmed the file is clean, and plan to fix the issue in a future definition update.</p>
]]></content:encoded>
			<wfw:commentRss>http://simonowen.com/blog/2007/01/05/fdinstall-false-positive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FdInstall revamped</title>
		<link>http://simonowen.com/blog/2006/12/27/fdinstall-revamped/</link>
		<comments>http://simonowen.com/blog/2006/12/27/fdinstall-revamped/#comments</comments>
		<pubDate>Wed, 27 Dec 2006 02:47:01 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[fdrawcmd.sys]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://blog.simonowen.com/2006/12/27/fdinstall-revamped/</guid>
		<description><![CDATA[I&#8217;ve spent the last few days updating FdInstall, which is used to install/uninstall/upgrade fdrawcmd.sys. It needed a few improvements for Vista support, which gave the perfect excuse for a complete revamp. The original installer was designed to have minimal dependencies, be simple to use, and avoid reboots where possible. I went for a single dialog [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent the last few days updating FdInstall, which is used to install/uninstall/upgrade <a href="http://simonowen.com/fdrawcmd/">fdrawcmd.sys</a>.  It needed a few improvements for Vista support, which gave the perfect excuse for a complete revamp.</p>
<p>The original installer was designed to have minimal dependencies, be simple to use, and avoid reboots where possible.  I went for a single dialog design, with dynamic option choices that depended on whether the driver was already installed, and how the version number compared to that of the active installer.</p>
<p>Here&#8217;s what it looked like on first-time installation:</p>
<p><a class="imagelink" href="http://174.120.254.194/~simon/blog/wp-content/uploads/2006/12/fdinstall-old.png" title="Old FdInstall"><img id="image23" src="http://blog.simonowen.com/wp-content/uploads/2006/12/fdinstall-old.thumbnail.png" alt="Old FdInstall" /></a></p>
<p>I wanted the new installer to be much more traditional wizard, with an uninstall entry in Add/Remove programs.  I had already used <a href="http://nsis.sourceforge.net/">NSIS</a> for the SimCoupe installer, so I knew it would do the job without being too bloated.</p>
<p>The new installer also addresses the following areas:</p>
<ol>
<li><strong>Single installer for x86 and x64</strong>
<p>32-bit applications are prevented from writing to the <em>Windowssystem32</em> directory on 64-bit platforms, which now contains 64-bit system files.  Such requests are redirected into <em>WindowsSysWOW64</em> instead, which is the new location for 32-bit system files.  FdInstall&#8217;s attempts to write <em>fdrawcmd.sys</em> into <em>Windowssystem32drivers</em> ended up in the wrong place, so a 64-bit installer was created as a work-around.</p>
<p>Since then I&#8217;ve discovered the <em>Wow64DisableWow64FsRedirection</em> API function, which turns off the redirection, allowing 32-bit applications access to the 64-bit directories.  The allows a single new 32-bit installer to cover both x86 and x64 platforms.</li>
<li><strong>Vista x64 driver signing</strong>
<p>Starting with the 64-bit version of Vista, Microsoft <a href="http://www.microsoft.com/whdc/winlogo/drvsign/drvsign_perOS.mspx">requires</a> kernel-mode drivers to be digitally signed.  Unsigned drivers are simply not allowed to load on the system, even if you&#8217;re running with Administrator access rights on the current machine!</p>
<p>Here&#8217;s what happens when an unsigned driver is installed:</p>
<p><a class="imagelink" href="http://174.120.254.194/~simon/blog/wp-content/uploads/2006/12/vista_fdrawcmd_unsigned.png" title="Unsigned  Driver"><img id="image28" src="http://blog.simonowen.com/wp-content/uploads/2006/12/vista_fdrawcmd_unsigned.thumbnail.png" alt="Unsigned Driver" /></a></p>
<p>This insane decision is being pushed as a security measure, despite user-mode applications generally causing most of the problems on Windows machines.  In fact, the best known kernel rootkit was a music protection system released by Sony, and driver signing certainly wouldn&#8217;t have helped block it!  The signing requirement seems more likely to be a DRM measure to protection the digital media path from copying.</p>
<p>The only free signing work-arounds are to have a debugger attached to the system, or to press F8 during <em>each</em> boot to disable Digital Signature Enforcement.  Neither of these are particularly usable for a production driver, even a free one like mine!  My only real option was to buy a digital certificate, costing from &pound;140 (GlobalSign) to &pound;275 (Verisign) <strong><em>per year</em></strong>.</li>
<li><strong>Known publisher</strong>
<p>When launching downloaded applications from Internet Explorer, or any adminstrative application in Vista, Windows prompts for final confirmation from the user before launching it.  The severity of the confirmation prompt depends on whether the application is digitally signed.</p>
<p>Note the difference between the unsigned and signed applications below:</p>
<p><a class="imagelink" href="http://174.120.254.194/~simon/blog/wp-content/uploads/2006/12/simcoupe_unsigned.png" title="Unsigned Application"><img id="image30" src="http://blog.simonowen.com/wp-content/uploads/2006/12/simcoupe_unsigned.thumbnail.png" alt="Unsigned Application" /></a> <a class="imagelink" href="http://174.120.254.194/~simon/blog/wp-content/uploads/2006/12/simcoupe_signed.png" title="Signed Application"><img id="image29" src="http://blog.simonowen.com/wp-content/uploads/2006/12/simcoupe_signed.thumbnail.png" alt="Signed Application" /></a></p>
<p>Fortunately, the certificate needed for Vista x64 driver signing was also suitable for signing other modules, including the new installer.</p>
<li><b>Improved Vista support</b>
<p>Microsoft recommends that all applications designed to run on Vista include a manifest resource entry describing their privilege requirements.  This allows each program to indicate whether they should run with the standard users rights, or whether Windows should boost it to run with Administrative rights (prompting if necessary).  FdInstall needs to install a kernel-mode driver, so Admin rights are required.</p>
<p>It just happens that running the original installer under 32-bit Vista would correctly prompt for these rights, despite the lack of manifest entry.  For compatibility reasons, applications with &#8220;install&#8221; or &#8220;setup&#8221; sub-strings in their filenames are assumed to be installers and are boosted automatically.</li>
</ol>
<p>The actual driver installation involves copying the binary to <em>system32drivers</em>, adding a new service, adding the driver as a lower filter for floppy-class devices, then restarting the devices to activate the driver without a reboot.  Uninstallation requires most of these steps in reverse, but in a slightly different order!</p>
<p>Most of those aren&#8217;t standard NSIS facilities, so I created a small (5K) plug-in DLL to be called from the installer script.  Most of the DLL code was the same as the original installer, so it was simply a copy-and-paste exercise.  A slight complication was the device restarting, which couldn&#8217;t be done from a 32-bit application since it calls 64-bit class installer DLLs (failed with ERROR_IN_WOW64).  That required an additional tiny (3K) x64 application to make the calls, using exactly the same code as the 32-bit version.</p>
<p>The install script is relatively simple compared to most other applications.  The target directory is fixed at <em>system32drivers</em>, the only installation option is the driver itself, and there is no need to install any icons.</p>
<p>Here are the 3 wizard steps (welcome, license, copy+finish):</p>
<p><a class="imagelink" href="http://174.120.254.194/~simon/blog/wp-content/uploads/2006/12/fdinstall-1.png" title="FdInstall Step 1"><img id="image31" src="http://blog.simonowen.com/wp-content/uploads/2006/12/fdinstall-1.thumbnail.png" alt="FdInstall Step 1" /></a> <a class="imagelink" href="http://174.120.254.194/~simon/blog/wp-content/uploads/2006/12/fdinstall-2.png" title="FdInstall Step 2"><img id="image32" src="http://blog.simonowen.com/wp-content/uploads/2006/12/fdinstall-2.thumbnail.png" alt="FdInstall Step 2" /></a> <a class="imagelink" href="http://174.120.254.194/~simon/blog/wp-content/uploads/2006/12/fdinstall-3.png" title="FdInstall Step 3"><img id="image33" src="http://blog.simonowen.com/wp-content/uploads/2006/12/fdinstall-3.thumbnail.png" alt="FdInstall Step 3" /></a></p>
<p>The final installer size is 96K, a mere 25K larger than the total for the old installers &#8211; not bad considering how much better it looks!</p>
<p>The finished installer is now available from the <a href="http://simonowen.com/fdrawcmd/">fdrawcmd.sys page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://simonowen.com/blog/2006/12/27/fdinstall-revamped/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project status update</title>
		<link>http://simonowen.com/blog/2006/12/15/project-status-update/</link>
		<comments>http://simonowen.com/blog/2006/12/15/project-status-update/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 21:31:05 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[fdrawcmd.sys]]></category>
		<category><![CDATA[SamDisk]]></category>
		<category><![CDATA[SimCoupe]]></category>

		<guid isPermaLink="false">http://blog.simonowen.com/2006/12/15/project-status-update/</guid>
		<description><![CDATA[As this is my first entry, I thought it best to report where things are with the main projects: fdrawcmd.sys is almost unchanged since the 1.0.1.9 release in May, as there&#8217;s been nothing much to do. I&#8217;ve no outstanding issues to fix, and only a minor enhancement that wasn&#8217;t worth a new release. I&#8217;ve been [...]]]></description>
			<content:encoded><![CDATA[<p>As this is my first entry, I thought it best to report where things are with the main projects:</p>
<ol>
<li><a href="http://simonowen.com/fdrawcmd/"><strong>fdrawcmd.sys</strong></a> is almost unchanged since the 1.0.1.9 release in May, as there&#8217;s been nothing much to do.  I&#8217;ve no outstanding issues to fix, and only a minor enhancement that wasn&#8217;t worth a new release.
<p>I&#8217;ve been working on improving the driver installer, which will use the same NSIS setup as SimCoupe instead of my small custom installer.  This will give a more traditional install/uninstall process and include both  32-bit and 64-bit drivers in one download.  I&#8217;ll release a new version once it is complete, even if the embedded drivers don&#8217;t get updated from the previous release.</li>
<li><a href="http://www.simcoupe.org/"><strong>SimCoupe</strong></a> is also due a refresh build in the next month, mainly to improve Vista support.  I&#8217;ve done some minor enhancements and fixes to the main code branch, but only enough to make it version 1.01 rather than 1.1.
<p>I&#8217;ve made a start to bigger changes in a code branch, which largely involves separating the emulation+sound from the UI+video processing.  This should hopefully eliminate the occasional sound glitches from moving things over the main window, etc.  It should also do more to spread the workload on multi-core CPUs.  I also have some fragments of other features, including movie and sound recording.</li>
<li><a href="http://simonowen.com/sam/samdisk/"><strong>SamDisk</strong></a> has been neglected for a few months, despite having been close to a release for a while!  I&#8217;m happy with the core functionality, which does an excellent job with copy-protected and custom formatted disks (right to the limit of the PC controller&#8217;s ability).  I&#8217;ve still not decided on the list of disk image formats for the initial version, but it&#8217;ll certainly include EDSK, MGT, TRD, D81 and BPB (for normal PC disks).</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://simonowen.com/blog/2006/12/15/project-status-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: simonowen.com @ 2012-05-18 02:04:23 -->
