<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8204420330478623625</id><updated>2026-10-03T09:42:34.036-04:00</updated><category term="games"/><category term="gmcjam"/><category term="blog"/><category term="bullshit"/><category term="jamming"/><category term="pannenkoekenhuis"/><category term="ludum dare"/><category term="competitions"/><category term="game features"/><category term="rdc"/><category term="school"/><category term="starload"/><category term="flash"/><category term="movies"/><category term="Camp"/><category term="diagnosis"/><category term="hhh"/><category term="indie"/><category term="laws"/><category term="overanalysis"/><category term="philosophy"/><category term="religion"/><category term="short film"/><category term="stanford online class"/><category term="werewolves"/><category term="The Bleed Man"/><category term="The Hat Man"/><category term="WIPs"/><category term="Wrapple"/><category term="apocalyptico"/><category term="art"/><category term="artflakes"/><category term="awesome"/><category term="books"/><category term="cantilever bridge"/><category term="college"/><category term="coma"/><category term="debate"/><category term="design"/><category term="developer features"/><category term="getting shot by a laser"/><category term="greetings from liverpool"/><category term="hanging with friends"/><category term="job"/><category term="minirant"/><category term="mochiads"/><category term="mono"/><category term="mturk"/><category term="photoshop"/><category term="programming"/><category term="retroplat"/><category term="saga of the ugly 2"/><category term="screensavers"/><category term="thistown"/><category term="tips"/><category term="video"/><category term="words with friends"/><title type='text'>ThatSnail</title><subtitle type='html'>Personal/design blog for ThatSnail.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>162</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-7326566522569683309</id><published>2014-11-20T05:05:00.004-05:00</published><updated>2014-11-20T05:05:27.561-05:00</updated><title type='text'>Quantum Mechanics: Weird Light</title><content type='html'>Have
 you ever shopped for sunglasses before?&amp;nbsp; They&#39;re ridiculously 
expensive, especially if you get the special polarized ones.&amp;nbsp; Ever 
wonder what that means?&lt;br /&gt;
&lt;br /&gt;
If you&#39;ve ever looked at a lake
 before when the sun is somewhat low, you&#39;ll notice that there&#39;s glare, 
