<?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: Overriding dynamic library calls (function interposition)</title>
	<atom:link href="http://wesley.vidiqatch.org/18-08-2009/overriding-dynamic-library-calls-function-interposition/feed/" rel="self" type="application/rss+xml" />
	<link>http://wesley.vidiqatch.org/18-08-2009/overriding-dynamic-library-calls-function-interposition/</link>
	<description>This blog does not need a smart-ass tagline</description>
	<lastBuildDate>Tue, 09 Mar 2010 12:01:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Kees Cook</title>
		<link>http://wesley.vidiqatch.org/18-08-2009/overriding-dynamic-library-calls-function-interposition/comment-page-1/#comment-22112</link>
		<dc:creator>Kees Cook</dc:creator>
		<pubDate>Tue, 18 Aug 2009 21:34:13 +0000</pubDate>
		<guid isPermaLink="false">http://wesley.vidiqatch.org/?p=497#comment-22112</guid>
		<description>You can easily LD_PRELOAD-override the functions that perform the sanity check of the OpenGL or DirectX DLL, too.  Or you can perform post-execution library injection and Global-Offset-Table rewrites after the sanity checks have already finished.  (Basically, manually performing the same things the linker does with LD_PRELOAD, but after the program is running, a bit complex, but doable.)</description>
		<content:encoded><![CDATA[<p>You can easily LD_PRELOAD-override the functions that perform the sanity check of the OpenGL or DirectX DLL, too.  Or you can perform post-execution library injection and Global-Offset-Table rewrites after the sanity checks have already finished.  (Basically, manually performing the same things the linker does with LD_PRELOAD, but after the program is running, a bit complex, but doable.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wesley</title>
		<link>http://wesley.vidiqatch.org/18-08-2009/overriding-dynamic-library-calls-function-interposition/comment-page-1/#comment-22111</link>
		<dc:creator>Wesley</dc:creator>
		<pubDate>Tue, 18 Aug 2009 21:12:33 +0000</pubDate>
		<guid isPermaLink="false">http://wesley.vidiqatch.org/?p=497#comment-22111</guid>
		<description>&lt;a href=&quot;#comment-22109&quot; rel=&quot;nofollow&quot;&gt;@wouter verhelst &lt;/a&gt; 
Yea, okay. I have hidden the numbers now. Although it&#039;s not too hard to find out the needed numbers with a debugger, it will at least be a bit harder for cheaters now.</description>
		<content:encoded><![CDATA[<p><a href="#comment-22109" rel="nofollow">@wouter verhelst </a><br />
Yea, okay. I have hidden the numbers now. Although it&#8217;s not too hard to find out the needed numbers with a debugger, it will at least be a bit harder for cheaters now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TGM</title>
		<link>http://wesley.vidiqatch.org/18-08-2009/overriding-dynamic-library-calls-function-interposition/comment-page-1/#comment-22110</link>
		<dc:creator>TGM</dc:creator>
		<pubDate>Tue, 18 Aug 2009 16:48:59 +0000</pubDate>
		<guid isPermaLink="false">http://wesley.vidiqatch.org/?p=497#comment-22110</guid>
		<description>EverQuest 2 Bots FTW! :D</description>
		<content:encoded><![CDATA[<p>EverQuest 2 Bots FTW! <img src='http://wesley.vidiqatch.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wouter verhelst</title>
		<link>http://wesley.vidiqatch.org/18-08-2009/overriding-dynamic-library-calls-function-interposition/comment-page-1/#comment-22109</link>
		<dc:creator>wouter verhelst</dc:creator>
		<pubDate>Tue, 18 Aug 2009 15:37:01 +0000</pubDate>
		<guid isPermaLink="false">http://wesley.vidiqatch.org/?p=497#comment-22109</guid>
		<description>It might be smart to hide the numbers in your code example if you don&#039;t want actual cheaters to abuse your system.</description>
		<content:encoded><![CDATA[<p>It might be smart to hide the numbers in your code example if you don&#8217;t want actual cheaters to abuse your system.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff</title>
		<link>http://wesley.vidiqatch.org/18-08-2009/overriding-dynamic-library-calls-function-interposition/comment-page-1/#comment-22108</link>
		<dc:creator>Jeff</dc:creator>
		<pubDate>Tue, 18 Aug 2009 15:09:32 +0000</pubDate>
		<guid isPermaLink="false">http://wesley.vidiqatch.org/?p=497#comment-22108</guid>
		<description>Cool stuff!

Your post inspired me and my friend tonight to re-implement ForceBindIP (http://www.r1ch.net/stuff/forcebindip/) for Linux. It&#039;ll be going up on GitHub shortly.

StarCraft has problems with multiple network interfaces, so to play over a VPN we&#039;d been running it in a VM that knew only about the VPN, but no physical network interfaces. Now those of us who would like to forgo the virtualisation can happily do so.

Thanks for the inspiration! =)</description>
		<content:encoded><![CDATA[<p>Cool stuff!</p>
<p>Your post inspired me and my friend tonight to re-implement ForceBindIP (<a href="http://www.r1ch.net/stuff/forcebindip/" rel="nofollow">http://www.r1ch.net/stuff/forcebindip/</a>) for Linux. It&#8217;ll be going up on GitHub shortly.</p>
<p>StarCraft has problems with multiple network interfaces, so to play over a VPN we&#8217;d been running it in a VM that knew only about the VPN, but no physical network interfaces. Now those of us who would like to forgo the virtualisation can happily do so.</p>
<p>Thanks for the inspiration! =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Philip Paeps</title>
		<link>http://wesley.vidiqatch.org/18-08-2009/overriding-dynamic-library-calls-function-interposition/comment-page-1/#comment-22105</link>
		<dc:creator>Philip Paeps</dc:creator>
		<pubDate>Tue, 18 Aug 2009 10:30:47 +0000</pubDate>
		<guid isPermaLink="false">http://wesley.vidiqatch.org/?p=497#comment-22105</guid>
		<description>LD_PRELOAD is possibly one of the most useful features of the runtime linker on POSIXy systems.  I have a &quot;line-buffer&quot; script in my $HOME/bin which preloads a shared library which basically does setvbuf(stdout, NULL, _IOLBF, 0) in a function marked __attribute__((constructor)) to force line buffering for misbehaving (ie: badly written) software for which I have no source code, or for which I don&#039;t feel like recompiling the source code.

I&#039;m also a great fan of tsocks, which uses LD_PRELOAD to wrap socket functions to force communications through a SOCKS proxy (like ssh -D).</description>
		<content:encoded><![CDATA[<p>LD_PRELOAD is possibly one of the most useful features of the runtime linker on POSIXy systems.  I have a &#8220;line-buffer&#8221; script in my $HOME/bin which preloads a shared library which basically does setvbuf(stdout, NULL, _IOLBF, 0) in a function marked __attribute__((constructor)) to force line buffering for misbehaving (ie: badly written) software for which I have no source code, or for which I don&#8217;t feel like recompiling the source code.</p>
<p>I&#8217;m also a great fan of tsocks, which uses LD_PRELOAD to wrap socket functions to force communications through a SOCKS proxy (like ssh -D).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Ritchie</title>
		<link>http://wesley.vidiqatch.org/18-08-2009/overriding-dynamic-library-calls-function-interposition/comment-page-1/#comment-22104</link>
		<dc:creator>Scott Ritchie</dc:creator>
		<pubDate>Tue, 18 Aug 2009 09:04:33 +0000</pubDate>
		<guid isPermaLink="false">http://wesley.vidiqatch.org/?p=497#comment-22104</guid>
		<description>Programs that use rootkit-like functionality in Windows can&#039;t work in Wine, and a similar attack is plausible within Windows without such rootkits.  So there&#039;s not much to worry about here for Wine users.</description>
		<content:encoded><![CDATA[<p>Programs that use rootkit-like functionality in Windows can&#8217;t work in Wine, and a similar attack is plausible within Windows without such rootkits.  So there&#8217;s not much to worry about here for Wine users.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
