<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Reversing CRC</title>
	<atom:link href="http://blog.affien.com/archives/2005/07/15/reversing-crc/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/</link>
	<description>A few thoughts</description>
	<lastBuildDate>Sun, 31 May 2009 12:07:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Bas Westerbaan</title>
		<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/comment-page-1/#comment-164705</link>
		<dc:creator>Bas Westerbaan</dc:creator>
		<pubDate>Sat, 01 Mar 2008 18:53:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.w-nz.com/?p=113#comment-164705</guid>
		<description>In some way shorten the stream by four bytes and then append the patch.  In theory the algorithm could be adapted for a patch somewhere in the middle.  It&#039;s very old code though, so I couldn&#039;t really fix something together for that.</description>
		<content:encoded><![CDATA[<p>In some way shorten the stream by four bytes and then append the patch.  In theory the algorithm could be adapted for a patch somewhere in the middle.  It&#8217;s very old code though, so I couldn&#8217;t really fix something together for that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: john</title>
		<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/comment-page-1/#comment-164704</link>
		<dc:creator>john</dc:creator>
		<pubDate>Sat, 01 Mar 2008 18:42:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.w-nz.com/?p=113#comment-164704</guid>
		<description>From your example above it only shows on how to APPEND 4 bytes to the file/content, what if for example a buffer size is fixed and i want to CHANGE 4  bytes of the existing buffer content. How can i do that using your python code?</description>
		<content:encoded><![CDATA[<p>From your example above it only shows on how to APPEND 4 bytes to the file/content, what if for example a buffer size is fixed and i want to CHANGE 4  bytes of the existing buffer content. How can i do that using your python code?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bas</title>
		<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/comment-page-1/#comment-162753</link>
		<dc:creator>Bas</dc:creator>
		<pubDate>Tue, 12 Feb 2008 07:36:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.w-nz.com/?p=113#comment-162753</guid>
		<description>The CRC of a document depends solely on the contents of a document.  If you change, append or remove contents the CRC will change.  What my script does, is to calculate which 4 bytes you should append to a document to let its CRC change to any given CRC.  Obviously depending on its current CRC.

In your case (as you can read in my second previous comment) you need to append the following &lt;strong&gt;four&lt;/strong&gt; bytes:
  &lt;code&gt;ef&lt;/code&gt;, ‘)’, &lt;code&gt;f3&lt;/code&gt; and &lt;code&gt;b1&lt;/code&gt;.
Obviously you should use the ASCII code of &#039;)&#039; and the character represented by the hexadecimal notation &#039;ef&#039;.</description>
		<content:encoded><![CDATA[<p>The CRC of a document depends solely on the contents of a document.  If you change, append or remove contents the CRC will change.  What my script does, is to calculate which 4 bytes you should append to a document to let its CRC change to any given CRC.  Obviously depending on its current CRC.</p>
<p>In your case (as you can read in my second previous comment) you need to append the following <strong>four</strong> bytes:<br />
  <code>ef</code>, ‘)’, <code>f3</code> and <code>b1</code>.<br />
Obviously you should use the ASCII code of &#8216;)&#8217; and the character represented by the hexadecimal notation &#8216;ef&#8217;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JayTee</title>
		<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/comment-page-1/#comment-162736</link>
		<dc:creator>JayTee</dc:creator>
		<pubDate>Tue, 12 Feb 2008 04:05:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.w-nz.com/?p=113#comment-162736</guid>
		<description>I dont understand is how the CRC of my desired file is changed to my desired CRC.

Do i have to input sumtin in the document to make the CRC change.</description>
		<content:encoded><![CDATA[<p>I dont understand is how the CRC of my desired file is changed to my desired CRC.</p>
<p>Do i have to input sumtin in the document to make the CRC change.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bas</title>
		<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/comment-page-1/#comment-162688</link>
		<dc:creator>Bas</dc:creator>
		<pubDate>Mon, 11 Feb 2008 15:58:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.w-nz.com/?p=113#comment-162688</guid>
		<description>&quot;Sorry that im noob .. ^^&quot; doesn&#039;t tell me what you don&#039;t understand.</description>
		<content:encoded><![CDATA[<p>&#8220;Sorry that im noob .. ^^&#8221; doesn&#8217;t tell me what you don&#8217;t understand.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JayTee</title>
		<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/comment-page-1/#comment-162674</link>
		<dc:creator>JayTee</dc:creator>
		<pubDate>Mon, 11 Feb 2008 11:06:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.w-nz.com/?p=113#comment-162674</guid>
		<description>OK 

if __name__ == &#039;__main__&#039;:
    crc32 = Crc32Provider()
    print &quot;We take a message which has the hash 0xdeadbeaf&quot;
    # Thanks to path:
    #   http://blog.w-nz.com/archives/2005/07/15/reversing-crc/#comments
    crc32._hash = crc32.xorOut ^ NumberFromHexadecimal(&#039;deadbeaf&#039;)
    print &quot;Required patch to make the hash 0x12345678:&quot;
    p = crc32.patch(NumberFromHexadecimal(&#039;12345678&#039;))
    print p
    print &quot;Applying patch, resulting hash:&quot;
    crc32.update(p)
    print NumberToHexadecimal(crc32.hash)
    print &quot;It works ^_^&quot;


You replace the current CRC32 where it says deadbeaf in this column
 crc32._hash = crc32.xorOut ^ NumberFromHexadecimal(&#039;deadbeaf&#039;)
and you replace desired CRC32 where it says 12345678 in this column
 p = crc32.patch(NumberFromHexadecimal(&#039;12345678&#039;))

then you save it ..
then you run it and then what .. sorry that im noob .. ^^</description>
		<content:encoded><![CDATA[<p>OK </p>
<p>if __name__ == &#8216;__main__&#8217;:<br />
    crc32 = Crc32Provider()<br />
    print &#8220;We take a message which has the hash 0xdeadbeaf&#8221;<br />
    # Thanks to path:<br />
    #   <a href="http://blog.w-nz.com/archives/2005/07/15/reversing-crc/#comments" rel="nofollow">http://blog.w-nz.com/archives/2005/07/15/reversing-crc/#comments</a><br />
    crc32._hash = crc32.xorOut ^ NumberFromHexadecimal(&#8217;deadbeaf&#8217;)<br />
    print &#8220;Required patch to make the hash 0&#215;12345678:&#8221;<br />
    p = crc32.patch(NumberFromHexadecimal(&#8217;12345678&#8242;))<br />
    print p<br />
    print &#8220;Applying patch, resulting hash:&#8221;<br />
    crc32.update(p)<br />
    print NumberToHexadecimal(crc32.hash)<br />
    print &#8220;It works ^_^&#8221;</p>
<p>You replace the current CRC32 where it says deadbeaf in this column<br />
 crc32._hash = crc32.xorOut ^ NumberFromHexadecimal(&#8217;deadbeaf&#8217;)<br />
and you replace desired CRC32 where it says 12345678 in this column<br />
 p = crc32.patch(NumberFromHexadecimal(&#8217;12345678&#8242;))</p>
<p>then you save it ..<br />
then you run it and then what .. sorry that im noob .. ^^</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bas Westerbaan</title>
		<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/comment-page-1/#comment-162669</link>
		<dc:creator>Bas Westerbaan</dc:creator>
		<pubDate>Mon, 11 Feb 2008 09:17:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.w-nz.com/?p=113#comment-162669</guid>
		<description>Download the &lt;a href=&quot;http://w-nz.com/~darkshines/projects/crc-rev-v0.01b.tar&quot; rel=&quot;nofollow&quot;&gt;python example code&lt;/a&gt;. If you haven&#039;t got it, download and install &lt;a href=&quot;http://python.org&quot; rel=&quot;nofollow&quot;&gt;Python&lt;/a&gt;.  Extract the example code to a folder and open up &lt;code&gt;crc.py&lt;/code&gt;.

At the bottom of the file you see the code that is run when you directly execute &lt;code&gt;crc.py&lt;/code&gt;.  I hope for you it&#039;s a plain CRC hash.  In that case replace &lt;code&gt;deadbeaf&lt;/code&gt; with yours (&lt;code&gt;2ca91a04&lt;/code&gt;). And replace the desired hash &lt;code&gt;12345678&lt;/code&gt; with  yours. (&lt;code&gt;c8fd18cb&lt;/code&gt;).

Run the script via &lt;code&gt;python crc.py&lt;/code&gt; and it should output the patching bytes. It looks a bit like a mess because it aren&#039;t all printable ASCII characters.  This are the repr-ered contents: &lt;code&gt;&#039;\xef)\xf3\xb1&#039;&lt;/code&gt;. So, append the &lt;strong&gt;byte&lt;/strong&gt;s ef, &#039;)&#039;,  f3, b1  to your file and you should be fine.</description>
		<content:encoded><![CDATA[<p>Download the <a href="http://w-nz.com/~darkshines/projects/crc-rev-v0.01b.tar" rel="nofollow">python example code</a>. If you haven&#8217;t got it, download and install <a href="http://python.org" rel="nofollow">Python</a>.  Extract the example code to a folder and open up <code>crc.py</code>.</p>
<p>At the bottom of the file you see the code that is run when you directly execute <code>crc.py</code>.  I hope for you it&#8217;s a plain CRC hash.  In that case replace <code>deadbeaf</code> with yours (<code>2ca91a04</code>). And replace the desired hash <code>12345678</code> with  yours. (<code>c8fd18cb</code>).</p>
<p>Run the script via <code>python crc.py</code> and it should output the patching bytes. It looks a bit like a mess because it aren&#8217;t all printable ASCII characters.  This are the repr-ered contents: <code>'\xef)\xf3\xb1'</code>. So, append the <strong>byte</strong>s ef, &#8216;)&#8217;,  f3, b1  to your file and you should be fine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JayTee</title>
		<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/comment-page-1/#comment-162665</link>
		<dc:creator>JayTee</dc:creator>
		<pubDate>Mon, 11 Feb 2008 08:57:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.w-nz.com/?p=113#comment-162665</guid>
		<description>THanks for replying .. 

But i just got into scripts and codes and i would like someone to explain how to change the CRC32 hash to the hash you desire .. 

but could u plz explain it to me coz im a noobie and theres about 100 ppl counting on me to figure it out .. (and im not joking)</description>
		<content:encoded><![CDATA[<p>THanks for replying .. </p>
<p>But i just got into scripts and codes and i would like someone to explain how to change the CRC32 hash to the hash you desire .. </p>
<p>but could u plz explain it to me coz im a noobie and theres about 100 ppl counting on me to figure it out .. (and im not joking)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bas Westerbaan</title>
		<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/comment-page-1/#comment-162660</link>
		<dc:creator>Bas Westerbaan</dc:creator>
		<pubDate>Mon, 11 Feb 2008 08:21:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.w-nz.com/?p=113#comment-162660</guid>
		<description>@JayTee,

The method I describe works by calculating the four bytes that you need to append to any given file to change the hash to the one you desire.  Just modify the Python or Java example to suit your needs.</description>
		<content:encoded><![CDATA[<p>@JayTee,</p>
<p>The method I describe works by calculating the four bytes that you need to append to any given file to change the hash to the one you desire.  Just modify the Python or Java example to suit your needs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JayTee</title>
		<link>http://blog.affien.com/archives/2005/07/15/reversing-crc/comment-page-1/#comment-162659</link>
		<dc:creator>JayTee</dc:creator>
		<pubDate>Mon, 11 Feb 2008 08:04:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.w-nz.com/?p=113#comment-162659</guid>
		<description>Hey

I was just wondering if anyone could help me out here. As you all know when you edit your file the CRC32 changes and you can right click&gt;properties&gt;filehashes and see how its changed.

But what i want to know is; If i had a CRC32 value in my head and i wanted to change the CRC32 into this valuem, what would i have to do to edit it.

EG Tips.xml &gt;right-click&gt;properties&gt;file hashes and it has

2CA91A04
but maybe i wanted to change it to 
C8FD18CB

How would i do that .. please i am desperate i need to know.</description>
		<content:encoded><![CDATA[<p>Hey</p>
<p>I was just wondering if anyone could help me out here. As you all know when you edit your file the CRC32 changes and you can right click&gt;properties&gt;filehashes and see how its changed.</p>
<p>But what i want to know is; If i had a CRC32 value in my head and i wanted to change the CRC32 into this valuem, what would i have to do to edit it.</p>
<p>EG Tips.xml &gt;right-click&gt;properties&gt;file hashes and it has</p>
<p>2CA91A04<br />
but maybe i wanted to change it to<br />
C8FD18CB</p>
<p>How would i do that .. please i am desperate i need to know.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
