<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://dsibrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mha</id>
	<title>DSiBrew - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://dsibrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mha"/>
	<link rel="alternate" type="text/html" href="https://dsibrew.org/wiki/Special:Contributions/Mha"/>
	<updated>2026-05-03T02:16:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Hardware&amp;diff=2099657</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Hardware&amp;diff=2099657"/>
		<updated>2022-10-29T14:38:19Z</updated>

		<summary type="html">&lt;p&gt;Mha: Reverted edits by Project BreakBrew (talk) to last revision by Auri&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Specifications ==&lt;br /&gt;
* [[Cameras|Includes (2) 0.3 Megapixel VGA Cameras]]&lt;br /&gt;
* 240MB(+16MB probably reserved for wear leveling purposes (e.g. replacing bad blocks)) Internal Flash Memory - Samsung kmapf0000m-S998 MOVI [[NAND]] - MMC Interface&lt;br /&gt;
* 16MB RAM - NEC uPD 46128512AF1 - DDR SRAM or a Fujitsu 128-Mbit FCRAM 82DBS08164D-70L (datasheet: http://edevice.fujitsu.com/fj/DATASHEET/e-ds/e511454.pdf mirror:[[Media:E511454.pdf]]&lt;br /&gt;
* (2) 256 x 192 3.25 Inch Displays, one of which has a resistive touch screen&lt;br /&gt;
* Backwards compatible with Nintendo DS games but not GBA games due to the lack of a gameboy cartridge port.&lt;br /&gt;
* Integrated ARM7/ARM9 cores clocked at 133mhz in real mode and downclocked to 66mhz for compatibility mode.&lt;br /&gt;
* PAIC3000D Sound Chip - possibly a TI codecs: AIC3    ????&lt;br /&gt;
* Mitsumi (MM3317A) or TI 72071B0 - Power supply and charger circuit ????&lt;br /&gt;
* SD/SDHC Card slot&lt;br /&gt;
* [[WiFi_Module]] with integrated 128KB SPI Flash for [[NVRAM]], WiFi settings&lt;br /&gt;
&lt;br /&gt;
== Hardware Revisions ==&lt;br /&gt;
== DSi ==&lt;br /&gt;
** board C/TWL-CPU-01 (Original rev, all pictures below)&lt;br /&gt;
** CPU: TWL.  The latest date code picture I could find online was &amp;quot;0836 1m&amp;quot; as shown below, however other pictures with CPU covered show the NAND codes as late as 916, so...&lt;br /&gt;
** Suspect this is the only board where WiFi chip is available in Hybrid games like CookingCoach&lt;br /&gt;
** Wireless card DWM-W015&lt;br /&gt;
&lt;br /&gt;
== DSi RevA ==&lt;br /&gt;
** board C/TWL-CPU-10 (Newer model, can someone provide a date or serial # range?)&lt;br /&gt;
** CPU: TWL A.  Mine is &amp;quot;0940  2m&amp;quot;.  My US Serial # is ~ TW71848???[5].  If yours is earlier, please update this.&lt;br /&gt;
[[Image:TWL-CPU-10.png]]&lt;br /&gt;
&lt;br /&gt;
== DSi XL ==&lt;br /&gt;
** board C/UTL-CPU-01&lt;br /&gt;
** CPU is TWL A&lt;br /&gt;
** Wireless card DWM-W024&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
== Front ==&lt;br /&gt;
[[Image:Twl_front.jpg]]&lt;br /&gt;
[[Image:Twl_front_traces.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
The socket to the left of the ARM processor is the wifi chip socket.&lt;br /&gt;
&lt;br /&gt;
TWL CPU pinout map: [[File:Twl_cpu_pinout.pdf]] (WIP)&lt;br /&gt;
&lt;br /&gt;
== Back ==&lt;br /&gt;
[[Image:Twl_back.jpg]]&lt;br /&gt;
&lt;br /&gt;
== NAND Pinout ==&lt;br /&gt;
[[Image:Dsi_nand.jpg|600px]]&lt;br /&gt;
[[Image:Dsi_nanddat.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== NAND Pinout With Conventional Markings ==&lt;br /&gt;
=== DSi ===&lt;br /&gt;
[[Image:NAND_Compressed.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
=== DSi XL ===&lt;br /&gt;
[[Image:Side_B_Marked_Compressed.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== PCB Overlay ==&lt;br /&gt;
[[Image:Nintendo DSi PCB Layered.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== CPU with New RAM ==&lt;br /&gt;
[[Image:CPUv2.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Glamor Shot ==&lt;br /&gt;
[[Image:Nintendo-dsi-Glamor-Shot.jpg]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* http://en.wikipedia.org/wiki/Nintendo_DSi&lt;br /&gt;
* http://insidetronics.blogspot.com/2008/11/new-nintendo-dsi-teardown.html&lt;br /&gt;
* http://techon.nikkeibp.co.jp/english/NEWS_EN/20081111/161077/&lt;br /&gt;
* http://games.gearlive.com/playfeed/article/q408-nintendo-dsi-announced-larger-screens-dual-cameras-dsi-shop-store/&lt;br /&gt;
* http://www.ifixit.com/Guide/First-Look/Nintendo-DSi/714/1&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Nintendo_Software&amp;diff=2099656</id>
		<title>Nintendo Software</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Nintendo_Software&amp;diff=2099656"/>
		<updated>2022-10-29T14:37:55Z</updated>

		<summary type="html">&lt;p&gt;Mha: Reverted edits by Project BreakBrew (talk) to last revision by Teopless&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article links to information about all Nintendo created software.Software mentioned here are either pre-installed on the system or can be downloaded via DSi Shop or System Update.&lt;br /&gt;
&lt;br /&gt;
== System ==&lt;br /&gt;
&lt;br /&gt;
*[[System Menu]] (DSi Menu)&lt;br /&gt;
&lt;br /&gt;
== DSi applications ==&lt;br /&gt;
&lt;br /&gt;
*[[Title list]]&lt;br /&gt;
*[[Nintendo DSi Browser]]&lt;br /&gt;
*[[Nintendo DSi Calculator]]&lt;br /&gt;
*[[Nintendo DSi Camera]]&lt;br /&gt;
*[[Nintendo DSi Clock]]&lt;br /&gt;
*[[Nintendo DSi Shop]]&lt;br /&gt;
*[[Nintendo DSi Sound]]&lt;br /&gt;
*[[DS Download Play]]&lt;br /&gt;
*[[Pictochat]]&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=MediaWiki:Cookiewarning-ok-label&amp;diff=2099429</id>
		<title>MediaWiki:Cookiewarning-ok-label</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=MediaWiki:Cookiewarning-ok-label&amp;diff=2099429"/>
		<updated>2022-06-07T20:33:06Z</updated>

		<summary type="html">&lt;p&gt;Mha: Created page with &amp;quot;I CONSENT&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I CONSENT&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=MediaWiki:Cookiewarning-info&amp;diff=2099428</id>
		<title>MediaWiki:Cookiewarning-info</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=MediaWiki:Cookiewarning-info&amp;diff=2099428"/>
		<updated>2022-06-07T20:31:41Z</updated>

		<summary type="html">&lt;p&gt;Mha: Created page with &amp;quot;By entering this site you need to consent to the use of cookies and their functional use according to this privacy policy. Cookies help us to provide the functional services o...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;By entering this site you need to consent to the use of cookies and their functional use according to this privacy policy. Cookies help us to provide the functional services of the website. Kindly read the below message of use and consent to the use. &lt;br /&gt;
&lt;br /&gt;
The following cookies are stored and shared when accessing this website:&lt;br /&gt;
 - Internal cookies for the MediaWiki site. This is used for user authentication and article modifications. &lt;br /&gt;
 - Third-party cookies from Google providing services for Google AdSense and Google Analytics&lt;br /&gt;
&lt;br /&gt;
We will never use data collected outside of the above scope.&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=User_talk:Mha&amp;diff=2099017</id>
		<title>User talk:Mha</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=User_talk:Mha&amp;diff=2099017"/>
		<updated>2020-01-05T12:28:11Z</updated>

		<summary type="html">&lt;p&gt;Mha: /* Request */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Thank you for looking into my email issue. My email address has been confirmed and I can now edit this wiki.--[[User:Winmaster|Winmaster]] 04:31, 27 May 2011 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Main Page ==&lt;br /&gt;
&lt;br /&gt;
Hey,&lt;br /&gt;
For the past couple months i have maintained both this site and the integrety of the main page. Is it possible that i could gain the privlidges to edit that so as to let me continue to keep this site amazing?&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;
:Hey, you have recovered the main page... but without the &amp;quot;Navigation II&amp;quot; section from the latest (spam-free) edit: http://www.dsibrew.org/w/index.php?title=Main_Page&amp;amp;oldid=10281 can you repair that? Or best, merge &amp;quot;Navigation II&amp;quot; with &amp;quot;Navigation&amp;quot; (I wasn&#039;t able to do that because Navigation was locked against editing). Or, could I get me access rights to edit the main page myself? Anyways, glad that this page isn&#039;t totally dead! --[[User:Nocash|Nocash]] 13:44, 13 March 2014 (CET)&lt;br /&gt;
::Or, another idea. Is it possible to restore the while dsibrew to the state of &#039;&#039;&#039;01 August 2013&#039;&#039;&#039;? My latest edit was on 28 July 2013, http://www.dsibrew.org/wiki/Special:Contributions/Nocash - and at that time the wiki was almost spam-free, ie. http://www.dsibrew.org/wiki/Special:AllPages was containing only 5 or 10 spam pages (which were all marked for deletion) (and around 90 legit pages). It would be really nice to get that spam-free state restored. Of course, I can&#039;t promise that nobody has contributed useful info after August 2013 (but my impression was that there wasn&#039;t much activity recently, other than spam).--[[User:Nocash|Nocash]] 14:00, 13 March 2014 (CET)&lt;br /&gt;
::PS. If that is possible: It would be nice to delete all users whom haver never edited any pages, or whom have edited only their own user/talk pages (that would help to get rid of the fake identities that did exist at 01 August 2013, ie. at that time the spammers did have created only fake identities with fake user pages, although that have still left the wiki content pages intact).--[[User:Nocash|Nocash]] 14:15, 13 March 2014 (CET)&lt;br /&gt;
&lt;br /&gt;
== Welcome template ==&lt;br /&gt;
Hello, I have made an awesome welcome template for this wiki. How does it look? --[[User:Auri|Auri]] ([[User talk:Auri|talk]]) 04:25, 4 January 2020 (CET)&lt;br /&gt;
&lt;br /&gt;
{{Welcome}} --[[User:Auri|Auri]] ([[User talk:Auri|talk]]) 04:25, 4 January 2020 (CET)&lt;br /&gt;
&lt;br /&gt;
== Request ==&lt;br /&gt;
Hello, I would like to request adminship so that I can bypass the annoying CAPTCHA. --[[User:Auri|Auri]] ([[User talk:Auri|talk]]) 04:47, 4 January 2020 (CET)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; How can I reach you?&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=594369</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=594369"/>
		<updated>2014-01-09T11:44:26Z</updated>

		<summary type="html">&lt;p&gt;Mha: Protected &amp;quot;Main Page&amp;quot; ([edit=sysop] (indefinite) [move=sysop] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:Main Page/Header}}&lt;br /&gt;
{{:Main Page/Welcome}}&lt;br /&gt;
{{:Main Page/Current events}}&lt;br /&gt;
{{:Main Page/Navigation}}&lt;br /&gt;
__NOTOC____NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=594355</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=594355"/>
		<updated>2014-01-09T11:42:40Z</updated>

		<summary type="html">&lt;p&gt;Mha: Reverted edits by FrancescoInnes (talk) to last revision by Dsihaxx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:Main Page/Header}}&lt;br /&gt;
{{:Main Page/Welcome}}&lt;br /&gt;
{{:Main Page/Current events}}&lt;br /&gt;
{{:Main Page/Navigation}}&lt;br /&gt;
__NOTOC____NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3960</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3960"/>
		<updated>2011-05-31T16:17:57Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3959</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3959"/>
		<updated>2011-05-31T16:17:48Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Test123&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3958</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3958"/>
		<updated>2011-05-31T15:48:19Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3957</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3957"/>
		<updated>2011-05-31T15:44:48Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Test456....&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3956</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3956"/>
		<updated>2011-05-31T15:44:24Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3955</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3955"/>
		<updated>2011-05-31T15:43:51Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Test123!&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3954</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3954"/>
		<updated>2011-05-31T15:39:09Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3953</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3953"/>
		<updated>2011-05-31T15:38:47Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Test123&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3952</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3952"/>
		<updated>2011-05-31T15:36:14Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3951</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3951"/>
		<updated>2011-05-31T15:36:07Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Test&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3950</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3950"/>
		<updated>2011-05-31T15:35:42Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3949</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3949"/>
		<updated>2011-05-31T15:35:35Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Test!&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3948</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3948"/>
		<updated>2011-05-31T15:23:29Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3947</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3947"/>
		<updated>2011-05-31T15:23:19Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Test!&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3946</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3946"/>
		<updated>2011-05-31T15:23:07Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3945</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3945"/>
		<updated>2011-05-31T15:19:38Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Test.&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3944</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3944"/>
		<updated>2011-05-31T15:12:53Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3943</id>
		<title>DSiWare VulnList</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=DSiWare_VulnList&amp;diff=3943"/>
		<updated>2011-05-31T15:12:37Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists DSiWare that might have vulnerabilities, like strcpy or sprintf from savedata.&lt;br /&gt;
&lt;br /&gt;
Since system update 1.4.2 blocks copying *all* dsiwarehax, do not contact us about your dsiware anymore at all.&lt;br /&gt;
If you know of DSiWare that has English-only string(high-scores, player name, high-scores that use username from system settings, etc) input, mention it on IRC EFNet #dsidev. Or contact yellowstar 6 at gmail dot com.&lt;br /&gt;
Before you contact anyone about your dsiware, please make sure your dsiware is _not_ listed on this page anywhere.&lt;br /&gt;
Don&#039;t bother if all you care about is warez and don&#039;t care at all about homebrew: DSiWareHax SD card loader will never load warez directly, only homebrew.&lt;br /&gt;
&lt;br /&gt;
It would be nice to target DSiWare that are listed under the DSi Shop most popular search: Nintendo would have a lot of difficultly removing DSiWare from that list without ticking off a lot of non-homebrewer customers. Targets not on that list will suffer the same fate as Sudoku,(removed quickly and patched eventually) if exploits for those were released.&lt;br /&gt;
&lt;br /&gt;
DSiWare savedata is extracted and modified with these tools: https://github.com/neimod/dsi save_extract and save_adjust both require sd_key, but we will not redistribute this key.&lt;br /&gt;
&lt;br /&gt;
For these lists status &amp;quot;None&amp;quot; means code reversing engineering for the DSiWare wasn&#039;t started. Status &amp;quot;Started&amp;quot; means code reversing engineering for that DSiWare was started. Status &amp;quot;Done&amp;quot; means code reverse engineering was finished.&lt;br /&gt;
&lt;br /&gt;
== Total listed DSiWare ==&lt;br /&gt;
&lt;br /&gt;
Total DSiWare in below lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  List&lt;br /&gt;
!  Total&lt;br /&gt;
|-&lt;br /&gt;
|  Incomplete&lt;br /&gt;
|  20&lt;br /&gt;
|-&lt;br /&gt;
|  Done&lt;br /&gt;
|  18&lt;br /&gt;
|-&lt;br /&gt;
|  DSiWare which probably aren&#039;t exploitable&lt;br /&gt;
|  59&lt;br /&gt;
|-&lt;br /&gt;
|  Already have&lt;br /&gt;
|  3&lt;br /&gt;
|-&lt;br /&gt;
|  All total&lt;br /&gt;
|  100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with incomplete analysis ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Status&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  Academy: Tic-Tac-Toe&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has an UCS-2 player name. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Advanced Circuits&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Started&lt;br /&gt;
|  Save slots are obfuscated, the algorithm is understood for all but the first save slot. The checksum calculation is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Bowling&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  None&lt;br /&gt;
|  The checksum seemed to be identical to arcade hoops, but when save modification was attempted the game appeared to reset the high-scores?&lt;br /&gt;
|-&lt;br /&gt;
|  Art Academy: First Semester&lt;br /&gt;
|  None?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has some ASCII strings in savedata, but they seem to be from the game binary not user input?&lt;br /&gt;
|-&lt;br /&gt;
|  Bejeweled Twist&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  None&lt;br /&gt;
|  Checksum is unknown, save has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Bounce &amp;amp; Break&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Card games&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player names, checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Chess Challenge&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|-&lt;br /&gt;
|  Crazy Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Crystal Monsters&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name. Not sure if this can be exploited somehow, it crashes /w array-index out-of-bounds fail.&lt;br /&gt;
|-&lt;br /&gt;
|  Elemental Masters&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Faceez&lt;br /&gt;
|  Player name?&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII string but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Field Runners&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  The xml .plist the game uses for storing savedata contains high-scores strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Guitar Rock Tour&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Legends of Exidia&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Lets golf&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII player name checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Mixed Messages&lt;br /&gt;
|  Player name and other text&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII for player name and other text input, but the checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Number Battle&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Uses ASCII strings, the value of each char is - 0x20 of the actual ASCII value. The checksum is unknown.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Superstar: Road to celebrity&lt;br /&gt;
|  Player name&lt;br /&gt;
|  None&lt;br /&gt;
|  Has ASCII strings.&lt;br /&gt;
|-&lt;br /&gt;
|  UNO&lt;br /&gt;
|  Player name and high-scores&lt;br /&gt;
|  Started&lt;br /&gt;
|  Has ASCII text. It&#039;s unlikely this can be exploited, seems to crash /w out-of-bounds array-index.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare with finished analysis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  5 in 1 Solitaire&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Game didn&#039;t crash with a long profile string.&lt;br /&gt;
|-&lt;br /&gt;
|  Airport Mania: Non Stop Flights&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings. string bugs only corrupted the display, making the game unplayable.&lt;br /&gt;
|-&lt;br /&gt;
|  Arcade Hoops Basketball&lt;br /&gt;
|  High-Scores, names via settings&lt;br /&gt;
|  Has ASCII high-scores with null terminated strings, no string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Army Defender&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has ASCII strings for high-scores, game didn&#039;t crash with modified high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Bloons&lt;br /&gt;
|  Profile names&lt;br /&gt;
|  Has some profile names but they&#039;re all in one tiny savfile.&lt;br /&gt;
|-&lt;br /&gt;
|  Bookworm&lt;br /&gt;
|  High-scores and word list&lt;br /&gt;
|  Has ASCII null-terminated high-score list names and null-terminated word list strings.  ( No crash, just nice very high scores, and very long words displayed. )&lt;br /&gt;
|-&lt;br /&gt;
|  Dark Void Zero&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  No limit on length of drawn record names, no vuln with high-scores. Although this game can be crashed it isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Digger Dan &amp;amp; Kaboom&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Save has ASCII playername, but there&#039;s &amp;lt;10KB free in the savimage anyway.&lt;br /&gt;
|-&lt;br /&gt;
|  Dracula&lt;br /&gt;
|  No manual input&lt;br /&gt;
|  Savedata contains ASCII high-scores from DSi username, and ASCII perks/powerups.  High-scores doesn&#039;t have string bugs.&lt;br /&gt;
|-&lt;br /&gt;
|  Escapee Go&lt;br /&gt;
|  None&lt;br /&gt;
|  Has high-scores without names, scores are ASCII null-terminated strings. Managed to semi-crash this, but system reset still worked so this probably isn&#039;t exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Frogger Returns&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Has ASCII high-scores. strcpys to a static buffer from savedata, unknown if this is exploitable but there&#039;s only &amp;lt;10KB free space available(way too low for a payload) so meh.&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Calculator&lt;br /&gt;
|  None&lt;br /&gt;
|  No savedata at all in the tad.&lt;br /&gt;
|-&lt;br /&gt;
|  Paul&#039;s Shooting Adventure&lt;br /&gt;
|  High-Scores&lt;br /&gt;
|  Records are entered when you complete the game, names are ASCII strings null-terminated. Not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Prehistorik Man&lt;br /&gt;
|  Password text&lt;br /&gt;
|  Has some ASCII password text for continuing, but there&#039;s less than 10KB free.&lt;br /&gt;
|-&lt;br /&gt;
|  Primrose&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has English-only high-scores and a trivial checksum, not exploitable.&lt;br /&gt;
|-&lt;br /&gt;
|  Soul of Darkness&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name with 3 profiles.&lt;br /&gt;
|-&lt;br /&gt;
|  Sudoku&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Has ASCII player name for each of the 3 save slots. Game was crashed with an excessively long player name. The game has already been exploited through [[Sudokuhax]].&lt;br /&gt;
|-&lt;br /&gt;
|  Rayman&lt;br /&gt;
|  Player name&lt;br /&gt;
|  No overflow, with a long string the game only displays one extra character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that probably don&#039;t have vulnerabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Input type(s)&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  24/7 Solitaire&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Absolute Reversi&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Card Classics&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Family Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  A Little Bit of... All-Time Classics: Strategy Games&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Alpha Bounce&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Asphalt 4&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aquia: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Aura Aura Climber&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Birds &amp;amp; Beans&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Boom Boom Squaries&lt;br /&gt;
|  No strings&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Bomberman Blitz&lt;br /&gt;
|  Name&lt;br /&gt;
|  Has UCS-2 strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Boxlife&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Blackjack&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Arts &amp;amp; Letters&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Age Express: Math&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Brain Drain&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in save.&lt;br /&gt;
|-&lt;br /&gt;
|  Castle of Magic&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Cave Story&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Countdown Calender&lt;br /&gt;
|  None&lt;br /&gt;
|  No user strings. There&#039;s many &amp;quot;ANIV&amp;quot; tokens in the save and some embedded bmp files.&lt;br /&gt;
|-&lt;br /&gt;
|  Crash Course Domo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Chronos Twins&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Dictionary 6 in 1&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  DIGIDRIVE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  DodoGo! Robo&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  Dr. Mario Express&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Earthworm Jim&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Extreme Hangman&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings in savedata.&lt;br /&gt;
|-&lt;br /&gt;
|  Little Red Riding Hood&#039;s Zombie BBQ&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings&lt;br /&gt;
|-&lt;br /&gt;
|  FIZZ&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Savedata contains ASCII high-scores, but all the high-scores are contained in the same string without a null terminator. A vuln is unlikely.&lt;br /&gt;
|-&lt;br /&gt;
|  Flipper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Frenzic&lt;br /&gt;
|  High-scores&lt;br /&gt;
|  Has UCS-2 high-scores.&lt;br /&gt;
|-&lt;br /&gt;
|  Gene Labs&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata with no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Glory Days - Tactical Defense&lt;br /&gt;
|  No strings&lt;br /&gt;
|  Saves only scores not strings.&lt;br /&gt;
|-&lt;br /&gt;
|  GO Series: 10 Second Run&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Metal Torrent&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Uses a UCS-2 string.&lt;br /&gt;
|-&lt;br /&gt;
|  Master of Illusion Express: Psychic Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  Tiny savfile no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Blue&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Notebook: Pearl&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Sims: Camera&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Mighty Flip Champs&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  My Exotic Farm&lt;br /&gt;
|  Player name&lt;br /&gt;
|  Not exploitable, there&#039;s a 0x01 byte immediately after the string not null-terminated.&lt;br /&gt;
|-&lt;br /&gt;
|  Paper Airplane Chase&lt;br /&gt;
|  None&lt;br /&gt;
|  The size of both files in the savedata are only 8 bytes, no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCOPiCT: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  PiCTOBiTS: Art Style series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Plants Vs. Zombies&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings, uses system user name for player name.&lt;br /&gt;
|-&lt;br /&gt;
|  Pop Island&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Pyoro&lt;br /&gt;
|  None&lt;br /&gt;
|  16-byte savedata no strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Clock&lt;br /&gt;
|  None&lt;br /&gt;
|  Small savedata, no strings at all.&lt;br /&gt;
|-&lt;br /&gt;
|  Photo Dojo&lt;br /&gt;
|  Handwritten character name via stylus&lt;br /&gt;
|  Savedata only contains .jpg files and some tiny &amp;quot;save&amp;quot;/&amp;quot;info&amp;quot; files.&lt;br /&gt;
|-&lt;br /&gt;
|  Shantae: Risky&#039;s Revenge&lt;br /&gt;
|  None&lt;br /&gt;
|  Has 3 save slots but no string input.&lt;br /&gt;
|-&lt;br /&gt;
|  Simply Minesweeper&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sokomania&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Sparkle Snapshots&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Starship Defense&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Tetris Party Live&lt;br /&gt;
|  None&lt;br /&gt;
|  Zero text input.&lt;br /&gt;
|-&lt;br /&gt;
|  WarioWare: Snapped&lt;br /&gt;
|  None&lt;br /&gt;
|  No high-scores or string input.&lt;br /&gt;
|-&lt;br /&gt;
|  ZENGAGE: Art Style Series&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|-&lt;br /&gt;
|  Zenonia&lt;br /&gt;
|  None&lt;br /&gt;
|  No strings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DSiWare that were already obtained for analysis ==&lt;br /&gt;
Do not contact us about the DSiWare in this list, we already have them. We had these for ages, and never managed to find any vulns.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Name&lt;br /&gt;
!  Text format&lt;br /&gt;
|-&lt;br /&gt;
|  Flipnote Studio&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Mario Vs. Donkey Kong: Minis March Again&lt;br /&gt;
|  UCS-2&lt;br /&gt;
|-&lt;br /&gt;
|  Opera&lt;br /&gt;
|  Nothing interesting in savedata.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Test....&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=2745</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=2745"/>
		<updated>2010-02-22T18:01:52Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- &amp;lt;adsense&amp;gt;2&amp;lt;/adsense&amp;gt;&amp;lt;/center&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=2571</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=2571"/>
		<updated>2009-12-24T22:20:40Z</updated>

		<summary type="html">&lt;p&gt;Mha: New page: &amp;lt;adsense&amp;gt;2&amp;lt;/adsense&amp;gt;&amp;lt;/center&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;adsense&amp;gt;2&amp;lt;/adsense&amp;gt;&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Wiki/MediaWiki:Sitenotice&amp;diff=2565</id>
		<title>Wiki/MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Wiki/MediaWiki:Sitenotice&amp;diff=2565"/>
		<updated>2009-12-24T19:52:27Z</updated>

		<summary type="html">&lt;p&gt;Mha: Removing all content from page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Wiki/MediaWiki:Sitenotice&amp;diff=2564</id>
		<title>Wiki/MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Wiki/MediaWiki:Sitenotice&amp;diff=2564"/>
		<updated>2009-12-24T19:50:40Z</updated>

		<summary type="html">&lt;p&gt;Mha: New page: &amp;lt;center&amp;gt;k&amp;lt;adsense&amp;gt;2&amp;lt;/adsense&amp;gt;&amp;lt;/center&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;k&amp;lt;adsense&amp;gt;2&amp;lt;/adsense&amp;gt;&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=18</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=18"/>
		<updated>2009-01-16T19:12:53Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We think that you should install yourself a nice new shiny t-shirt!&lt;br /&gt;
&lt;br /&gt;
We imported most of your [http://www.wiibrew.org wiibrew] accounts, so that you should seemlessly be able to log on here and document your findings.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dscat.jpg]]&lt;br /&gt;
&lt;br /&gt;
... and probably eat a lot of candy. so that you will want to play more.&lt;br /&gt;
&lt;br /&gt;
ToC:&lt;br /&gt;
{{Special:AllPages}}&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
    int *pointer, penis;      /* initialize the penis and pointer */&lt;br /&gt;
    penis = 20;               /* set penis length to 20 cm */&lt;br /&gt;
    pointer = &amp;amp;penis;         /* assign the pointer to point to the penis */&lt;br /&gt;
    printf(&amp;quot;%d&amp;quot;, *pointer);   /* display the penis length */&lt;br /&gt;
    return 0;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=17</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=17"/>
		<updated>2009-01-16T19:12:43Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We think that you should install yourself a nice new shiny t-shirt!&lt;br /&gt;
&lt;br /&gt;
We imported most of your [http://www.wiibrew.org wiibrew] accounts, so that you should seemlessly be able to log on here and document your findings.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dscat.jpg]]&lt;br /&gt;
&lt;br /&gt;
... and probably eat a lot of candy. so that you will want to play more.&lt;br /&gt;
&lt;br /&gt;
ToC:&lt;br /&gt;
{{Special:AllPages}}&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
    int *pointer, penis;      /* initialize the penis and pointer */&lt;br /&gt;
    penis = 20;               /* set penis length to 20 cm */&lt;br /&gt;
    pointer = &amp;amp;penis;         /* assign the pointer to point to the penis */&lt;br /&gt;
    printf(&amp;quot;%d&amp;quot;, *pointer);   /* display the penis length */&lt;br /&gt;
    return 0;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Dsibrew.jpg&amp;diff=10</id>
		<title>File:Dsibrew.jpg</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Dsibrew.jpg&amp;diff=10"/>
		<updated>2009-01-10T23:05:19Z</updated>

		<summary type="html">&lt;p&gt;Mha: uploaded a new version of &amp;quot;Image:Dsibrew.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Dsibrew.jpg&amp;diff=9</id>
		<title>File:Dsibrew.jpg</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Dsibrew.jpg&amp;diff=9"/>
		<updated>2009-01-10T23:03:20Z</updated>

		<summary type="html">&lt;p&gt;Mha: uploaded a new version of &amp;quot;Image:Dsibrew.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=File:Dsibrew.jpg&amp;diff=8</id>
		<title>File:Dsibrew.jpg</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=File:Dsibrew.jpg&amp;diff=8"/>
		<updated>2009-01-10T23:00:01Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=6</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=6"/>
		<updated>2009-01-10T17:54:35Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We think that you should install yourself a nice new shiny t-shirt!&lt;br /&gt;
&lt;br /&gt;
We imported most of your [http://www.wiibrew.org wiibrew] accounts, so that you should seemlessly be able to log on here and document your findings.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dscat.jpg]]&lt;br /&gt;
&lt;br /&gt;
... and probably eat a lot of candy. so that you will want to play more.&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=5</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=5"/>
		<updated>2009-01-10T17:52:33Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We think that you should install yourself a nice new shiny t-shirt!&lt;br /&gt;
&lt;br /&gt;
[[Image:Dscat.jpg]]&lt;br /&gt;
&lt;br /&gt;
... and probably eat a lot of candy. so that you will want to play more.&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=3</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=3"/>
		<updated>2009-01-10T14:24:22Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We think that you should install yourself a nice new shiny t-shirt!&lt;br /&gt;
&lt;br /&gt;
... and probably eat a lot of candy. so that you will want to play more.&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
	<entry>
		<id>https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=2</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dsibrew.org/w/index.php?title=Main_Page&amp;diff=2"/>
		<updated>2009-01-10T13:59:12Z</updated>

		<summary type="html">&lt;p&gt;Mha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We think that you should install yourself a nice new shiny t-shirt!&lt;/div&gt;</summary>
		<author><name>Mha</name></author>
	</entry>
</feed>