<?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>DigitalSquid</title>
	<atom:link href="http://digitalsquid.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://digitalsquid.co.uk</link>
	<description>Will Shackleton's Blog</description>
	<lastBuildDate>Mon, 13 Feb 2012 22:45:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>DroidPad 2.0 Beta &#8211; testing needed</title>
		<link>http://digitalsquid.co.uk/2012/02/droidpad-2-0-beta/</link>
		<comments>http://digitalsquid.co.uk/2012/02/droidpad-2-0-beta/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 15:14:40 +0000</pubDate>
		<dc:creator>Digitalsquid</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DroidPad]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[beta]]></category>

		<guid isPermaLink="false">http://digitalsquid.co.uk/?p=630</guid>
		<description><![CDATA[I&#8217;m getting close to releasing DroidPad 2.0 &#8211; a completely new version with more features and greater stability. To make sure that everything is working, I&#8217;m releasing a beta version for testing, to remove any bugs before final release. If you would like to test this version then downloads are available below. If DroidPad does [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m getting close to releasing DroidPad 2.0 &#8211; a completely new version with more features and greater stability. To make sure that everything is working, I&#8217;m releasing a beta version for testing, to remove any bugs before final release.</p>
<p>If you would like to test this version then downloads are available below. If DroidPad does crash while running it would be very useful to file a bug report (either <a href="https://bugs.launchpad.net/droidpad-pc">for the PC part</a> or the <a href="https://bugs.launchpad.net/droidpad-android">Android part</a>); I can then see where it went wrong and fix it.</p>
<p><span id="more-630"></span></p>
<h1>Downloads</h1>
<h2>Android</h2>
<p>The Android part can be downloaded from the Android Market &#8211; search for &#8220;DroidPad 2.0&#8243;. The old version doesn&#8217;t have to be uninstalled.</p>
<p>Please report bugs through the <a href="https://bugs.launchpad.net/droidpad-android">Android bug reporter</a>.</p>
<h2>Windows</h2>
<p><strong>NOTE:</strong> This new version <strong>doesn&#8217;t</strong> currently work with Windows 64-bit. If you have problems installing the drivers then this is most likely the cause.</p>
<p>First, the old version of DroidPad will have to be uninstalled (PPJoy is redundant and can be uninstalled too &#8211; if not prompted to do so during DroidPad&#8217;s uninstall, remove it now). Make sure the old version of DroidPad is completely removed from your PC before proceeding.</p>
<p>Next, download the new version (link below). This new version does not require PPJoy at all, and should install automatically.</p>
<p><a title="DroidPad 2.0 Beta" href="http://digitalsquid.co.uk/dl/droidpad-setup-1.9.0.exe">Download DroidPad 2.0 Beta for Windows</a></p>
<h3>Reporting Windows Bugs</h3>
<p>If something goes wrong or doesn&#8217;t happen as expected, please <a href="https://bugs.launchpad.net/droidpad-pc">file a bug through the PC bug reporter</a>. If possible please attach the log files; on Windows XP they are located in <em>C:\Documents and Settings\&lt;Username&gt;\Application Data\droidpad</em>, on Windows 7 in <em>C:\Users\&lt;Username&gt;\AppData\Roaming\droidpad</em>.</p>
<h2>Linux</h2>
<p>DroidPad 2.0 for Ubuntu can be installed using the PPA <strong id="yui_3_2_0_1_132835905183234"><a href="https://launchpad.net/~w-shackleton/+archive/droidpad-daily">ppa:w-shackleton/droidpad-daily</a></strong>. This contains latest versions of DroidPad and will be updated with the latest versions.</p>
<p>Installers for other distros aren&#8217;t currently provided however a source package can be downloaded <a href="https://launchpad.net/droidpad-pc/+download">here</a> and built manually.</p>
<p>Bugs should also be reported through the <a href="https://bugs.launchpad.net/droidpad-android">PC bug reporter</a>, however please say that the bug is being reported for Linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitalsquid.co.uk/2012/02/droidpad-2-0-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How Network Spoofer Works</title>
		<link>http://digitalsquid.co.uk/2012/01/how-network-spoofer-works/</link>
		<comments>http://digitalsquid.co.uk/2012/01/how-network-spoofer-works/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 23:10:55 +0000</pubDate>
		<dc:creator>Digitalsquid</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Network Spoofer]]></category>

		<guid isPermaLink="false">http://digitalsquid.co.uk/?p=615</guid>
		<description><![CDATA[A few people have been asking how Network Spoofer actually works; hopefully this explanation will allow people to understand its working and try out their own spoofs. The download file Firstly, the extra download file is a minimal version of a debian system &#8211; having the same system on each device makes it easier to [...]]]></description>
			<content:encoded><![CDATA[<p>A few people have been asking how Network Spoofer actually works; hopefully this explanation will allow people to understand its working and try out their own spoofs.<br />
<span id="more-615"></span></p>
<h2>The download file</h2>
<p>Firstly, the extra download file is a minimal version of a debian system &#8211; having the same system on each device makes it easier to ensure the same will happen on the same device.</p>
<p>When Network Spoofer is run, the file is loaded (mounted) on the phone to allow the files to be accessed. This is where almost all of the bugs with Network Spoofer not loading occur; for some reason some devices just won&#8217;t load the file. If you want to have a go at mounting the file on the phone, then <a href="http://bazaar.launchpad.net/~w-shackleton/android-netspoof/trunk/view/head:/res/raw/config">this script</a> is used to actually load it, and the variables used are set by the application itself before running the script.</p>
<p>One of the reasons this stage sometimes doesn&#8217;t work is that Android&#8217;s app2SD (applications on the SD card) uses this same method to load SD card applications, and this could be interfering on some phones.</p>
<h3>Running programs inside the debian system</h3>
<p>For programs to function correctly on this new system, a few system folders have to be mounted inside the new system &#8211; namely /dev, /proc and /sys. This is also done in <a href="http://bazaar.launchpad.net/~w-shackleton/android-netspoof/trunk/view/head:/res/raw/config">the script</a> mentioned above.</p>
<p>The unix command <a href="http://en.wikipedia.org/wiki/Chroot">chroot</a> is used to actually run programs inside the new debian system &#8211; it makes the program think it has a different &#8216;root&#8217; (top) folder.</p>
<h2>Setting the system up to run spoofs</h2>
<p>Inside this new environment (where programs think they are actually running on a debian computer), the script <a href="http://bazaar.launchpad.net/~w-shackleton/android-netspoof/debimg-trunk/view/head:/debimg/usr/local/bin/spoof">/usr/local/bin/spoof</a> is run. This script uses the phone settings given by the Android app (as well as some detected settings) to set up the phone, ready to start spoofing.</p>
<p>First, it starts <a href="http://en.wikipedia.org/wiki/ARP_spoofing">arpspoof</a> running in the background on the phone (<a href="http://bazaar.launchpad.net/~w-shackleton/android-netspoof/debimg-trunk/view/head:/debimg/usr/local/bin/spoof#L97">line 97</a>) which basically gets all internet traffic going first through the phone. The phone tells the victim computer that it is the router, and tells the router that it is the victim &#8211; this is called a &#8216;man in the middle&#8217; attack.</p>
<p>To change information on websites, data travelling on port 80 needs to be redirected to something else (<a href="http://bazaar.launchpad.net/~w-shackleton/android-netspoof/debimg-trunk/view/head:/debimg/usr/local/bin/spoof#L115">line 115</a>) and then picked up by a proxy server which is started on the phone (<a href="http://bazaar.launchpad.net/~w-shackleton/android-netspoof/debimg-trunk/view/head:/debimg/usr/local/bin/spoof#L112">line 112</a>). The proxy server can then change or redirect whatever it wants to on the phone.</p>
<h2>Changing data on websites</h2>
<p>There are a set of scripts in the /rewriters folder in the debian image. Each one waits for URLs to be inputted (typed into it), then returns a new and potentially modified URL. The easiest way to add a new spoof is to add a new script (based off one of the others) along with a text file describing it (see one of the others for an example).</p>
<p>&nbsp;</p>
<p>A link is created to the script to be used (<a href="http://bazaar.launchpad.net/~w-shackleton/android-netspoof/debimg-trunk/view/head:/debimg/usr/local/bin/spoof#L111">line 111</a>), or if multiple spoofs are used a script is created which chains the selected scripts together. There is an option in the configuration for the proxy which tells it to use the linked script to change URLs as they are asked for &#8211; this is the key feature of the proxy.</p>
<p>If data on the webpage is changed, the script may download the HTML file, change it and put it in the folder /var/www/images. This folder is visible on a webserver which is run on the phone (see the <a href="http://bazaar.launchpad.net/~w-shackleton/android-netspoof/debimg-trunk/view/head:/debimg/rewriters/flip.pl">image flip script</a> for an example)</p>
<p>The spoof is now running &#8211; the script then waits for an enter key press before stopping. It then stops the arp spoof, shuts down the proxy and the webserver, removes the port 80 redirect rule and finishes.</p>
<p>&nbsp;</p>
<p>I hope this has explained the inner workings and will help people to expand the project, fix issues on certain devices and create more spoofs. If you have a feature that you&#8217;ve created / would like implementing, file a request / question or add your own branch of the code on the <a href="https://launchpad.net/android-netspoof">launchpad code hosting page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitalsquid.co.uk/2012/01/how-network-spoofer-works/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Can you crack it? &#8211; a few hints</title>
		<link>http://digitalsquid.co.uk/2011/12/can-you-crack-it-a-few-hints/</link>
		<comments>http://digitalsquid.co.uk/2011/12/can-you-crack-it-a-few-hints/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 14:30:38 +0000</pubDate>
		<dc:creator>Digitalsquid</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[canyoucrackit.co.uk]]></category>
		<category><![CDATA[code breaking]]></category>

		<guid isPermaLink="false">http://digitalsquid.co.uk/?p=607</guid>
		<description><![CDATA[The Can you crack it? challenge, run by GCHQ, is ending soon, so here are a few hints to those trying to crack the code. I&#8217;ll try not to give too much away, but this should be a help to people who are stuck. Stage 1 (the code on the website) For this stage, a [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://canyoucrackit.co.uk/">Can you crack it?</a> challenge, run by GCHQ, is ending soon, so here are a few hints to those trying to crack the code. I&#8217;ll try not to give too much away, but this should be a help to people who are stuck.</p>
<p><span id="more-607"></span></p>
<h2>Stage 1 (the code on the website)</h2>
<p>For this stage, a Linux computer definitely helps. The Linux <em>file</em> command can reveal (misleadingly) a bit about the code once it is converted to binary. Also note that there is more to the code than is shown on the website &#8211; try to find more!</p>
<p>Using GDB to get a memory dump from the program is an easy way to get an answer once you&#8217;ve figured out what the code is.</p>
<h2>Stage 2</h2>
<p>This stage is less of a code cracking challenge, and more of a straight forward programming task. Very little information is provided about what you actually need to do in this stage, however it is useful to know that operand 1 is <strong>always</strong> an index of a register, starting at 0; even in commands such as <em>movm</em>, the memory address is taken from the selected register, then used to get the value in the memory.</p>
<p>The <em>jmp</em> commands which don&#8217;t specify the row of a segment always use <em>cs</em> (this is what it&#8217;s for). The <em>jmp</em> commands which specify a register should then also set <em>cs</em>.</p>
<p>The program is self modifying &#8211; the program first decodes another part, then runs it. Make sure your program can do this.</p>
<h2>Stage 3</h2>
<p>Download <a href="http://www.cygwin.com/">cygwin</a> and run the program from within it. You need to make a file called &#8216;license.txt&#8217; containing information which the program will use to give you the password.</p>
<p>Use a disassembler (such as <a href="http://www.hex-rays.com/products/ida/support/download_freeware.shtml">IDA Pro free</a>) to see what the program does. Try to find out what you need to put in license.txt to make it continue.</p>
<p>The extra numbers are located in the previous steps. Look for unused code in Stage 1 and unused numbers in Stage 2 to find numbers that might go here.</p>
<p>&nbsp;</p>
<p>I hope these hints will help people having a go at this challenge without giving too much away.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitalsquid.co.uk/2011/12/can-you-crack-it-a-few-hints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can you crack it? stage 2 solution in Haskell</title>
		<link>http://digitalsquid.co.uk/2011/12/can-you-crack-it-stage-2-solution-in-haskell/</link>
		<comments>http://digitalsquid.co.uk/2011/12/can-you-crack-it-stage-2-solution-in-haskell/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 19:51:08 +0000</pubDate>
		<dc:creator>Digitalsquid</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[canyoucrackit.co.uk]]></category>
		<category><![CDATA[code breaking]]></category>
		<category><![CDATA[functional programming]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[virtual machine]]></category>

		<guid isPermaLink="false">http://digitalsquid.co.uk/?p=597</guid>
		<description><![CDATA[GCHQ recently opened a puzzle called &#8216;Can you crack it&#8217;, over at canyoucrackit.co.uk. The challenge is split into three stages, and here is my solution to Stage 2. The original task suggested the solution should be done with Javascript, however I decided to tackle this challenge with Haskell. The challenge is to write a Virtual Machine to [...]]]></description>
			<content:encoded><![CDATA[<p>GCHQ recently opened a puzzle called &#8216;Can you crack it&#8217;, over at <a href="http://canyoucrackit.co.uk/">canyoucrackit.co.uk</a>. The challenge is split into three stages, and here is my solution to <a href="http://canyoucrackit.co.uk/15b436de1f9107f3778aad525e5d0b20.js">Stage 2</a>. The original task suggested the solution should be done with Javascript, however I decided to tackle this challenge with <a href="http://haskell.org/haskellwiki/Haskell">Haskell</a>.</p>
<p>The challenge is to write a Virtual Machine to interpret a block of code given in the instructions &#8211; once the program is interpreted, the solution appears in the memory of the virtual computer. The code itself firstly decrypts a section of the memory; this decrypted block is itself a program which is then run by the Virtual Machine.</p>
<p>Solution: <strong><a href="http://digitalsquid.co.uk/files/2011/12/canyoucrackit-stage2.zip">Download</a></strong> [<a href="http://digitalsquid.co.uk/files/2011/12/canyoucrackit-stage2.tar.gz">tar.gz</a>] [<a href="https://code.launchpad.net/~w-shackleton/+junk/canyoucrackit-stage2">source code repo</a>]</p>
<p>The program can be built using Haskell&#8217;s cabal command.</p>
<p><span id="more-597"></span></p>
<p>&nbsp;</p>
<p>For those who are interested or want to have a go with hexdumps, here is the output of this program:</p>
<p><code> 310433aa40028003520072017301b250<br />
3014c001800010100000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000<br />
3200750c310833324002800352007201<br />
7303b200c3b000301bc001ff00000000<br />
00000000000000000000000000000000<br />
00007510010000000000000000000000<br />
cc000000000000000000000000000000<br />
7d1f15604d4d527d0e276d106d5a0656<br />
4714420eb6b2b2e6ebb4838ed7e5d4d9<br />
c3f08095f182829abd95a48d9a2b3069<br />
4a6965551c7b691c6e04743521262f60<br />
034e371e335439e6bab4a2ada4c595c8<br />
c1e48aece7928be881f0ad98a4d0c08d<br />
ac2252657e272b5a12610a017a6b1d67<br />
474554202f6461373533373066653135<br />
63343134386264346365656338363166<br />
62646161352e65786520485454502f31<br />
2e300000000000000000000000000000<br />
377a07111f1d682532771e62235b4755<br />
53301142f6f1b1e6c3ccf8c5e4ccc0d3<br />
85fd9ae3e681b5bbd7cd87a3d36b366f<br />
6f66553016455e09745c3f292b663d0d<br />
02302835150915ddecb8e2fbd8cbd8d1<br />
8bd582d99af192abe8a6d6d08caad294<br />
cf454667207d44146b456d5403176062<br />
555a4a6661115768750562367d02104b<br />
08224232bae2b9e2d6b9ffc3e98a8fc1<br />
8fe1b8a496f18f81b18d89ccd4787661<br />
723e372356737179637c081120697a14<br />
6805211e322759b7cfabddd5cc9793f2<br />
e7c0ebffe9a3bfa1ab8bbb9e9e8ca0c1<br />
9b5a2f2f4e4e00000000000000000000<br />
00000000000000000000000000000000<br />
00000000000000000000000000000000</code></p>
<p>The result (and the next stage) are hidden within this data.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://digitalsquid.co.uk/2011/12/can-you-crack-it-stage-2-solution-in-haskell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Network Spoofer &#8211; multiple simultaneous spoofs</title>
		<link>http://digitalsquid.co.uk/2011/11/network-spoofer-multiple-simultaneous-spoofs/</link>
		<comments>http://digitalsquid.co.uk/2011/11/network-spoofer-multiple-simultaneous-spoofs/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 19:33:41 +0000</pubDate>
		<dc:creator>Digitalsquid</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Network Spoofer]]></category>
		<category><![CDATA[spoof]]></category>

		<guid isPermaLink="false">http://digitalsquid.co.uk/?p=590</guid>
		<description><![CDATA[The latest release of Network Spoofer allows for multiple spoofs to be run at the same time &#8211; note however that this may considerably slow the whole process down on some phones. I&#8217;ve also added a new spoof which changes the text on webpages; this can be quite subtle and almost unnoticeable if similar words are changed. For [...]]]></description>
			<content:encoded><![CDATA[<p>The latest release of <a title="Network Spoofer" href="http://digitalsquid.co.uk/netspoof/">Network Spoofer</a> allows for multiple spoofs to be run at the same time &#8211; note however that this may considerably slow the whole process down on some phones. I&#8217;ve also added a new spoof which changes the text on webpages; this can be quite subtle and almost unnoticeable if similar words are changed.</p>
<p>For these new features to work the latest version of the extra files needs to be downloaded.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitalsquid.co.uk/2011/11/network-spoofer-multiple-simultaneous-spoofs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Network Spoofer 0.8</title>
		<link>http://digitalsquid.co.uk/2011/10/network-spoofer-0-8/</link>
		<comments>http://digitalsquid.co.uk/2011/10/network-spoofer-0-8/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 20:47:59 +0000</pubDate>
		<dc:creator>Digitalsquid</dc:creator>
				<category><![CDATA[Network Spoofer]]></category>

		<guid isPermaLink="false">http://digitalsquid.co.uk/?p=584</guid>
		<description><![CDATA[The latest version of Network Spoofer includes custom YouTube videos and custom images. Downloads available on the Android Market. This version also includes Busybox; this should fix quite a few of the bugs reported. Any log output which includes the text &#8216;applet not found&#8217; should be fixed. See the Main Page for more info.]]></description>
			<content:encoded><![CDATA[<p>The latest version of Network Spoofer includes custom YouTube videos and custom images. Downloads available on the Android Market.</p>
<p>This version also includes Busybox; this should fix quite a few of the bugs reported. Any log output which includes the text &#8216;applet not found&#8217; should be fixed.</p>
<p>See the <a title="Network Spoofer" href="http://digitalsquid.co.uk/netspoof/">Main Page</a> for more info.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitalsquid.co.uk/2011/10/network-spoofer-0-8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Patchworker 0.2</title>
		<link>http://digitalsquid.co.uk/2011/10/patchworker-0-2/</link>
		<comments>http://digitalsquid.co.uk/2011/10/patchworker-0-2/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 22:36:37 +0000</pubDate>
		<dc:creator>Digitalsquid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://digitalsquid.co.uk/?p=580</guid>
		<description><![CDATA[The new version of Patchworker adds support for images with multiple stretch areas &#8211; &#8216;n-patch&#8217; graphics. Downloads available on the main page.]]></description>
			<content:encoded><![CDATA[<p>The new version of Patchworker adds support for images with multiple stretch areas &#8211; &#8216;n-patch&#8217; graphics.</p>
<p>Downloads available on the <a title="Patchworker" href="http://digitalsquid.co.uk/patchworker/">main page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitalsquid.co.uk/2011/10/patchworker-0-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Network Spoofer 0.7 &#8211; A quick update</title>
		<link>http://digitalsquid.co.uk/2011/09/network-spoofer-0-7-a-quick-update/</link>
		<comments>http://digitalsquid.co.uk/2011/09/network-spoofer-0-7-a-quick-update/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 14:21:03 +0000</pubDate>
		<dc:creator>Digitalsquid</dc:creator>
				<category><![CDATA[Network Spoofer]]></category>

		<guid isPermaLink="false">http://digitalsquid.co.uk/?p=574</guid>
		<description><![CDATA[Network Spoofer 0.7 has just been released onto the Android Market, and it fixes several crashes that have been reported. I&#8217;ve included a new spoof as well, however if there is anything new you&#8217;d like to see in this program (new spoofs etc.) then leave a comment below. The latest version can be downloaded from [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Network Spoofer" href="http://digitalsquid.co.uk/netspoof/">Network Spoofer</a> 0.7 has just been released onto the Android Market, and it fixes several crashes that have been reported.</p>
<p>I&#8217;ve included a new spoof as well, however if there is anything new you&#8217;d like to see in this program (new spoofs etc.) then leave a comment below.</p>
<p>The latest version can be downloaded from the Android Market.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitalsquid.co.uk/2011/09/network-spoofer-0-7-a-quick-update/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Patchworker</title>
		<link>http://digitalsquid.co.uk/2011/09/patchworker/</link>
		<comments>http://digitalsquid.co.uk/2011/09/patchworker/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 19:06:06 +0000</pubDate>
		<dc:creator>Digitalsquid</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://digitalsquid.co.uk/?p=568</guid>
		<description><![CDATA[Patchworker is a new application of mine which makes the process of creating images during Android development easier &#8211; it exports the correct sizes of images into the corresponding folders in an Android project and allows easy creation of 9-patch scaling graphics for Android. It also allows exporting of SVG images into multiple sizes, a [...]]]></description>
			<content:encoded><![CDATA[<p>Patchworker is a new application of mine which makes the process of creating images during Android development easier &#8211; it exports the correct sizes of images into the corresponding folders in an Android project and allows easy creation of 9-patch scaling graphics for Android. It also allows exporting of SVG images into multiple sizes, a process which can be quite tedious.</p>
<p>See <a title="Patchworker" href="http://digitalsquid.co.uk/patchworker/">the main project page</a> for more info and downloads.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitalsquid.co.uk/2011/09/patchworker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Turning a Toshiba laptop into a photo frame</title>
		<link>http://digitalsquid.co.uk/2011/07/toshiba-laptop-photo-frame/</link>
		<comments>http://digitalsquid.co.uk/2011/07/toshiba-laptop-photo-frame/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 22:38:20 +0000</pubDate>
		<dc:creator>Digitalsquid</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[hardware mod]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[Toshiba]]></category>

		<guid isPermaLink="false">http://digitalsquid.co.uk/?p=447</guid>
		<description><![CDATA[I had an old Toshiba Portege M100 laptop which I wasn&#8217;t using, and recently decided to put it to good use: as a digital photo frame, and extra computer screen. It displays photos from a file server, automatically turns on and off, and can be used as an extra PC screen. Building The basic steps [...]]]></description>
			<content:encoded><![CDATA[<p>I had an old Toshiba Portege M100 laptop which I wasn&#8217;t using, and recently decided to put it to good use: as a digital photo frame, and extra computer screen. It displays photos from a file server, automatically turns on and off, and can be used as an extra PC screen.<br />
<span id="more-447"></span></p>
<h1>Building</h1>
<p>The basic steps to turn this (or a similar) laptop into a photo frame are to take the screen and lid apart, rotate them round, and secure them to the other half of the laptop again.</p>
<h2>Disassembly</h2>
<p>The lightweight frame of Portege laptops makes them very easy to disassemble, as there is very little structure to the laptop; the case makes up most of the chassis.</p>
<p>The front case of the screen is held in place with two screws, and is held around the edges, similar to most laptops. Once this is removed, the friction hinges holding the two parts together can be dismantled, detaching the two halves:</p>
<p><a href="http://digitalsquid.co.uk/files/2011/03/IMG_6541.jpg"><img class="alignnone size-medium wp-image-458" title="Disassembled Hinges" src="http://digitalsquid.co.uk/files/2011/03/IMG_6541-300x162.jpg" alt="" width="300" height="162" /></a></p>
<p><a href="http://digitalsquid.co.uk/files/2011/03/IMG_6545.jpg"><img class="alignnone size-thumbnail wp-image-459" title="Left Hinge" src="http://digitalsquid.co.uk/files/2011/03/IMG_6545-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://digitalsquid.co.uk/files/2011/03/IMG_6546.jpg"><img class="alignnone size-thumbnail wp-image-460" title="Right Hinge" src="http://digitalsquid.co.uk/files/2011/03/IMG_6546-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>The wires here are quite fragile (the screen also has the bluetooth &amp; wifi antennae and the status lights). The visible circuit is a high voltage light controller, so try not to damage it.</p>
<p>At this point, try turning the screen over, so it faces down onto the desk. This may require some disassembly of the main laptop body to loosen the cables, but if the screen can&#8217;t be turned over, then it is unlikely that the laptop can be made into a photo frame. If there are only a few cables stopping the screen from being turned, then you could try extending them <strong>at your own risk</strong>. See <a title="The Ben Heck Show" href="http://www.youtube.com/watch?v=QXbDTYvNZJA#t=02m35s" target="_blank">this episode</a> of The Ben Heck Show for a warning on extending LCD cables.</p>
<h2>Rotating the screen</h2>
<p>Once the screen is facing downwards, for some laptops folding the lid over again will result in it being correctly orientated. For the Toshiba M100, part of the screen back has to be cut in the centre to make space for the cables (this laptop has an aluminium lid):</p>
<p><a href="http://digitalsquid.co.uk/files/2011/03/IMG_6549.jpg"><img class="alignnone size-medium wp-image-461" title="Gap cut in case for cables" src="http://digitalsquid.co.uk/files/2011/03/IMG_6549-300x200.jpg" alt="" width="300" height="200" /></a></p>
<p>This makes space for the cables when the screen is repositioned:</p>
<p><a href="http://digitalsquid.co.uk/files/2011/03/IMG_6550.jpg"><img class="alignnone size-medium wp-image-462" title="Reversed Screen" src="http://digitalsquid.co.uk/files/2011/03/IMG_6550-300x200.jpg" alt="" width="300" height="200" /></a></p>
<p><a href="http://digitalsquid.co.uk/files/2011/03/IMG_6551.jpg"><img class="alignnone size-medium wp-image-463" title="Cables on reversed screen" src="http://digitalsquid.co.uk/files/2011/03/IMG_6551-300x200.jpg" alt="" width="300" height="200" /></a></p>
<p>At this point make sure that the laptop still boots and operates normally.</p>
<h2>Fixing the screen</h2>
<p>From this point onwards my laptop mod is not perfected, and the method used here to hold the screen is temporary, but does still work.</p>
<p>I put some 2mm machine screws and nuts through the hinges at the bottom of the screen to support it:</p>
<p><a href="http://digitalsquid.co.uk/files/2011/03/IMG_6561.jpg"><img class="alignnone size-medium wp-image-466" title="Supporting screen on original hinges" src="http://digitalsquid.co.uk/files/2011/03/IMG_6561-300x200.jpg" alt="" width="300" height="200" /></a></p>
<p>and simply used thick double-sided tape to attach the lid to the inside of the main body, either side of the mouse pad. This avoids the mouse buttons being pressed:</p>
<p><a href="http://digitalsquid.co.uk/files/2011/03/IMG_6559.jpg"><img class="alignnone size-medium wp-image-465" title="Attaching screen back to laptop" src="http://digitalsquid.co.uk/files/2011/03/IMG_6559-300x200.jpg" alt="" width="300" height="200" /></a></p>
<p>at some point I will improve this method of attaching the lid &amp; screen, as this is definitely not the best way. It has the current limitation of also hiding the power button:</p>
<p><a href="http://digitalsquid.co.uk/files/2011/03/IMG_6555.jpg"><img class="alignnone size-medium wp-image-464" title="Concealed power button" src="http://digitalsquid.co.uk/files/2011/03/IMG_6555-300x200.jpg" alt="" width="300" height="200" /></a></p>
<p>Later I will design a proper front to the laptop, which would also safely attach the screen to the hinges.</p>
<h2>Mounting the photo frame on the wall</h2>
<p>Again, slightly temporary, but I attached the laptop to the wall, in the style of a hanging picture, with a piece of string. Yep.</p>
<p>This works surprisingly well, as the string can go underneath the screws in the laptop back. These screws, the hard drive and battery need to be removed and then replaced after the string is laid:</p>
<p><a href="http://digitalsquid.co.uk/files/2011/03/IMG_6565.jpg"><img class="alignnone size-medium wp-image-469" title="String to mount photo frame" src="http://digitalsquid.co.uk/files/2011/03/IMG_6565-300x121.jpg" alt="" width="300" height="121" /></a></p>
<p>The string can be fed through into the battery and hard drive compartments.</p>
<h1>Software</h1>
<p>I installed <a title="Ubuntu" href="http://www.ubuntu.com/" target="_blank">Ubuntu</a> on the laptop, as the Windows XP installation no longer worked. This allowed me to, as also as using it as a photo frame, use it as an extra desktop monitor to my computer.</p>
<h2>Photo updating</h2>
<p>My photos were stored on an Ubuntu Server on a Windows (samba) share. To access the photos mount the network share using Linux&#8217;s fstab.</p>
<p>To make the screensaver activate when the laptop turns on, enable Automatic Login in &#8216;Login Screen&#8217; settings.</p>
<p>On your new photo frame, open up a terminal (Accessories-&gt;Terminal), then type:</p>
<pre>mkdir Pictures/Photos
sudo mkdir /media/photos
sudo apt-get install smbfs</pre>
<p>You may also want to install an SSH server for easier control of the photo frame</p>
<pre>sudo apt-get install openssh-server</pre>
<p>Everything is now installed, so the next step is to set up the access to the photos. Edit the file /etc/fstab, by pressing Alt-F2 and typing:</p>
<pre>gksu gedit /etc/fstab</pre>
<p>or use the editor of your choice.</p>
<p>At the bottom of the file, add the line:</p>
<pre>//SERVERNAME/ShareName	/media/photos cifs  guest,uid=1000,iocharset=utf8,codepage=unicode,unicode  0  0</pre>
<p>Replacing SERVERNAME and ShareName with correct settings for you.<br />
If the server always has the same IP address, use this  in place of SERVERNAME.</p>
<h3>Syncing photos</h3>
<p>In a terminal again, type</p>
<pre>export EDITOR=nano
crontab -e</pre>
<p>This will open a file. Scroll down to the bottom of it and paste this line into it, replacing USERNAME with your login name</p>
<pre>10 * * * * rsync -r --delete-after /media/photos/ /home/USERNAME/Pictures/Photos</pre>
<p>Now restart the laptop. It will connect to the remote computer, and each hour rsync will check for photos and copy them onto the laptop. The final step is to set the screensaver to the smallest time interval, and set it to the pictures screensaver. Then in Preferences-&gt;Power Management settings, set a suitable brightness and make sure that the screen won&#8217;t turn off.</p>
<h2>Extra monitor</h2>
<p>For me, the best use for this photo frame is as an extra monitor for a computer. This is achieved using a VNC server on the photo frame and the program <a title="x2vnc" href="http://fredrik.hubbe.net/x2vnc.html" target="_blank">x2vnc</a>, which bridges mouse and keyboard movements between computers.</p>
<p>On the laptop, open Preferences-&gt;Remote Desktop. Check &#8216;Allow other users to view your desktop&#8217;, uncheck &#8216;You must confirm each access to this machine&#8217;, and enter a password for the VNC remote desktop connection. Log out and log back in again.</p>
<p>On your main PC, install x2vnc:</p>
<pre>sudo apt-get install x2vnc</pre>
<p>Once it is installed, turn on the photo frame and make sure that they are connected to the same network.<br />
Open a terminal on the main PC and run the command:</p>
<pre>x2vnc -east PHOTOFRAMEIP:0 -passwdfile ~/.photoframepass</pre>
<p>Replace PHOTOFRAMEIP with the IP address of the photo frame. This can be found by running &#8216;ifconfig&#8217; on the photo frame, and looking for the line that says &#8216;inet addr&#8217; just underneath eth0 or wlan0. If the new screen is on the left of the PC, replace -east with -west.<br />
This should, if all is set up correctly, should connect to the photo frame, showing a notification on it. For the first time it will ask for the password, but after that the login won&#8217;t need a password. To make the connection start automatically, add the line to a new entry in Preferences-&gt;Startup Applications, causing it to start when you log in.</p>
<p>Once connected, you should be able to move the mouse and use the keyboard seamlessly between the two computers, effectively giving you an extra monitor.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitalsquid.co.uk/2011/07/toshiba-laptop-photo-frame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