and it&#39;s hard to see below the surface.&amp;nbsp; Light from the sun bounces off 
the water, and the ones that create the glare are &quot;propagating&quot; in the 
horizontal direction (in incoherent light, which comes from the sun, 
they&#39;re propagating in every direction).&lt;br /&gt;
&lt;br /&gt;
By 
&quot;propagating,&quot; I mean you can imagine it as a sine wave that&#39;s moving 
along some axis.&amp;nbsp; So horizontally-polarized light is moving 
left-right-left-right-left-right really really fast.&amp;nbsp; (That&#39;s not what&#39;s
 actually happening but go with it! It works for our analogy).&lt;br /&gt;
&lt;br /&gt;
Suppose you&#39;re wearing shutter shades, like the ones Obama is wearing:&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://fc00.deviantart.net/fs40/f/2009/038/f/c/fc5fe57fc3f03b656f6ff8fc4bf42114.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://fc00.deviantart.net/fs40/f/2009/038/f/c/fc5fe57fc3f03b656f6ff8fc4bf42114.jpg&quot; height=&quot;320&quot; width=&quot;261&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;(Not my art! Please don&#39;t sue me.)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
You
 can imagine that light propagating in the vertical direction 
(up-down-up-down) get blocked by the shutters, so only 
horizontally-polarized light goes through.&amp;nbsp; This is what a polarized 
filter does, and this is essentially what those overpriced sunglasses 
do, with microscopic shutters.&lt;br /&gt;
&lt;br /&gt;
What if you take a pair 
of sunglasses, and turn it 90 degrees?&amp;nbsp; Now you have a 
vertically-polarized filter, that only lets in vertical light, and 
blocks out horizontal light.&amp;nbsp; If you take both of these sunglasses and 
put them one in front of the other, what happens?&lt;br /&gt;
&lt;br /&gt;
Light
 hits the horizontally-polarized filter, horizontal light goes through.&amp;nbsp;
 Horizontal light hits the vertically-polarized filter, nothing gets 
through.&lt;br /&gt;
&lt;br /&gt;
(This is an experiment that you can and should do, by the way.&amp;nbsp; Find a Walgreens somewhere and try this).&lt;br /&gt;
&lt;br /&gt;
Now,
 what if you put another filter, but rotated it 45 degrees?&amp;nbsp; So you have
 a horizontal filter, a 45 degree filter, and a vertical filter, in 
front of each other.&amp;nbsp; What happens?&lt;br /&gt;
&lt;br /&gt;
The sensible thing 
to say is, well!&amp;nbsp; Filters only block light!&amp;nbsp; So if you take the 
configuration with the horizontal filter + the vertical filter, and you 
get no light, then doing the horizontal + 45 + vertical should also get 
no light!&lt;br /&gt;
&lt;br /&gt;
But that&#39;s not what actually happens.&amp;nbsp; You actually get 12.5% of the light you put in.&lt;br /&gt;
&lt;br /&gt;
WHAT.&lt;br /&gt;
&lt;br /&gt;
Somehow, putting an extra filter in the apparatus managed to &lt;i&gt;create&lt;/i&gt;
 light, even though filters only block.&amp;nbsp; More accurately, the 45-degree 
filter actually destroyed some information about the horizontal filter.&lt;br /&gt;
&lt;br /&gt;
I&#39;m
 going to allude to the punch line early, this is the same sort of 
mechanism at play behind Heisenberg&#39;s uncertainty principle.&amp;nbsp; Some properties can&#39;t be successfully measured at the same time.&amp;nbsp; With Heisenberg, it&#39;s position and momentum.&amp;nbsp; With sunglasses, it&#39;s propagation direction between two axes.&lt;br /&gt;
&lt;br /&gt;
What if you had five sunglasses instead?&amp;nbsp; One horizontal, one at 22.5 degrees, one at 45 degrees, one at 67.5 degrees, then one vertical?&amp;nbsp; You get more light.&amp;nbsp; The more filters you put in in this manner, the less light that is actually filtered out.&lt;br /&gt;
&lt;br /&gt;
If you have an infinite number of filters, all a tiny angle away from each other, such that you start from the horizontal and end up at the vertical, you actually end up getting 100% of the light going through, as if you had no filters at all.&lt;br /&gt;
&lt;br /&gt;
Clearly this is some demented stuff, and as far as I know, no one fully understands it.&amp;nbsp; We&#39;re good at modeling it, but not explaining it in any satisfactory, classical way.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Some extra thoughts:&lt;/b&gt;&lt;br /&gt;
Let&#39;s go back to two filters: one at horizontal and one at 45 degrees.&amp;nbsp; If you send in 100 photons of light, and all 100 get through the horizontal filter, 50 of those get through the 45 degree filter.&amp;nbsp; But which 50?&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Let&#39;s send in one photon.&amp;nbsp; It gets through half of the time, and half of the time not.&amp;nbsp; Same experiment, different results.&amp;nbsp; There must be &lt;i&gt;some&lt;/i&gt; variable we aren&#39;t taking into account; the photons that we are preparing, which we think are &lt;i&gt;identical&lt;/i&gt;, must not be in some way.&amp;nbsp; No one has found such a variable.&lt;br /&gt;
&lt;br /&gt;
So as far as we know, setting up the same experiment does &lt;i&gt;not&lt;/i&gt; always yield the same result.&lt;br /&gt;
&lt;br /&gt;
This is the Copenhagen interpretation: science is not perfectly deterministic, as we thought it&#39;d be.&lt;br /&gt;
&lt;br /&gt;
Einstein  &lt;b&gt;hated &lt;/b&gt;this.&amp;nbsp; He famously stated that &quot;God does not play dice,&quot; and that quantum mechanics must be incomplete.&amp;nbsp; But almost every experiment we&#39;ve run seems to reinforce the Copenhagen interpretation.&lt;br /&gt;
&lt;br /&gt;
Contrary to what some philosophers thought, this hasn&#39;t destroyed science.&amp;nbsp; We&#39;re perfectly capable of designing things such that the probability of crazy things happening is very, very, &lt;i&gt;very&lt;/i&gt; small.&amp;nbsp; So it&#39;s not a big deal, yo.</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/7326566522569683309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2014/11/quantum-mechanics-weird-light.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/7326566522569683309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/7326566522569683309'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2014/11/quantum-mechanics-weird-light.html' title='Quantum Mechanics: Weird Light'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-1219087754508982053</id><published>2014-11-20T04:14:00.003-05:00</published><updated>2014-11-20T04:14:54.850-05:00</updated><title type='text'>Been a while!</title><content type='html'>Some updates:&lt;br /&gt;
&lt;br /&gt;
Currently
 in my second year at University of California, Berkeley, studying 
electrical engineering and computer science.&amp;nbsp; Excellent school, people 
are generally friendly and knowledgeable, and very eager to learn.&lt;br /&gt;
&lt;br /&gt;
Been
 getting a lot more interested in the hardware side of things.&amp;nbsp; Started 
doing some amateur radio.&amp;nbsp; Taking a quantum mechanics class.&amp;nbsp; Designed 
and fabricated a PCB, used it to set up a light strip that syncs to my 
computer screen.&amp;nbsp; And teaching a class!&amp;nbsp; About 20 students, teaching how
 to design a car that drives around a maze.&amp;nbsp; Workload is fairly 
intensive which means I don&#39;t have much time for casual blogging, hence 
the 2-year hiatus.&lt;br /&gt;
&lt;br /&gt;
And I kind of miss game development.&lt;br /&gt;
&lt;br /&gt;
I&#39;ve
 had a few ideas that I want to make at some point, not while in college
 but maybe a few years after graduation.&amp;nbsp; Definitely a cool hobby and a 
bit sad I haven&#39;t maintained contact with much of anyone who still makes
 games.&lt;br /&gt;
&lt;br /&gt;
But anyways!&lt;br /&gt;
&lt;br /&gt;
I&#39;ve been itching to do some quantum mechanics stuff recently.&amp;nbsp; 
Mostly to solidify what I&#39;m learning about it in class.&amp;nbsp; If I start a 
new blog, I know what&#39;s going to happen: I&#39;m going to have yet &lt;i&gt;another&lt;/i&gt; blog with a single post, and then nothing.&amp;nbsp; So I&#39;m just going to continue off of this one, and maybe transfer in the future, despite this one having a lot of posts I&#39;m really not proud of.&lt;br /&gt;
&lt;br /&gt;
(For the record, I&#39;m really not proud of about 80% of anything I ever said in high school.&amp;nbsp; That hasn&#39;t changed -- I&#39;m still saying dumb shit!)&lt;br /&gt;
&lt;br /&gt;
To anyone who still reads this (?!): Hello! I have not been stabbed, if you have also not been stabbed, let us communicate again.&lt;br /&gt;
&lt;br /&gt;
That is all.&amp;nbsp; Next posts will probably be some quantum mechanics stuff.&amp;nbsp; That&#39;s all I really feel like writing about right now.</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/1219087754508982053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2014/11/been-while.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/1219087754508982053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/1219087754508982053'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2014/11/been-while.html' title='Been a while!'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-8465598669899992776</id><published>2013-11-03T13:36:00.002-05:00</published><updated>2013-11-03T13:36:32.680-05:00</updated><title type='text'>Homebrew Text Adventure</title><content type='html'>I made a thing for 0h game jam&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://thatsnail.com/textadventure/&quot;&gt;http://thatsnail.com/textadventure/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
(it took 6 hours) </content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/8465598669899992776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/11/homebrew-text-adventure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/8465598669899992776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/8465598669899992776'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/11/homebrew-text-adventure.html' title='Homebrew Text Adventure'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-2591541735820158134</id><published>2013-07-29T22:58:00.001-04:00</published><updated>2013-07-29T22:58:22.013-04:00</updated><title type='text'>MITRE 2013 Writeup : Network 200</title><content type='html'>Wireshark .pcap file shows a bunch of TCP and HTTP requests, most notably to vimeo.com.&amp;nbsp; Saving the TCP stream into a file...&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;HTTP/1.1 200 OK&lt;br /&gt;Server: Apache&lt;br /&gt;X-Powered-By: PHP/5.4.14&lt;br /&gt;Expires: Sun, 14 Jul 2013 21:17:37 GMT&lt;br /&gt;Vary: User-Agent,Accept-Encoding&lt;br /&gt;X-Frame-Options: SAMEORIGIN&lt;br /&gt;X-DNS-Prefetch-Control: on&lt;br /&gt;Content-Encoding: gzip&lt;br /&gt;Content-Type: text/html; charset=UTF-8&lt;br /&gt;Transfer-Encoding: chunked&lt;br /&gt;Date: Sun, 14 Jul 2013 20:17:37 GMT&lt;br /&gt;X-Varnish: 155913018&lt;br /&gt;Age: 0&lt;br /&gt;Via: 1.1 varnish&lt;br /&gt;Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0&lt;br /&gt;X-Varnish-Cache: 0&lt;br /&gt;Connection: close&lt;br /&gt;X-VServer: 10.90.128.147&lt;br /&gt;&lt;br /&gt;&lt;lots data=&quot;&quot; of=&quot;&quot;&gt;&lt;/lots&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
...and loading it up onto localhost via ncat...&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;elliptic@elliptic:~/solved/network200$ sudo ncat -l 80 &amp;lt; stream&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
...yields the vimeo video.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://i.imgur.com/DqMbWs8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;http://i.imgur.com/DqMbWs8.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;01010100 01101000 01100101 00100000 01101011 01100101 01111001&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;00100000 01101001 01110011 00100000 01001101 01000011 01000001&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;00101101 00110101 00111000 01000010 01000101 00110001 00110100&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;00110111 01000001 00100000 00111010 00101001&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;7 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ) &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
MCA-58BE147A</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/2591541735820158134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-network-200.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/2591541735820158134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/2591541735820158134'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-network-200.html' title='MITRE 2013 Writeup : Network 200'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-6604112232898518706</id><published>2013-07-29T22:13:00.002-04:00</published><updated>2013-07-29T22:13:45.555-04:00</updated><title type='text'>MITRE 2013 Writeup : Binary 200 #2</title><content type='html'>ELF Linux executable file named Game.bin.&amp;nbsp; Running it shows usage instructions that show that it takes one parameter:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;elliptic@elliptic:~/solved/bin2002$ ./Game.bin&lt;br /&gt;Usage: ./Game.bin &lt;keyfile&gt;&lt;br /&gt;&lt;br /&gt;keyFile - The file containing your CD Key&lt;/keyfile&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Strings table and cat were both uninteresting.&amp;nbsp; Disassembling the &lt;a href=&quot;http://pastebin.com/FJAHMcb4&quot;&gt;main&lt;/a&gt; function in GDB yielded some nice things.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;. Stack initialization&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x0804896c &amp;lt;+0&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; ebp&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x0804896d &amp;lt;+1&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp,esp&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x0804896f &amp;lt;+3&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; ebx&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048970 &amp;lt;+4&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp;&amp;nbsp; esp,0xfffffff0&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048973 &amp;lt;+7&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; sub&amp;nbsp;&amp;nbsp;&amp;nbsp; esp,0x170&lt;br /&gt;. If fewer than 1 parameter, jump to 0x80489AC&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048979 &amp;lt;+13&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [ebp+0x8],0x1&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x0804897d &amp;lt;+17&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; jg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80489ac &lt;main&gt;&lt;br /&gt;. Usage&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x0804897f &amp;lt;+19&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,DWORD PTR [ebp+0xc]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048982 &amp;lt;+22&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,DWORD PTR [eax]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048984 &amp;lt;+24&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x4],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048988 &amp;lt;+28&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x8049d90 ; 0x8049d90 = &quot;Usage: %s &lt;keyfile&gt;\n&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x0804898f &amp;lt;+35&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x80487e0 &lt;printf plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048994 &amp;lt;+40&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x8049da8 ; 0x8049da8 = &quot;\nkeyFile - The file containing your CD Key&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x0804899b &amp;lt;+47&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048840 &lt;puts plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489a0 &amp;lt;+52&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x0&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489a7 &amp;lt;+59&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048870 &lt;exit plt=&quot;&quot;&gt; ; end&lt;br /&gt;. Body&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489ac &amp;lt;+64&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,DWORD PTR [ebp+0xc]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489af &amp;lt;+67&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,0x4&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489b2 &amp;lt;+70&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,DWORD PTR [eax]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489b4 &amp;lt;+72&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x4],0x8049dd3 ; 0x8049dd3 = &quot;rb&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489bc &amp;lt;+80&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489bf &amp;lt;+83&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x80487d0 &lt;fopen plt=&quot;&quot;&gt; ; Opens some file with read (&quot;rb&quot;) permissions; probably keyFile?&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489c4 &amp;lt;+88&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x160],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489cb &amp;lt;+95&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x160],0x0 ; Check if we can open the file&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489d3 &amp;lt;+103&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; jne&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80489ed &lt;main&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489d5 &amp;lt;+105&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x8049dd8 ; 0x8049dd8 = &quot;Error - couldn&#39;t open key file&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489dc &amp;lt;+112&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048790 &lt;perror plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489e1 &amp;lt;+117&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x1&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489e8 &amp;lt;+124&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048870 &lt;exit plt=&quot;&quot;&gt; ; end&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489ed &amp;lt;+129&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,DWORD PTR [esp+0x160]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489f4 &amp;lt;+136&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0xc],eax ; file pointer&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x080489f8 &amp;lt;+140&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x8],0x1 ; number of elements in buffer (1)&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a00 &amp;lt;+148&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x4],0x80 ; size of elements in buffer (0x80 = 128 bytes)&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a08 &amp;lt;+156&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,[esp+0xb8]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a0f &amp;lt;+163&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],eax ; buffer&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a12 &amp;lt;+166&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048850 &lt;fread plt=&quot;&quot;&gt; ; read elements into buffer&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a17 &amp;lt;+171&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x15c],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a1e &amp;lt;+178&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x15c],0x1 ; if successful (fread returns the number of elements successfully read)&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a26 &amp;lt;+186&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; je&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8048a59 &lt;main&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a28 &amp;lt;+188&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,ds:0x804a16c&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a2d &amp;lt;+193&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0xc],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a31 &amp;lt;+197&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x8],0x1f&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a39 &amp;lt;+205&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x4],0x1&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a41 &amp;lt;+213&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x8049df8 ; 0x8049df8 = &quot;Error: couldn&#39;t read whole key\n&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a48 &amp;lt;+220&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x80487f0 &lt;fwrite plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a4d &amp;lt;+225&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x2&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a54 &amp;lt;+232&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048870 &lt;exit plt=&quot;&quot;&gt; ; end&lt;/exit&gt;&lt;/fwrite&gt;&lt;/main&gt;&lt;/fread&gt;&lt;/exit&gt;&lt;/perror&gt;&lt;/main&gt;&lt;/fopen&gt;&lt;/exit&gt;&lt;/puts&gt;&lt;/printf&gt;&lt;/keyfile&gt;&lt;/main&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here, the program calls a bunch of really scary things like time and random, probably to compare against the key you enter.&amp;nbsp; The correct key is 128 bytes of randomness?&amp;nbsp; Probably not the key you&#39;re looking for.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; 0x08048a59 &amp;lt;+237&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x0&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a60 &amp;lt;+244&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048810 &lt;time plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a65 &amp;lt;+249&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x16c],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a6c &amp;lt;+256&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048740 &lt;random plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a71 &amp;lt;+261&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x168],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a78 &amp;lt;+268&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x164],0x0&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a83 &amp;lt;+279&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; jmp&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8048ad6 &lt;main&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a85 &amp;lt;+281&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,DWORD PTR [esp+0x16c]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a8c &amp;lt;+288&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx,eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a8e &amp;lt;+290&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,DWORD PTR [esp+0x168]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a95 &amp;lt;+297&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp; edx,eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a97 &amp;lt;+299&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,DWORD PTR [esp+0x164]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048a9e &amp;lt;+306&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,edx&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048aa0 &amp;lt;+308&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; ecx,[esp+0x38]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048aa4 &amp;lt;+312&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx,DWORD PTR [esp+0x164]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048aab &amp;lt;+319&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp; edx,ecx&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048aad &amp;lt;+321&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE PTR [edx],al&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048aaf &amp;lt;+323&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048740 &lt;random plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048ab4 &amp;lt;+328&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x168],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048abb &amp;lt;+335&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x0&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048ac2 &amp;lt;+342&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048810 &lt;time plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048ac7 &amp;lt;+347&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x16c],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048ace &amp;lt;+354&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x164],0x1&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048ad6 &amp;lt;+362&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x164],0x7f&lt;br /&gt;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b36 &amp;lt;+458&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,ds:0x804a16c&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b3b &amp;lt;+463&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0xc],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b3f &amp;lt;+467&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x8],0x16&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b47 &amp;lt;+475&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x4],0x1&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b4f &amp;lt;+483&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x8049e18 ; 0x8049e18 = &quot;Error: invalid CD Key\n&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b56 &amp;lt;+490&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x80487f0 &lt;fwrite plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b5b &amp;lt;+495&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x3&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b62 &amp;lt;+502&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048870 &lt;exit plt=&quot;&quot;&gt;&lt;/exit&gt;&lt;/fwrite&gt;&lt;/time&gt;&lt;/random&gt;&lt;/main&gt;&lt;/random&gt;&lt;/time&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The more interesting part; why is it calling SDL functions?&amp;nbsp; SDL is used for drawing.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; 0x08048b67 &amp;lt;+507&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x0&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b6e &amp;lt;+514&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x80487c0 &lt;sdl_init plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b73 &amp;lt;+519&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; test&amp;nbsp;&amp;nbsp; eax,eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b75 &amp;lt;+521&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; je&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8048ba2 &lt;main&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b77 &amp;lt;+523&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048860 &lt;sdl_geterror plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b7c &amp;lt;+528&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx,DWORD PTR ds:0x804a16c&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b82 &amp;lt;+534&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x8],eax&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b86 &amp;lt;+538&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x4],0x8049e30&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b8e &amp;lt;+546&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],edx&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b91 &amp;lt;+549&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048800 &lt;fprintf plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b96 &amp;lt;+554&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x4&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048b9d &amp;lt;+561&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048870 &lt;exit plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048ba2 &amp;lt;+566&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0xc],0x0&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048baa &amp;lt;+574&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x8],0x10&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048bb2 &amp;lt;+582&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp+0x4],0x12c&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048bba &amp;lt;+590&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x140&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08048bc1 &amp;lt;+597&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048780 &lt;sdl_setvideomode plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08049ce0 &amp;lt;+4980&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; ax,0x13f&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08049ce4 &amp;lt;+4984&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; jle&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8049c85 &lt;main&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08049ce6 &amp;lt;+4986&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD PTR [esp],0x3&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08049ced &amp;lt;+4993&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x8048830 &lt;sleep plt=&quot;&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08049cf2 &amp;lt;+4998&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax,0x0&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08049cf7 &amp;lt;+5003&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; ebx,DWORD PTR [ebp-0x4]&lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08049cfa &amp;lt;+5006&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; leave&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; 0x08049cfb &amp;lt;+5007&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; ret&lt;/sleep&gt;&lt;/main&gt;&lt;/sdl_setvideomode&gt;&lt;/exit&gt;&lt;/fprintf&gt;&lt;/sdl_geterror&gt;&lt;/main&gt;&lt;/sdl_init&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We don&#39;t actually need the key to get here.&amp;nbsp; Jumping to 0x08048b67 runs the SDL code:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;(gdb) break main&lt;br /&gt;Breakpoint 1 at 0x8048970&lt;br /&gt;(gdb) run&lt;br /&gt;Starting program: /home/elliptic/solved/bin2002/Game.bin &lt;br /&gt;[Thread debugging using libthread_db enabled]&lt;br /&gt;Using host libthread_db library &quot;/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1&quot;.&lt;br /&gt;&lt;br /&gt;Breakpoint 1, 0x08048970 in main ()&lt;br /&gt;(gdb) jump *0x08048b67&lt;br /&gt;Continuing at 0x8048b67.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;..spawning the window:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://i.imgur.com/Dh2EMoz.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://i.imgur.com/Dh2EMoz.png&quot; width=&quot;307&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MCA-B17EC0D3&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/6604112232898518706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-binary-200-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/6604112232898518706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/6604112232898518706'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-binary-200-2.html' title='MITRE 2013 Writeup : Binary 200 #2'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-6563652891572709232</id><published>2013-07-29T21:44:00.001-04:00</published><updated>2013-07-29T21:44:10.282-04:00</updated><title type='text'>MITRE 2013 Writeup : Binary 200 #1</title><content type='html'>This one wasn&#39;t even a binary.&amp;nbsp; It was a JAR file that you disassembled to yield the following:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.&lt;br /&gt;// Jad home page: http://www.geocities.com/kpdus/jad.html&lt;br /&gt;// Decompiler options: packimports(3) &lt;br /&gt;// Source File Name:&amp;nbsp;&amp;nbsp; Overrated.java&lt;br /&gt;&lt;br /&gt;import java.io.PrintStream;&lt;br /&gt;import java.security.MessageDigest;&lt;br /&gt;import java.security.NoSuchAlgorithmException;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;public class Overrated&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Overrated()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String args[])&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String s = new String();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String s1 = &quot;&lt;b&gt;3d38629f056c942d561b63dbe8e94653&lt;/b&gt;&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Scanner scanner = new Scanner(System.in);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(; !encrypt(s).equals(s1); s = scanner.nextLine())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.print(&quot;Please enter the correct flag to continue: &quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;Good job!&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String encrypt(String s)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String s1 = &quot;&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageDigest messagedigest = MessageDigest.getInstance(&quot;&lt;b&gt;MD5&lt;/b&gt;&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; messagedigest.reset();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; messagedigest.update(s.getBytes());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte abyte0[] = messagedigest.digest();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String s2 = &quot;&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int i = 0; i &amp;lt; abyte0.length; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String s3 = Integer.toHexString(0xff &amp;amp; abyte0[i]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(s3.length() == 1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s1 = (new StringBuilder()).append(s1).append(&quot;0&quot;).append(s3).toString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s1 = (new StringBuilder()).append(s1).append(s3).toString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch(NoSuchAlgorithmException nosuchalgorithmexception) { }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return s1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
32-byte MD5.&amp;nbsp; Pull up your favorite hash cracker and set it up for an 8-byte bruteforce salted with MCA- and with the character set 0123456789ABCDEF:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;elliptic@elliptic:~/hashcat-0.46$ ./hashcat-cli32.bin -m20 -a3 --custom-charset1=?dABCDEF --pw-min=8 --pw-max=8 hash.txt ?1?1?1?1?1?1?1?1&lt;br /&gt;Initializing hashcat v0.46 by atom with 8 threads and 32mb segment-size...&lt;br /&gt;&lt;br /&gt;Added hashes from file hash.txt: 1 (1 salts)&lt;br /&gt;Activating quick-digest mode for single-hash with salt&lt;br /&gt;&lt;br /&gt;NOTE: press enter for status-screen&lt;br /&gt;&lt;br /&gt;3d38629f056c942d561b63dbe8e94653:MCA-:&lt;b&gt;8EC28E12&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;All hashes have been recovered&lt;br /&gt;&lt;br /&gt;Input.Mode: Mask (?1?1?1?1?1?1?1?1)&lt;br /&gt;Index.....: 0/1 (segment), 4294967296 (words), 0 (bytes)&lt;br /&gt;Recovered.: 1/1 hashes, 1/1 salts&lt;br /&gt;Speed/sec.: - plains, 10.39M words&lt;br /&gt;Progress..: 254333816/4294967296 (5.92%)&lt;br /&gt;Running...: 00:00:00:24&lt;br /&gt;Estimated.: 00:00:06:28&lt;br /&gt;&lt;br /&gt;Started: Mon Jul 29 21:41:45 2013&lt;br /&gt;Stopped: Mon Jul 29 21:42:09 2013&lt;br /&gt;elliptic@elliptic:~/hashcat-0.46$ &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
MCA-8EC28E12</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/6563652891572709232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-binary-200-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/6563652891572709232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/6563652891572709232'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-binary-200-1.html' title='MITRE 2013 Writeup : Binary 200 #1'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-5780419010409948921</id><published>2013-07-29T21:28:00.000-04:00</published><updated>2013-07-29T21:28:01.164-04:00</updated><title type='text'>MITRE 2013 Writeup : Binary 100</title><content type='html'>This one was actually broken and unsolvable for some time.&amp;nbsp; It was a Linux executable that displayed the following:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;elliptic@elliptic:~/solved/bin100$ ./hello&lt;br /&gt;Hello, World!&lt;br /&gt;Don&#39;t forget the dash&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Wow.&amp;nbsp; Uninformative.&amp;nbsp; Let&#39;s open it in GDB:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;elliptic@elliptic:~/solved/bin100$ gdb --quiet hello&lt;br /&gt;Reading symbols from /home/elliptic/solved/bin100/hello...(no debugging symbols found)...done.&lt;br /&gt;(gdb) info fun&lt;br /&gt;All defined functions:&lt;br /&gt;&lt;br /&gt;Non-debugging symbols:&lt;br /&gt;0x080482b8&amp;nbsp; _init&lt;br /&gt;0x080482f0&amp;nbsp; puts&lt;br /&gt;0x080482f0&amp;nbsp; puts@plt&lt;br /&gt;0x08048300&amp;nbsp; __gmon_start__&lt;br /&gt;0x08048300&amp;nbsp; __gmon_start__@plt&lt;br /&gt;0x08048310&amp;nbsp; __libc_start_main&lt;br /&gt;0x08048310&amp;nbsp; __libc_start_main@plt&lt;br /&gt;0x08048320&amp;nbsp; _start&lt;br /&gt;0x08048350&amp;nbsp; deregister_tm_clones&lt;br /&gt;0x08048380&amp;nbsp; register_tm_clones&lt;br /&gt;0x080483c0&amp;nbsp; __do_global_dtors_aux&lt;br /&gt;0x080483e0&amp;nbsp; frame_dummy&lt;br /&gt;0x0804840c&amp;nbsp; main&lt;br /&gt;0x08048428&amp;nbsp; &lt;b&gt;MCA02076b3d&lt;/b&gt;&lt;br /&gt;0x08048450&amp;nbsp; __libc_csu_fini&lt;br /&gt;0x08048460&amp;nbsp; __libc_csu_init&lt;br /&gt;0x080484ba&amp;nbsp; __i686.get_pc_thunk.bx&lt;br /&gt;0x080484c0&amp;nbsp; _fini&lt;br /&gt;(gdb) &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
A basic look at the function list gives the key outright.&amp;nbsp; MCA-02076B3D</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/5780419010409948921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-binary-100.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/5780419010409948921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/5780419010409948921'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-binary-100.html' title='MITRE 2013 Writeup : Binary 100'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-7994728713091495059</id><published>2013-07-29T21:22:00.004-04:00</published><updated>2013-07-29T21:22:47.523-04:00</updated><title type='text'>MITRE 2013 Writeup : Cryptography 100</title><content type='html'>Easy one.&amp;nbsp; File came in the form of a &lt;a href=&quot;http://qnfzvyxfunxrolxrivaynjirezlzvyxfunxroevatfnyyguroblfgbgurlnequnafcbvagrqqbjagurfgerrgnggurfznyytebhcbslbhatzraurnqvatgurvejnltrfghevatjvguuvfpubpbyngrfunxrjungqnaybbxrqhcsebzuvfynjazbjrenaqjbaqrerqjulunafxrcgznxvatzvyxfunxrfnaqgurapbzvatgbuvflneqjvgubhgoevatvatuvzbarpurpxbhgzlzvyxfunxrrrgfoevatvatnyygubfroblfgbzllnequnafgubfrneragoblfgurlergurlerabgoblfinggurleryvggyrtveyffnlvatgurleryvxrvgforggregunalbhefchgbalbhetynffrfunafgurlergbbfybjgborlbhatzranggenpgrqolnsebmraqnvelonfrqgerngnaqgurlerzhggrevatfbzrguvatvguvaxgurlzvtugorbhgsbezbergunalbhezvyxfunxrcnyinglbhguvaxgurlzvtugorserapugursyntvfzpnfrirakfvkkfvkkavarkfvkkfrirakfvkksvirkehavguvaxgurlermbzovrfohgmbzovrfqbagyvxrzvyxfunxrfgurlernyyynpgbfrvagbyrenagiurernerlbhtbvatinvginvgsbezrqbagyrggurztrgzlzvyxfunxr/&quot;&gt;text file&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;qnfzvyxfunxrolxrivaynjirezlzvyxfunxroevatfnyyguro&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;blfgbgurlnequnafcbvagrqqbjagurfgerrgnggurfznyyteb&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;hcbslbhatzraurnqvatgurvejnltrfghevatjvguuvfpubpby&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ngrfunxrjungqnaybbxrqhcsebzuvfynjazbjrenaqjbaqrer&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;qjulunafxrcgznxvatzvyxfunxrfnaqgurapbzvatgbuvflne&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;qjvgubhgoevatvatuvzbarpurpxbhgzlzvyxfunxrrrgfoeva&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;tvatnyygubfroblfgbzllnequnafgubfrneragoblfgurlerg&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;urlerabgoblfinggurleryvggyrtveyffnlvatgurleryvxrv&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;gforggregunalbhefchgbalbhetynffrfunafgurlergbbfyb&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;jgborlbhatzranggenpgrqolnsebmraqnvelonfrqgerngnaq&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;gurlerzhggrevatfbzrguvatvguvaxgurlzvtugorbhgsbezb &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ergunalbhezvyxfunxrcnyinglbhguvaxgurlzvtugorserap&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ugursyntvfzpnfrirakfvkkfvkkavarkfvkkfrirakfvkksvi&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;rkehavguvaxgurlermbzovrfohgmbzovrfqbagyvxrzvyxfun&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;xrfgurlernyyynpgbfrvagbyrenagiurernerlbhtbvatinvg&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;invgsbezrqbagyrggurztrgzlzvyxfunxr&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Frequency analysis:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;r (114) occurs 11.573472041612484 %&lt;br /&gt;g (103) occurs 9.622886866059818 %&lt;br /&gt;v (118) occurs 7.022106631989597 %&lt;br /&gt;n (110) occurs 6.892067620286085 %&lt;br /&gt;u (117) occurs 6.892067620286085 %&lt;br /&gt;a (97) occurs 6.631989596879063 %&lt;br /&gt;b (98) occurs 6.501950585175553 %&lt;br /&gt;f (102) occurs 6.371911573472042 %&lt;br /&gt;e (101) occurs 5.3315994798439535 %&lt;br /&gt;l (108) occurs 4.4213263979193757 %&lt;br /&gt;y (121) occurs 4.031209362808843 %&lt;br /&gt;z (122) occurs 3.77113133940182 %&lt;br /&gt;x (120) occurs 3.2509752925877766 %&lt;br /&gt;t (116) occurs 3.1209362808842653 %&lt;br /&gt;q (113) occurs 2.47074122236671 %&lt;br /&gt;h (104) occurs 2.2106631989596878 %&lt;br /&gt;o (111) occurs 2.2106631989596878 %&lt;br /&gt;k (107) occurs 1.5604681404421327 %&lt;br /&gt;j (106) occurs 1.4304291287386216 %&lt;br /&gt;i (105) occurs 1.3003901170351105 %&lt;br /&gt;p (112) occurs 1.1703511053315995 %&lt;br /&gt;s (115) occurs 1.0403120936280884 %&lt;br /&gt;c (99) occurs 0.7802340702210663 %&lt;br /&gt;m (109) occurs 0.39011703511053317 %&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;The most common letters are r at 11.5% and g at 9.6%.&amp;nbsp; &quot;Hey,&quot; says you, &quot;that looks like the &lt;a href=&quot;http://www.math.cornell.edu/~mec/2003-2004/cryptography/subs/frequencies.html&quot;&gt;standard frequency table&lt;/a&gt;!)&amp;nbsp; So it&#39;s probably a substitution cipher.&amp;nbsp; Even better, it&#39;s a &lt;a href=&quot;http://en.wikipedia.org/wiki/Caesar_cipher&quot;&gt;Caesar cipher&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Rotated 13 letters forward:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;DASMILKSHAKEBYKEVINLAWVERMYMILKSHAKEBRINGSALLTHEBOYSTO&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;THEYARDHANSPOINTEDDOWNTHESTREETATTHESMALLGROUPOFYOUNGM&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ENHEADINGTHEIRWAYGESTURINGWITHHISCHOCOLATESHAKEWHATDAN&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;LOOKEDUPFROMHISLAWNMOWERANDWONDEREDWHYHANSKEPTMAKINGMI&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;LKSHAKESANDTHENCOMINGTOHISYARDWITHOUTBRINGINGHIMONECHE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;CKOUTMYMILKSHAKEEETSBRINGINGALLTHOSEBOYSTOMYYARDHANSTH&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;OSEARENTBOYSTHEYRETHEYRENOTBOYSVATTHEYRELITTLEGIRLSSAY&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;INGTHEYRELIKEITSBETTERTHANYOURSPUTONYOURGLASSESHANSTHE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;YRETOOSLOWTOBEYOUNGMENATTRACTEDBYAFROZENDAIRYBASEDTREA&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;TANDTHEYREMUTTERINGSOMETHINGITHINKTHEYMIGHTBEOUTFORMOR&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ETHANYOURMILKSHAKEPALVATYOUTHINKTHEYMIGHTBEFRENCH&lt;b&gt;THEFL&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;b&gt;AGISMCASEVENXSIXXSIXXNINEXSIXXSEVENXSIXXFIVEX&lt;/b&gt;RUNITHINK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;THEYREZOMBIESBUTZOMBIESDONTLIKEMILKSHAKESTHEYREALLLACT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;OSEINTOLERANTVHEREAREYOUGOINGVAITVAITFORMEDONTLETTHEMG&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ETMYMILKSHAKE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;MCA-76696765.&amp;nbsp; Very simple; took us (and most of the teams) a few minutes to solve.&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/7994728713091495059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-cryptography-100.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/7994728713091495059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/7994728713091495059'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-cryptography-100.html' title='MITRE 2013 Writeup : Cryptography 100'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-6412373153921461881</id><published>2013-07-29T21:06:00.001-04:00</published><updated>2013-07-29T21:06:14.637-04:00</updated><title type='text'>MITRE 2013 Writeup : Cryptography 200</title><content type='html'>Cryptography 200 was an &lt;a href=&quot;http://pastebin.com/ewqDmBbB&quot;&gt;encrypted text file&lt;/a&gt;.&amp;nbsp; At first glance it&#39;s not hard to notice that some patterns repeat:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;b&gt;zhdgduknsard&lt;/b&gt;yoeyhdxlnikgullksaeshxaqzhtxcntamjoxrehgsbgncglhtbnnel&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;oahotgkrdjhdgddjldggtkihoabgsdufhjemziseiuzhdhoriolheuglkkylesskrx&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;btgkfhbenxammeooprbisnelgnvotgzhdzwhytdjlhvvhotgkacbemzuqkoezhdhlt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;kczxbttckkvhoisnezjvdtttxenltgksokcjrechamjiw&lt;b&gt;zhdgduknsard&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
which suggests a repeating encryption pattern of some sort (short, repeating XOR cipher turned out to not be the case).&amp;nbsp; The text is also rather long, suggesting that frequency analysis is possible.&lt;br /&gt;
&lt;br /&gt;
Frequency analysis:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;n (110) occurs 7.04927334838747 %&lt;br /&gt;t (116) occurs 6.216663771640322 %&lt;br /&gt;s (115) occurs 6.035319321405825 %&lt;br /&gt;k (107) occurs 5.705749522320653 %&lt;br /&gt;z (122) occurs 5.688147762144635 %&lt;br /&gt;g (103) occurs 5.573273116785363 %&lt;br /&gt;d (100) occurs 5.568177870418621 %&lt;br /&gt;e (101) occurs 5.521162642580047 %&lt;br /&gt;o (111) occurs 5.445428753401656 %&lt;br /&gt;r (114) occurs 5.301140640379828 %&lt;br /&gt;h (104) occurs 5.066759307509698 %&lt;br /&gt;a (97) occurs 4.228822882288229 %&lt;br /&gt;u (117) occurs 3.9571536100978517 %&lt;br /&gt;m (109) occurs 3.7324995657460485 %&lt;br /&gt;i (105) occurs 3.145619825140409 %&lt;br /&gt;c (99) occurs 3.0988361994094147 %&lt;br /&gt;l (108) occurs 2.954548086387586 %&lt;br /&gt;y (121) occurs 2.8218400787447164 %&lt;br /&gt;x (120) occurs 2.638642811649586 %&lt;br /&gt;q (113) occurs 2.2442244224422443 %&lt;br /&gt;v (118) occurs 1.7567019859880726 %&lt;br /&gt;j (106) occurs 1.7418794511030051 %&lt;br /&gt;b (98) occurs 1.6527126396850211 %&lt;br /&gt;f (102) occurs 1.3185107984482658 %&lt;br /&gt;w (119) occurs 0.9365989230501998 %&lt;br /&gt;p (112) occurs 0.6003126628452319 %&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Comparison with an &lt;a href=&quot;http://www.math.cornell.edu/~mec/2003-2004/cryptography/subs/frequencies.html&quot;&gt;actual frequency list&lt;/a&gt; doesn&#39;t yield any results (and substituting the letters in by frequency yields gibberish).&lt;br /&gt;
&lt;br /&gt;
It turns out there&#39;s a way to solve Vigenère ciphers by finding repetitions in the text and retrieving the number of letters between them.&amp;nbsp; Vigenère ciphers are essentially interlaced &lt;a href=&quot;http://en.wikipedia.org/wiki/Caesar_cipher&quot;&gt;Caesar ciphers&lt;/a&gt;.&amp;nbsp; Ex:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Key:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; abcd&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Message:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mexicandanceparty&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Extended Key:&amp;nbsp; abcdabcdabcdabcda&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Encrypted Msg: mfzlcbpgaoehpbtwy&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
where each letter of the message is added to that of the key (A = 0, B = 1, etc., so &lt;b&gt;m&lt;/b&gt;exicandanceparty + &lt;b&gt;a&lt;/b&gt;bcdabcdabcdabcda = &lt;b&gt;m&lt;/b&gt;, m&lt;b&gt;e&lt;/b&gt;xicandanceparty + a&lt;b&gt;b&lt;/b&gt;cdabcdabcdabcda = &lt;b&gt;f&lt;/b&gt;, and so on).&lt;br /&gt;
&lt;br /&gt;
The weakness in a Vigenère cipher is that since the key is repeated for the length of the message, if your message has repeated words, there&#39;s a chance that the encrypted message will have repetitions as well.&amp;nbsp; Ex:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Key:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; abcd&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Message:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;what&lt;/b&gt;youseeis&lt;b&gt;what&lt;/b&gt;youget&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Extended Key:&amp;nbsp; &lt;b&gt;abcd&lt;/b&gt;abcdabcd&lt;b&gt;abcd&lt;/b&gt;abcdab&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Encrypted Msg: &lt;b&gt;wicw&lt;/b&gt;ypwvefkv&lt;b&gt;wicw&lt;/b&gt;ypwjeu&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
There&#39;s 12 letters from the above example between the first letters of the words (wicwypwvefkv = 12 letters) so we know that since the key repeats, the length of the key must be a factor of this (a length of 1, 2, 3, 4, 6, or 12).&amp;nbsp; With enough repetitions, you can figure out the length of the key.&amp;nbsp; And using a dictionary of words, it&#39;s possible to algorithmically determine what the key is, similar to how you&#39;d solve a cryptogram.&lt;br /&gt;
&lt;br /&gt;
This is all &lt;b&gt;~ super great&lt;/b&gt; ~ because not only does our text have repetitions but it is &lt;b&gt;ridiculously long&lt;/b&gt; and fits both requirements for a solvable Vigenère cipher.&amp;nbsp; Feeding it through this &lt;a href=&quot;http://www.mygeocachingprofile.com/codebreaker.vigenerecipher.aspx&quot;&gt;lazy person cipher solver&lt;/a&gt; yields the key (gaz) and the &lt;a href=&quot;http://pastebin.com/jLabt87v&quot;&gt;decrypted text&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;theadventuresofsherlockholmesbysirarthurconandoyleiascand&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;alinbohemiaiitheredheadedleagueiiiacaseofidentityivthebos&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;combevalleymysteryvthefiveorangepipsvithemanwiththetwiste&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;dlipviitheadventureofthebluecarbuncleviiitheadventureofth&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;especkledbandixtheadventureoftheengineersthumbxtheadventu&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;reofthenoblebachelorxitheadventureoftheberylcoronetxiithe&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;adventureofthecopperbeechesadventureiascandalinbohemiaito&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;sherlockholmessheisalwaysthewomanihaveseldomheardhimmenti&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;onherunderanyothernameinhiseyessheeclipsesandpredominates&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;thewholeofhersexitwasnotthathefeltanyemotionakintolovefor&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ireneadlerallemotionsandthatoneparticularlywereabhorrentt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ohiscoldprecisebutadmirablybalancedmindhewasitakeitthemos&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;tperfectreasoningandobservingmachinethattheworldhasseenbu&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;tasaloverhewouldhaveplacedhimselfinafalsepositionhenevers&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;pokeoft..................................................&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;............et cetera et cetera .........................&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;...&lt;b&gt;theflagismcafivezerofivetwofourefourseven&lt;/b&gt;.............&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;MCA-50524E47&lt;/span&gt; &lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/6412373153921461881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-cryptography-200.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/6412373153921461881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/6412373153921461881'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-cryptography-200.html' title='MITRE 2013 Writeup : Cryptography 200'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-8662019163392614133</id><published>2013-07-29T03:52:00.001-04:00</published><updated>2013-07-29T23:08:02.893-04:00</updated><title type='text'>MITRE 24-Hour CTF</title><content type='html'>So I did this &lt;a href=&quot;https://scoreboard.mitrestemctf.org/users&quot;&gt;MITRE 24-hour CTF&lt;/a&gt; with &lt;a href=&quot;http://intothegibson.blogspot.com/&quot;&gt;Vincent&lt;/a&gt;, the president of the hacking club over at the University of Florida, along with two other fellows drjmoo and TobalJackson (also at UF) under the team flag SomethingEpic and landed 12th place.&amp;nbsp; That was pretty cool.&amp;nbsp; I crashed for 24 hours at Vincent&#39;s house and drjmoo and TobalJackson crashed over at UF and fate twisted our way, landing us five places above Georgia Tech and its many MadHatter clones (and only four places down from the Berkeley team, no less).&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVxGZ5C1iiiQM_C7csN50Ya8qvxHXqIZR7z__O_6cXR93ydzXnkTGKDX2u1VnGs1LmFg9b4365NSGVeFA46P6QaNL_BGxzT6EVJqCMthCuftQIKu0QMm2aPvgl35pHy_j1JQMzoV6I1exW/s1600/MITRE.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVxGZ5C1iiiQM_C7csN50Ya8qvxHXqIZR7z__O_6cXR93ydzXnkTGKDX2u1VnGs1LmFg9b4365NSGVeFA46P6QaNL_BGxzT6EVJqCMthCuftQIKu0QMm2aPvgl35pHy_j1JQMzoV6I1exW/s400/MITRE.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Hey look it&#39;s us!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
For the uninitiated, a CTF (capture-the-flag) is a hacking competition where there are certain puzzles in any form, be it an image, or a virtual disk, or an executable or what-say-you, and the idea is to recover some flag cleverly hidden inside of it.&amp;nbsp; The topics this time around were:&lt;br /&gt;
&lt;br /&gt;
Binary: digging through executable files&lt;br /&gt;
Cryptography: encoded files&lt;br /&gt;
Forensics: partially-damaged or unaccessible files&lt;br /&gt;
Grab Bag: anything/everything&lt;br /&gt;
Networking: ..networking&lt;br /&gt;
Web: ..web &lt;br /&gt;
&lt;br /&gt;
Flags were in the format MCA-{8 digits of hex}&lt;br /&gt;
&lt;br /&gt;
Writeups of a few:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-binary-100.html&quot;&gt;Binary 100&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-binary-200-1.html&quot;&gt;Binary 200 #1&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-binary-200-2.html&quot;&gt;Binary 200 #2&lt;/a&gt; &lt;br /&gt;
&lt;a href=&quot;http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-cryptography-100.html&quot;&gt;Cryptography 100&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-cryptography-200.html&quot;&gt;Cryptography 200&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://thatsnail.blogspot.com/2013/07/mitre-2013-writeup-network-200.html&quot;&gt;Networking 200&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/8662019163392614133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-24-hour-ctf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/8662019163392614133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/8662019163392614133'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/07/mitre-24-hour-ctf.html' title='MITRE 24-Hour CTF'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVxGZ5C1iiiQM_C7csN50Ya8qvxHXqIZR7z__O_6cXR93ydzXnkTGKDX2u1VnGs1LmFg9b4365NSGVeFA46P6QaNL_BGxzT6EVJqCMthCuftQIKu0QMm2aPvgl35pHy_j1JQMzoV6I1exW/s72-c/MITRE.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-6722874290540802977</id><published>2013-06-16T21:26:00.001-04:00</published><updated>2013-06-21T20:03:01.636-04:00</updated><title type='text'>DEFCON Quals</title><content type='html'>&lt;div&gt;
So my friend &lt;a href=&quot;https://twitter.com/Qu4ntumvm&quot;&gt;Vincent&lt;/a&gt; referred me to this quaint little convention called&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 64pt;&quot;&gt;DEFCON&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
and more importantly the capture-the-flag competition they were hosting, colorfully titled the Legitimate Business Syndicate Casualty Trauma Festival (their domain was LegitBS.net) . &amp;nbsp;Figured it would be nice, given that it&#39;s a hacking competition and I haven&#39;t done that in a while, so I joined under the banner SSHv3 with Vincent and two states universities in Florida.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
It was relatively nice starting -- Vincent let me know that he had a stash of junk food and coffee if needed (a warning which I unwisely waved off) -- and then it started becoming terrible when the first question opened up.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;a href=&quot;http://exario.blogspot.com/&quot;&gt;Nigel&lt;/a&gt;&amp;nbsp;was invited to it with us but he stayed home. &amp;nbsp;We set up a webcam session for him to participate in proxy. &amp;nbsp;But after glancing at the first question he effectively gave up and began using the webcam session to broadcast 4th grade video projects and to overlay his face with a picture of a cat.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
After three hours no one had solved a thing yet and the organizers &lt;a href=&quot;https://twitter.com/LegitBS_CTF/status/345737516789420033&quot;&gt;decided to open up another question&lt;/a&gt;&amp;nbsp;while simultaneously insulting our heritage. &amp;nbsp;We figured out pretty quickly that it was a &lt;a href=&quot;http://en.wikipedia.org/wiki/15_puzzle&quot;&gt;sliding puzzle&lt;/a&gt;&amp;nbsp;and managed to come up with some innovative ideas. &amp;nbsp;My approach was to generate every possible configuration (9! / 2 =&amp;nbsp;181440 possibilities) and their solutions, store them on disk, and then just do a lookup when it was necessary (the puzzle was timed). &amp;nbsp;Eventually, when it was taking too long (this was around 2 AM) we collectively decided to throw out my approach and do something sensible. &amp;nbsp;I offered to modify it to accept any state already found as a goal state and just append the solution, which worked a bit better but not enough.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
The program had stored nearly 3000 solutions by now and it was solving them relatively quickly but there were a few that were troublesome. &amp;nbsp;We&#39;d both gone through nearly two cups of coffee around now. &amp;nbsp;Vincent eventually started looking up his own algorithms when it became clear I was too stubborn to accept that my horribly inefficient bruteforce method was awful.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
He found a Java program that did it relatively fast and we began hacking through the code for it.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Around this time, he pointed out that the sun was coming up.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
I was ready to kill something by this point. &amp;nbsp;The scoreboard&#39;s theme -- a flashy, pink, hacking syndicate posing as a Japanese business -- grew from &quot;mildly humorous&quot; to &quot;absolutely mocking.&quot; &amp;nbsp;I downed another coffee.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
We were both completely dead, and I was relegated to running the code every time it failed in the hopes that we&#39;d get lucky with really easy slider configurations, when suddenly a line that wasn&#39;t a slider puzzle appeared at the bottom of the window:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&quot;The key is enemas on parade.&quot;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
After 10 hours we have contributed our first and only point to the team.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
The people at the universities fared better; they managed a nice 17 points by the end of it (plus our one makes 18) and actually got some sleep.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
It was not bad.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/6722874290540802977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/06/defcon-quals.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/6722874290540802977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/6722874290540802977'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/06/defcon-quals.html' title='DEFCON Quals'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-3879115813805533595</id><published>2013-06-11T00:26:00.002-04:00</published><updated>2013-06-11T00:26:57.367-04:00</updated><title type='text'>Science vs. Religion is a broken debate</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/YltEym9H0x4?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
It&#39;s not broken, mind you, but the important question got distorted.&lt;br /&gt;
&lt;br /&gt;
Above is a video of Richard Feynman explaining his take on science in comparison to religion. &amp;nbsp;I&#39;m probably biased, because I respect the guy a ton and he&#39;s one of my biggest role models, but what he says in it is exactly correct. &amp;nbsp;I&#39;m stealing his thoughts in this post because I never really found a good way to state my frustration with the theism debate until now.&lt;br /&gt;
&lt;br /&gt;
The current debate, relegated largely to frustrated forums, relay chats, and Reddit, deals with two frameworks.&lt;br /&gt;
&lt;br /&gt;
One, from the side of theism, is that God is the ultimate truth and in order to see that, you must be engaged in the ritual to become closer to God (worship, prayer, what have you). &amp;nbsp;Through miracles, or emotional connections, you will eventually become so close to God that it no longer matters that the scientific grounding is loose because it is not the logical understanding of the nature of the universe that matters but the emotional connection, simply because religion was clearly not made for making structure in the chaos of nature but for emotional and social guidance. &amp;nbsp;People worship religions because it helps mold their behavior and not because it explains why the Earth orbits around the Sun. &amp;nbsp;I don&#39;t agree with this view because I don&#39;t believe in compromising logic for emotional convenience but I understand why people would believe in it.&lt;br /&gt;
&lt;br /&gt;
The second (more muddled side) is atheism, which I&#39;m going to define here as the solid belief that no God exists. &amp;nbsp;There are many confused variants of it, especially with agnosticism (which claims that the existence/non-existence of a deity is by definition unknowable) and religious skepticism (which claims that one is unbelieving in a certain deity until further evidence gives significant doubt otherwise). &amp;nbsp;In this framework, atheism is an assertion in its own right; it is the assertion that &quot;no god, or at least none of the gods proposed by currently-standing religions, exist in our universe,&quot; as opposed to the theistic belief that a god does exist. &amp;nbsp;And this is fine, albeit ugly.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;My problem with this&lt;/b&gt;&amp;nbsp;is when atheists claim it is against the spirit of the scientific method to believe in a God because it shows that they do not understand the scientific method at all. &amp;nbsp;It is impossible to understand the whole of the universe simply because there is no way to verify that one&#39;s knowledge of the universe is complete. &amp;nbsp;Even if all of the proposed questions have been answered, there is no way to verify with 100% certainty that those answers are true. &amp;nbsp;One can only make progress if they accept that certain assumptions will have to be taken for granted; we can only proceed with logic once we assume that our understanding of logic is correct. &amp;nbsp;Of course, it&#39;s unscientific to simply &lt;i&gt;assume&lt;/i&gt;&amp;nbsp;something is correct, but we do so because it is the only means we have of making progress.&lt;br /&gt;
&lt;br /&gt;
Since we cannot understand the whole of the universe, it is reasonable to say that the importance of science is not to find the end result of our pursuit for knowledge. &amp;nbsp;(You could argue that the &quot;end result of science&quot; -- that is, modern science -- has a lot of practical applications that benefit mankind, but if it wasn&#39;t clear by now I&#39;m speaking from a theoretical point-of-view and not a practical one). &amp;nbsp;If it isn&#39;t about reaching the end, then the only possible explanation for the purpose of science, by process of elimination, is that &lt;b&gt;science is about the pursuit itself&lt;/b&gt;. &amp;nbsp;Scientists don&#39;t look for the answer to reality, but rather they pose questions about reality and attempt to make structure out of them based on some precepts that they have assumed to be true as a baseline. &amp;nbsp;This process, called the scientific method, is useful because it creates more structure out of what we have.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;It serves no purpose for science whatsoever to assume the end result &lt;/b&gt;that &quot;there is no God.&quot; &amp;nbsp;What benefit does that have for science? &amp;nbsp;Will we be able to solve the absence of dark matter from the non-existence of God? &amp;nbsp;Will we find the relationship with gravity to the electromagnetic force because we accept that there is no God? &amp;nbsp;You could argue that, yes, it would help us pose such questions in the first place. &amp;nbsp;But given that the scientific community already poses those questions, it does not help us at all.&lt;br /&gt;
&lt;br /&gt;
Theism, at least, has some purpose, as the proof of a deity would dramatically alter our understanding of science, and create new structure. &amp;nbsp;Theists, however, have a bad habit of claiming that structure is not necessary as long as you have faith, and that&#39;s not particularly helpful either.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;If you didn&#39;t get any of that:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Science exists so we can understand more science.&lt;/li&gt;
&lt;li&gt;Accepting certain assertions in science help us create structure so we can understand more science.&lt;/li&gt;
&lt;li&gt;The assertion that God does not exist does not help us create structure apart from denying the structures proposed by theism.&lt;/li&gt;
&lt;li&gt;Therefore, the proposal that &quot;there is no God&quot; is more scientific than &quot;what if there is a God?&quot; is completely bogus because the former has no potential to create structure while the latter has does.&lt;/li&gt;
&lt;li&gt;That being said, the convenient theistic response of &quot;there is a God, and all of your questions will be answered through your ambiguous faith in God&quot; also has no potential to create structure and is equally useless to science.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Two cents.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/3879115813805533595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/06/science-vs-religion-is-broken-debate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/3879115813805533595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/3879115813805533595'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/06/science-vs-religion-is-broken-debate.html' title='Science vs. Religion is a broken debate'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-8236909127432902579</id><published>2013-06-08T01:36:00.001-04:00</published><updated>2013-06-09T20:24:20.120-04:00</updated><title type='text'>Let&#39;s Talk About Etymology</title><content type='html'>I really like etymology. &amp;nbsp;Let&#39;s talk about etymology! &amp;nbsp;Quoth wiki:&lt;br /&gt;
&lt;br /&gt;
Etymology is the study of the history of words, their origins, and how their form and meaning have changed over time. By an extension, the term &quot;the etymology of [a word]&quot; means the origin of the particular word.&lt;br /&gt;
For languages with a long written history, etymologists make use of texts in these languages and texts about the languages to gather knowledge about how words were used during earlier periods of their history and when they entered the languages in question. Etymologists also apply the methods of comparative linguistics to reconstruct information about languages that are too old for any direct information to be available.&lt;br /&gt;
By analyzing related languages with a technique known as the comparative method, linguists can make inferences about their shared parent language and its vocabulary. In this way, word roots have been found that can be traced all the way back to the origin of, for instance, the Indo-European language family.&lt;br /&gt;
Even though etymological research originally grew from the philological tradition, currently much etymological research is done on language families where little or no early documentation is available, such as Uralic and Austronesian.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;I might be working on a game for&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://bacongamejam.org/jams/bacongamejam-05/&quot; style=&quot;font-size: x-small;&quot;&gt;Bacon Game Jam 05&lt;/a&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&amp;nbsp;but be quiet about this.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;b&gt;EDIT: &lt;/b&gt;Just kidding! &amp;nbsp;I hate programming.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Etymological theory recognizes that words originate through a limited number of basic mechanisms, the most important of which are borrowing (i.e., the adoption of &quot;loanwords&quot; from other languages); word formation such as derivation and compounding; and onomatopoeia and sound symbolism, (i.e., the creation of imitative words such as &quot;click&quot;).&lt;br /&gt;
While the origin of newly emerged words is often more or less transparent, it tends to become obscured through time due to sound change or semantic change. Due to sound change, it is not readily obvious that the English word set is related to the word sit (the former is originally a causative formation of the latter). It is even less obvious that bless is related to blood (the former was originally a derivative with the meaning &quot;to mark with blood&quot;).&lt;br /&gt;
Semantic change may also occur. For example, the English word bead originally meant &quot;prayer&quot;. It acquired its modern meaning through the practice of counting the recitation of prayers by using beads.</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/8236909127432902579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/06/lets-talk-about-etymology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/8236909127432902579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/8236909127432902579'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/06/lets-talk-about-etymology.html' title='Let&#39;s Talk About Etymology'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-1423352457663529254</id><published>2013-06-08T01:34:00.000-04:00</published><updated>2013-06-08T01:34:08.635-04:00</updated><title type='text'>HGameSFML2 : SFML 2.0</title><content type='html'>&lt;a href=&quot;https://github.com/ThatSnail/HGameSFML2&quot;&gt;HGameSFML2 Repo&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Updated for SFML 2.0 compatibility.</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/1423352457663529254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/06/hgamesfml2-sfml-20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/1423352457663529254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/1423352457663529254'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/06/hgamesfml2-sfml-20.html' title='HGameSFML2 : SFML 2.0'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-5080740707616389902</id><published>2013-05-21T23:56:00.000-04:00</published><updated>2013-05-21T23:56:01.224-04:00</updated><title type='text'>Aussie Puzzling Spectaculare</title><content type='html'>&lt;b&gt;SPOILERS: &lt;/b&gt;If you&#39;re interested in solving some of the puzzles &lt;a href=&quot;http://www.ms.unimelb.edu.au/~mums/puzzlehunt/puzzles.html&quot;&gt;here&lt;/a&gt;&amp;nbsp;then don&#39;t read this; I clue in some of the answers.&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
There are two essential truths to the universe.&lt;br /&gt;
&lt;br /&gt;
The first is that the jelly will never spread evenly on your toast no matter how hard you try.&lt;br /&gt;
The second is that everything becomes more interesting during exam week. &amp;nbsp;Including Australian puzzle hunts. &amp;nbsp;Yes, me and a collective of eight or nine friends decided to take on the Melbourne University Mathematics and Statistics Society&#39;s Annual &lt;a href=&quot;http://www.ms.unimelb.edu.au/~mums/puzzlehunt/&quot;&gt;Puzzle Hunt&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
This was, needless to say, a very bad idea.&lt;br /&gt;
&lt;br /&gt;
The puzzles are &lt;i&gt;extremely&lt;/i&gt;&amp;nbsp;difficult, each in a different way. &amp;nbsp;&lt;a href=&quot;http://www.ms.unimelb.edu.au/~mums/puzzlehunt/2013/puzzles/1.2_Vitalstatistix_azPbPSSL.pdf&quot;&gt;Look&lt;/a&gt; &lt;a href=&quot;http://www.ms.unimelb.edu.au/~mums/puzzlehunt/2013/puzzles/1.3_Cryptograf_mvytkaZN.pdf&quot;&gt;at&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.ms.unimelb.edu.au/~mums/puzzlehunt/2013/puzzles/2.3_Felix_Platypus_UGJRehFC.pdf&quot;&gt;any&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.ms.unimelb.edu.au/~mums/puzzlehunt/2013/puzzles/4.2_Physix_9VrezYNJ.pdf&quot;&gt;of&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.ms.unimelb.edu.au/~mums/puzzlehunt/2013/puzzles/3.3_Diagnosus_ghQ3AcbJ.html&quot;&gt;them&lt;/a&gt;&amp;nbsp;and you&#39;ll understand why. You have no idea what you&#39;re looking for. &amp;nbsp;There are no prompts, no questions. &amp;nbsp;You have to notice that &lt;a href=&quot;http://www.ms.unimelb.edu.au/~mums/puzzlehunt/2013/puzzles/1.2_Vitalstatistix_azPbPSSL.pdf&quot;&gt;each wheel has 26 spokes&lt;/a&gt;&amp;nbsp;and infer that each contains a letter of the English alphabet. &amp;nbsp;Or that &lt;a href=&quot;http://www.ms.unimelb.edu.au/~mums/puzzlehunt/2013/puzzles/1.3_Cryptograf_mvytkaZN.pdf&quot;&gt;certain Chinese letters read out as English words&lt;/a&gt; when rotated counterclockwise. &amp;nbsp;Last year, myself and a team of six managed to solved a total of zero puzzles.&lt;br /&gt;
&lt;br /&gt;
Zero out of twenty.&lt;br /&gt;
&lt;br /&gt;
Despite this, I convinced a bunch of people to participate and we (somewhat begrudgingly) assembled an odd team of some nine people. &amp;nbsp;Given last year&#39;s brilliant score, I wasn&#39;t particularly optimistic.&lt;br /&gt;
&lt;br /&gt;
We wrecked. &amp;nbsp;We solved ten out of twenty puzzles, on par with the MIT team, and landed 54th place out of 219 teams.&lt;br /&gt;
&lt;br /&gt;
I had known previously that a lot of those in my group were rather smart but it wasn&#39;t ever as apparent as during the puzzlehunt. &amp;nbsp;One guy identified eight buildings based on their overhead street maps. &amp;nbsp;Two others programmed bruteforce algorithms for a network. &amp;nbsp;Another guy converted 2D animations of what he described as &quot;pokemon MRI&#39;s&quot; and created full 3D models out of them. &amp;nbsp;Yet another recognized what sort of looked to me like a barcode to be an abstract rendition of &lt;a href=&quot;http://en.wikipedia.org/wiki/File:Whistlers_Mother_high_res.jpg&quot;&gt;Whistler&#39;s Mother&lt;/a&gt;. &amp;nbsp;Same guy took what we had of a country code (an I and a P?) and correctly guessed &quot;Swedish Meatballs&quot; five minutes before the deadline.&lt;br /&gt;
&lt;br /&gt;
All in all a really excellent experience, and I&#39;d encourage anyone to participate.</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/5080740707616389902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/05/aussie-puzzling-spectaculare.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/5080740707616389902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/5080740707616389902'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/05/aussie-puzzling-spectaculare.html' title='Aussie Puzzling Spectaculare'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-2330139440000922988</id><published>2013-04-17T23:03:00.002-04:00</published><updated>2013-04-17T23:03:51.562-04:00</updated><title type='text'>Awful Jokes Bot has a home!</title><content type='html'>Finally set up&amp;nbsp;&lt;a href=&quot;https://twitter.com/awfuljokesbot&quot;&gt;@AwfulJokesBot&lt;/a&gt;&amp;nbsp;to generate a joke every four hours.&lt;br /&gt;
&lt;br /&gt;
Special thanks to &lt;a href=&quot;http://orange08indie.blogspot.com/&quot;&gt;orange&lt;/a&gt; for reminding me that it&#39;s a thing. &amp;nbsp;Also thanks to&amp;nbsp;&lt;a href=&quot;http://www.messageintercepted.com/&quot;&gt;Message Intercepted&lt;/a&gt;&amp;nbsp;for an optimized rewrite and the staff of&amp;nbsp;&lt;a href=&quot;http://asmallorange.com/&quot;&gt;A Small Orange&lt;/a&gt;&amp;nbsp;for some of the best tech support I&#39;ve ever had.</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/2330139440000922988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/04/awful-jokes-bot-has-home.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/2330139440000922988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/2330139440000922988'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/04/awful-jokes-bot-has-home.html' title='Awful Jokes Bot has a home!'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-8507911884529036202</id><published>2013-04-12T15:02:00.002-04:00</published><updated>2013-04-12T15:02:47.326-04:00</updated><title type='text'>Spambot Trap</title><content type='html'>The &lt;a href=&quot;http://earthobservatory.nasa.gov/&quot;&gt;Earth&lt;/a&gt; is flat. &amp;nbsp;&lt;a href=&quot;http://www.barackobama.com/&quot;&gt;Obama&lt;/a&gt; is actually part of the Taliban. &amp;nbsp;The &lt;a href=&quot;http://www.ushmm.org/wlc/&quot;&gt;Holocaust&lt;/a&gt; never happened. &amp;nbsp;&lt;a href=&quot;http://www.bbc.co.uk/history/historic_figures/stalin_joseph.shtml&quot;&gt;Stalin&lt;/a&gt; is alive and disguised as a member of Congress. &amp;nbsp;&lt;a href=&quot;http://science.howstuffworks.com/space/aliens-ufos/area-51.htm&quot;&gt;Area 51&lt;/a&gt; is used as a means of contacting with an underground civilization of mole people that constantly break into people&#39;s homes and relocate remotes and car keys. &amp;nbsp;We never should have abolished slavery, and we &lt;a href=&quot;http://www.thespacereview.com/article/184/1&quot;&gt;never visited the moon&lt;/a&gt;; all of the photos were faked.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
(This is a spambot trap. &amp;nbsp;I&#39;ve noticed a recent increase in bot comments on my blog and want to see their opinions. &amp;nbsp;Should be interesting).</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/8507911884529036202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/04/spambot-trap.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/8507911884529036202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/8507911884529036202'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/04/spambot-trap.html' title='Spambot Trap'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-3469030243787468191</id><published>2013-03-18T17:45:00.001-04:00</published><updated>2013-03-18T17:45:07.462-04:00</updated><title type='text'>GitHub Dump</title><content type='html'>I needed to upload a bunch of old projects for some new employment things onto GitHub and they&#39;re not really complete or anything but here they are anyways.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/ThatSnail/NeuralAPI&quot;&gt;NeuralAPI&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://github.com/ThatSnail/FacialRecognitionHKM&quot;&gt;FacialRecognitionHKM&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://github.com/ThatSnail/WebcamDraw&quot;&gt;WebcamDraw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
More of a personal post for my own organization, feel free to ignore.</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/3469030243787468191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/03/github-dump.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/3469030243787468191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/3469030243787468191'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/03/github-dump.html' title='GitHub Dump'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-8509627683035670387</id><published>2013-03-18T13:41:00.004-04:00</published><updated>2013-03-18T13:41:57.946-04:00</updated><title type='text'>Pannenkoekenhuis (Windows Phone) : Published!</title><content type='html'>&lt;a href=&quot;http://www.windowsphone.com/en-us/store/app/pannenkoekenhuis/4de396e4-a5ad-4f2a-b758-f38bad7e3048&quot;&gt;Pannenkoekenhuis : Windows Phone Store&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Free for probably indefinitely. &amp;nbsp;Comment / email me with suggestions and bugs.</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/8509627683035670387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/03/pannenkoekenhuis-windows-phone-published.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/8509627683035670387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/8509627683035670387'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/03/pannenkoekenhuis-windows-phone-published.html' title='Pannenkoekenhuis (Windows Phone) : Published!'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-539790154739795085</id><published>2013-03-08T23:52:00.001-05:00</published><updated>2013-03-08T23:52:51.519-05:00</updated><title type='text'>Starbucks</title><content type='html'>I haven&#39;t written a post in a while and this isn&#39;t particularly interesting but I thought I&#39;d share.&lt;br /&gt;
&lt;br /&gt;
Coffee is amazing. &amp;nbsp;This is old news for most of you, but I&#39;ve just started drinking coffee regularly and it&#39;s the best thing ever. &amp;nbsp;After class I&#39;ll bike to Starbucks for an hour (it&#39;s right next to my school) and start working on stuff. &amp;nbsp;I do freelance programming now. &amp;nbsp;It&#39;s nice because you set your own hours and pick your own jobs and get an immediate paycheck once you finish. &amp;nbsp;I count my salary in how many macchiatos I can buy with it. &amp;nbsp;Drink coffee to work, and work to drink coffee.&lt;br /&gt;
&lt;br /&gt;
Such is the life.&lt;br /&gt;
&lt;br /&gt;
This one time there was a job interview happening a table across from me, and the interviewee, a male in his early 30&#39;s it looked, was trying to sell himself for a teaching position (or so it seemed -- they never said what it was for). &amp;nbsp;I had been in the coffeehouse for a few hours by then and had watched the other interviewers come and go. &amp;nbsp;The other two interviewees before him seemed very average; formal. &amp;nbsp;But this guy. &amp;nbsp;He was hard-pressed to show exactly how interactive he was and how his teaching style would be super progressive and active and super full of energy and how this was his dream job and how he would do everything for the&lt;br /&gt;
&lt;br /&gt;
&quot;Hey how are you!&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;wut&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
I looked back down at my book, pretending that he wasn&#39;t talking to me even though he was speaking directly in my direction. &amp;nbsp;Long awkward pause -- and then I realized this was part of his &quot;super friendly guy&quot; shtick for the interview. &amp;nbsp;&quot;Oh, hi.&quot; &amp;nbsp;I waved kind of awkwardly, and he returned the awkwardness with a sort of half-laugh, and I left the coffeeshop astounded at my ability to ruin the interview of complete strangers without even trying.&lt;br /&gt;
&lt;br /&gt;
So that is Starbucks.</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/539790154739795085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/03/starbucks.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/539790154739795085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/539790154739795085'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/03/starbucks.html' title='Starbucks'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-2206570474592672523</id><published>2013-03-01T17:30:00.002-05:00</published><updated>2013-03-01T17:34:13.696-05:00</updated><title type='text'>Pannenkoekenhuis (Windows Phone) : Closed Beta</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://i.imgur.com/VhdZwZI.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;342&quot; src=&quot;http://i.imgur.com/VhdZwZI.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;None of you believed me&lt;/b&gt;&amp;nbsp;when I said I&#39;d actually get something on mobile. &amp;nbsp;None. &amp;nbsp;Zero. &amp;nbsp;Well, guess what?&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;I showed up all of you.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Pannenkoekenhuis is now in closed beta on Windows Phone. &amp;nbsp;If you own one, toss me your Microsoft Account email address and I&#39;ll send you a copy for review!&lt;br /&gt;
&lt;br /&gt;
I&#39;m expecting to release it to the general public in about a week. &amp;nbsp;&lt;i&gt;Until then&lt;/i&gt;, I suppose.&lt;br /&gt;
&lt;br /&gt;
(Many thanks to &lt;a href=&quot;http://www.messageintercepted.com/&quot;&gt;Message Intercepted&lt;/a&gt; for the music!)</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/2206570474592672523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/03/pannenkoekenhuis-windows-phone-closed.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/2206570474592672523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/2206570474592672523'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/03/pannenkoekenhuis-windows-phone-closed.html' title='Pannenkoekenhuis (Windows Phone) : Closed Beta'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-6865965946981338822</id><published>2013-02-07T14:35:00.003-05:00</published><updated>2013-02-07T14:35:38.824-05:00</updated><title type='text'>raocow : &quot;Diagnosis&quot; Video Review</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;object width=&quot;320&quot; height=&quot;266&quot; class=&quot;BLOGGER-youtube-video&quot; classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot; data-thumbnail-src=&quot;http://1.gvt0.com/vi/zqG7t3ftr_U/0.jpg&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/zqG7t3ftr_U&amp;fs=1&amp;source=uds&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;embed width=&quot;320&quot; height=&quot;266&quot;  src=&quot;http://www.youtube.com/v/zqG7t3ftr_U&amp;fs=1&amp;source=uds&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br /&gt;
The awesome&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/user/raocow&quot;&gt;raocow&lt;/a&gt;&amp;nbsp;made a review of &lt;a href=&quot;http://thatsnail.blogspot.com/2011/05/diagnosis-finished.html&quot;&gt;Diagnosis&lt;/a&gt;&amp;nbsp;today and it&#39;s really funny. He also reviewed &lt;a href=&quot;http://www.youtube.com/watch?v=rxQKjgpG0Go&quot;&gt;Psycho Powers&lt;/a&gt; by a friend.&lt;br /&gt;
&lt;br /&gt;
I&#39;m really happy that there are people dedicated to the indie game community like this; raocow&#39;s an awesomely good-humoured guy and it&#39;s fun watching his reactions.&lt;br /&gt;
&lt;br /&gt;
Go subscribe to him!</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/6865965946981338822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/02/raocow-diagnosis-video-review.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/6865965946981338822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/6865965946981338822'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/02/raocow-diagnosis-video-review.html' title='raocow : &quot;Diagnosis&quot; Video Review'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-2984563860728570382</id><published>2013-02-05T19:58:00.005-05:00</published><updated>2013-02-05T19:58:28.906-05:00</updated><title type='text'>Moxie Marlinspike</title><content type='html'>Here read &lt;a href=&quot;http://www.thoughtcrime.org/stories.html&quot;&gt;all of these&lt;/a&gt; and marvel at how much life you&#39;ve been missing.</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/2984563860728570382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/02/moxie-marlinspike.html#comment-form' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/2984563860728570382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/2984563860728570382'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/02/moxie-marlinspike.html' title='Moxie Marlinspike'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-5931482485760738476</id><published>2013-01-22T21:23:00.001-05:00</published><updated>2013-01-22T21:23:14.521-05:00</updated><title type='text'>C++ : Facial Detection - Viola-Jones</title><content type='html'>So I completely abandoned what I had earlier because it wasn&#39;t great; here&#39;s another attempt using the well-known &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/viola/Pubs/Detect/violaJones_IJCV.pdf&quot;&gt;Viola-Jones&lt;/a&gt; paper.&lt;br /&gt;
&lt;br /&gt;
The algorithm is fairly straightforward. &amp;nbsp;Imagine you have a few hundred images of faces (24 px by 24 px) and a thousand times more images of non-faces (also 24 px by 24 px). &amp;nbsp;The program first tries to &quot;learn&quot; a classifier based on Haar-like rectangular features. &amp;nbsp;A &quot;feature&quot; is essentially all of the pixels in one area of the image added together, minus the pixels in another area added together. &amp;nbsp;The &quot;weak classifier&quot; takes this value and classifies it as &quot;face&quot; or &quot;not face&quot; based on a threshold and a polarity. &amp;nbsp;So, if your threshold is 50, and your polarity is &quot;greater than,&quot; the weak classifier will classify an image as a face if the sum of one area minus the sum of another is &quot;greater than 50.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://alliance.seas.upenn.edu/~cis520/wiki/uploads/Lectures/viola_jones_first2_small.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;185&quot; src=&quot;https://alliance.seas.upenn.edu/~cis520/wiki/uploads/Lectures/viola_jones_first2_small.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Image by Viola-Jones, examples of Haar-like features&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
In the above image, you&#39;d sum up the pixels in the white rectangle minus the pixels in the black rectangles for your feature value. &amp;nbsp;The weak classifier returns a 1 or a 0, depending on whether this value is greater than or less than (depending on your polarity) the threshold for that classifier (1 represents &quot;face,&quot; 0 represents &quot;not face&quot;).&lt;br /&gt;
&lt;br /&gt;
You can see in general how it works; the eyebrows are typically darker than the cheeks, and the bridge of the nose is typically brighter than the two sides of the face around it. &amp;nbsp;The classifier is considered &quot;weak&quot; because it just so happens that no single classifier is very good at recognizing faces. &amp;nbsp;The &quot;strong classifier&quot; comes from combining a lot of weak classifiers together based on their weighted errors (a somewhat complex process that you&#39;ll want to look in the paper for).&lt;br /&gt;
&lt;br /&gt;
In order to find the weak classifiers, the algorithm uses&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/AdaBoost&quot;&gt;AdaBoost&lt;/a&gt;, which essentially brute-forces all possible feature/polarity/threshold combinations for the one that mis-classifies the smallest number of images. &amp;nbsp;This is sadly an O(AB) process, where A is the number of possible features (160,000+) and B is the number of face/non-face images (at least 20000). &amp;nbsp;(Of course, this process is also repeated for the number of weak classifiers you are finding, so it might as well be O(ABC), where C is the number of classifiers). &amp;nbsp;This is something like&amp;nbsp;3,200,000,000 operations, not counting K.&lt;br /&gt;
&lt;br /&gt;
There are some optimizations one can make. &amp;nbsp;Finding the sum of the pixels in any rectangle can be done in constant time (O(1)) if you use an integral image. &amp;nbsp;That is, create an integral image where each pixel represents the sum of all the pixels to the top and left of itself.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.cs264.org/2009/projects/web/Dai_Yi/Hsiao_Dai_Website/integral_image.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;http://www.cs264.org/2009/projects/web/Dai_Yi/Hsiao_Dai_Website/integral_image.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Image by&amp;nbsp;Chuan-Heng Hsiao and Amy Dai&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
The sum of the rectangle ABCD, above, is then just C - B - D + A. &amp;nbsp;This is given by the fact that the rectangle at point C is all of the area from the top-left corner to C. &amp;nbsp;Cutting off D and B (same principle) means we subtract the area represented by A twice; we compensate by adding A at the end. &amp;nbsp;Hence, it becomes very easy to find the sum of any rectangle. &amp;nbsp;(Constructing the integral image is another story -- you have to iterate through every pixel -- although since rectangles overlap there are some optimizations you can make there as well).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;In a nutshell:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Find a bunch of rectangular features that determine face-ly-ness of an image by brute-force en masse.&lt;/li&gt;
&lt;li&gt;Combine the features and their weighted errors to make a strong classifier.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;b&gt;Problems:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Horribly slow for the aformentioned reason (on the magnitude of days to weeks to train).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
There&#39;s an implementation in &lt;a href=&quot;http://opencv.willowgarage.com/wiki/&quot;&gt;OpenCV&lt;/a&gt;&amp;nbsp;for it but I might GitHub my own implementation. &amp;nbsp;Granted, I&#39;m not willing to test it given the long computational time. &amp;nbsp;It&#39;s probably all wrong.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Images and papers credit given where due (Viola and Jones for Viola-Jones (surprise!) and Freund, Schapire for AdaBoost).&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/5931482485760738476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/01/c-facial-detection-viola-jones.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/5931482485760738476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/5931482485760738476'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/01/c-facial-detection-viola-jones.html' title='C++ : Facial Detection - Viola-Jones'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8204420330478623625.post-1437886205753325394</id><published>2013-01-20T10:21:00.001-05:00</published><updated>2013-01-20T10:21:37.715-05:00</updated><title type='text'>Verizon App Challenge</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Me and a few friends are doing this &lt;a href=&quot;http://appchallenge.tsaweb.org/&quot;&gt;Verizon Innovative App Challenge&lt;/a&gt;&amp;nbsp;thing where we think of something communities need and pitch the idea for an app, or something. &amp;nbsp;So I made this video. &amp;nbsp;Enjoy, I think.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/xzfKmaofyIw?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://thatsnail.blogspot.com/feeds/1437886205753325394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thatsnail.blogspot.com/2013/01/verizon-app-challenge.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/1437886205753325394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8204420330478623625/posts/default/1437886205753325394'/><link rel='alternate' type='text/html' href='http://thatsnail.blogspot.com/2013/01/verizon-app-challenge.html' title='Verizon App Challenge'/><author><name>ThatSnail</name><uri>http://www.blogger.com/profile/08227036240398399531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6fUXFyzZhDu_kW4WvHg8WQd1sa6LjZaS3CdbbjF6utBdO3RphEodVOR6Vq-QgOE4fjWo0QyWRDhwC6pG834P3fmw3cbQLjUH69FJXTkMOuT7CGt7LGFYmu4m0KUtVA/s220/DoubleFish.png'/></author><thr:total>5</thr:total></entry></feed>