<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://switchbrew.org/w/index.php?action=history&amp;feed=atom&amp;title=Talk%3AXCI</id>
	<title>Talk:XCI - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://switchbrew.org/w/index.php?action=history&amp;feed=atom&amp;title=Talk%3AXCI"/>
	<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Talk:XCI&amp;action=history"/>
	<updated>2026-04-30T09:26:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Talk:XCI&amp;diff=10801&amp;oldid=prev</id>
		<title>DarkMatterCore: Created page with &quot;== CardInfo UppHash value ==  I have successfully decrypted the &lt;code&gt;CardInfo&lt;/code&gt; area from a personal gamecard dump retrieved through my own application ([https://github....&quot;</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Talk:XCI&amp;diff=10801&amp;oldid=prev"/>
		<updated>2021-04-06T23:13:53Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== CardInfo UppHash value ==  I have successfully decrypted the &amp;lt;code&amp;gt;CardInfo&amp;lt;/code&amp;gt; area from a personal gamecard dump retrieved through my own application ([https://github....&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== CardInfo UppHash value ==&lt;br /&gt;
&lt;br /&gt;
I have successfully decrypted the &amp;lt;code&amp;gt;CardInfo&amp;lt;/code&amp;gt; area from a personal gamecard dump retrieved through my own application ([https://github.com/DarkMatterCore/nxdumptool nxdumptool]). The AES-CBC key for this area was manually retrieved from a FS process memory dump at runtime, much like [https://github.com/shchmue/Lockpick vanilla Lockpick] used to work.&lt;br /&gt;
&lt;br /&gt;
The wiki page mentions that the &amp;lt;code&amp;gt;UppHash&amp;lt;/code&amp;gt; field represents the SHA-256 checksum from &amp;lt;code&amp;gt;UpdatePartition&amp;lt;/code&amp;gt; - the question is, how is this checksum calculated? I have tried to use different start offsets and sizes, and none of the generated SHA-256 checksums holds a matching byte sequence:&lt;br /&gt;
&lt;br /&gt;
* Hashing the full update partition (starting at the &amp;lt;code&amp;gt;HFS0&amp;lt;/code&amp;gt; magic word, and using the full partition size specified in the root partition).&lt;br /&gt;
* Hashing the update partition without zero padding (starting at the &amp;lt;code&amp;gt;HFS0&amp;lt;/code&amp;gt; magic word, and ending right after the data for the last file entry).&lt;br /&gt;
* Hashing the raw update partition data (starting right after the HFS string table, and using the full partition size *minus* the full HFS header size).&lt;br /&gt;
* Hashing the raw update partition data without zero padding (starting right after the HFS string table, and ending right after the data for the last file entry).&lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s worth noting that all offsets and sizes are page-aligned. The start offsets for both the partition header and raw partition data are always page-aligned, and the partition size without zero padding is also page-aligned.&lt;br /&gt;
&lt;br /&gt;
I have no actual use for this information - it&amp;#039;s just something I&amp;#039;d like to comprehend and document, if possible. Thanks in advance. [[User:DarkMatterCore|DarkMatterCore]] ([[User talk:DarkMatterCore|talk]]) 01:13, 7 April 2021 (UTC)&lt;/div&gt;</summary>
		<author><name>DarkMatterCore</name></author>
	</entry>
</feed>