Reminder, if you like these repos, fork them so they don't disappear https://github.com/ArcadeHustle/WatermelonPapriumDump/fork
Big thanks to Fonzie for allowing this to be published.
- written by hostile, with supporting information from the community at large!
This project details the active efforts to dump the contents of the Watermelon Games Paprium cart.
The Paprium Press Release from 03/16/2017 brought many promises that simply never manifested into reality.
Additional text relevant to this document can be found below:
Exemptions to Prohibition against Circumvention of Technological Measures Protecting Copyrighted Works
Seventh Triennial Section 1201 Final Rule, Effective October 28, 2018
https://library.osu.edu/document-registry/docs/1027/stream
"Video games in the form of computer programs, where outside server support has been discontinued, to allow individual play and preservation by an eligible library, archive, or museum"
https://library.osu.edu/site/copyright/2019/03/20/2018-dmca-section-1201-exemptions-announced/
"Video games in the form of computer programs, lawfully acquired as complete games 37"
"CFR §201.40(b)(12)"
"For personal, local gameplay; or To allow preservation in a playable format..."
"Computer programs protected by dongles that prevent access due to malfunction or damage and which are obsolete. A dongle shall be considered obsolete if it is no longer manufactured or if a replacement or repair is no longer reasonably available in the commercial marketplace."
https://www.copyright.gov/fedreg/2006/71fr68472.html
"The final rule allows eligible libraries, archives, and museums to circumvent technological protection measures on certain lawfully acquired computer programs (including video games) to preserve computer programs and computer program-dependent materials."
https://clinic.cyber.harvard.edu/2018/10/26/a-victory-for-software-preservation-dmca-exemption-granted-for-spn/
"Exemption to Prohibition on Circumvention of Copyright Protection Systems for Access Control Technologies"
https://www.govinfo.gov/content/pkg/FR-2018-10-26/pdf/2018-23241.pdf
Please note that the following text is considered "for purposes of good-faith security research". This write up will give you all the knowledge, and access you need to backup and preserve your Genesis MegaDrive Paprium cart as supplied by Watermelon Games. It will also serve as an academic tome on the security ramification of Voltage Glitching the STM32F4 MCU, FPGA security through obscurity, and physical protection methods, and anti tamper techniques.
President Joe Biden’s latest executive order is a huge win for right to repair because it specifically calls out "unfair anticompetitive restrictions on third-party repair or self-repair of items", just like the DT128M16VA1LT concept in Paprium imposes on any end user lucky enough to acutally obtain the game.
https://www.whitehouse.gov/briefing-room/presidential-actions/2021/07/09/executive-order-on-promoting-competition-in-the-american-economy/
The DT128M16VA1LT is supposedly a "custom" chip made by Daten Semiconductor, that is really just a bunch of commodity parts covered in black epoxy glob top encapsulant. Never mind that it has been proven that "Datenmeister DT128M16VA1LT chipset is fake", or that the website of the company that "makes" it, was originally registered to Fonzie.
The Datenmeister serves as the central piece of technology driving the Paprium cart. The only problem is, that it does not exist, at all. In reality, it is just handful of common components.
https://twitter.com/MyLifeInGaming/status/1341092115250630656
The actual technology in the ficticious "DT128M16VA1LT" from the Paprium cart is made up of known ICs that are succeptable to known weaknesses, and potential attacks. Being beneath black goop does not at all make the chips impervious to attack.
Altera 10M02SCU169C8G FPGA (UBGA169)
https://www.mouser.com/datasheet/2/612/m10_overview-2401081.pdf
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an556.pdf
The Intel FPGA on the Paprium cart "may allow an authenticated user to potentially enable escalation of privilege and information disclosure via physical access". The vulnerability has been assigned CVE-2020-0574. Dr. Sergei Skorobogatov of the Dept of Computer Science and Technology, University of Cambridge, Cambridge, UK, has been credited with reporting this issue. His papers and persentations on the subject are linked below:
https://arxiv.org/abs/1910.05086
https://arxiv.org/pdf/1910.05086.pdf
https://www.cl.cam.ac.uk/~sps32/HWIO_MAX10.pdf
ST STM32F446ZEJ6 MCU (UFBGA144)
https://www.st.com/resource/en/datasheet/stm32f446re.pdf
https://www.st.com/resource/en/application_note/dm00493651-introduction-to-stm32-microcontrollers-security-stmicroelectronics.pdf
STM32F4 is known vulnerable to voltage glitching attacks. The attacks have moved from theory, and manual one off demonstrations to now being available in ready made productized form with tools like ChipWhisperer. Various demonstrations have occured outside lab constraints, with SDK kits. Real, actual products have been attacked at this point. The exploitation techniques are reliable:
https://lists.gnupg.org/pipermail/gnuk-users/2020-February/000243.html
https://www.synacktiv.com/sites/default/files/2020-11/presentation.pdf
https://tches.iacr.org/index.php/TCHES/article/download/7390/6562/
https://blog.kraken.com/post/3662/kraken-identifies-critical-flaw-in-trezor-hardware-wallets/
TheHpman appears to have done some basic reversing of the Paprium cart, but did not fully disclose which chips he worked with. The logic used by the STM32 is explictly mentioned on his Twitter account:
https://twitter.com/The_Hpman/status/1383191393393389570
https://twitter.com/The_Hpman/status/1383191380743356416
BreakIC aka Mikatech will dump the STM32 for a fee of $6500 USD, claiming that "The tools needed to read it costs USD2million". Mikatech claims to be "World first mcu cloning company", we have reliably used them in the past for less costly extractions. Worst case scenario, we could pay to have the chip dumped via this method.
Practicing on STM32F4 dev boards using a standard ChipWhisperer setup should set the stage for dumping the Paprium STM32F4 using standard community accessible tools.
Similarly starting with the standard STM43F4 "UFO" target board is a great way to practice before moving on to attack the Paprium cart.
Spansion GL064N Series Flash (BGA48)
https://www.cypress.com/file/202426/download
Reading the Spansion flash should be possible with a standard Universal Programmer, and the appropriate adapter.
https://www.aliexpress.com/item/32820731419.html
https://www.aliexpress.com/item/32978614065.html
You can see from the chip routing that the Flash is gatekept by the FPGA.
24C64WP EEprom (SO8)
https://www.st.com/resource/en/datasheet/m24c64-f.pdf
Similarly reading the i2c EEPROM should be possible with standard EEPROM readers, or even an Arduino. It is sitting outside the black epoxy, making it easy to examine.
The standard tool for voltage glitching is the Chip Whisperer, STM32 is a default target in the "level 1" kit, so this seems like a natural fit for anyone wanting to play along:
https://store.newae.com/side-channel-glitching-starter-pack-level-1/
https://www.mouser.com/new/newae-technology/newae-chipwhisperer-lite-l1-kit/
Before the ChipWisperer came along you often saw FeelTech FY3200S used in academic papers about voltage glitching STM32 MCUs. This device contains a USB API that can be used to script voltage changes. A Python API makes scripting easy.
The Paprium cart is a special unicorn. If you don't pay attention, you may perhaps miss some notable "features".
Described in the manual as being used to "Connect to PAPRIUM's NXT network and enable the game's online services". It can also be used because "Some game updates may be available for download. Nobody's perfect...", or for DLC that "can be purchased with GEMS".
"Megawire 4.0 is a special connector that has 4 segments to it. There are 2 segments for data transfer & 2 for are for power & ground."
https://warosu.org/vr/thread/7319474
Vias on the cart expose the BGA ball array from the STM32F4, making the epoxy less effective at protecting it.
This allows for access to SWD lines from outisde of the black epoxy obfuscation blob.
There is a 9 pin header at the top of the cart labeled "DT", there is also an 8 pin header just below the STM32 above the cart connector. The functionality is not known for either connector at this time.
These are random related backstory items that make for good reading, or listening.
https://web.archive.org/web/20190226071931/http://www.magicalgamefactory.com/en/blogs/wm-blog_1/
https://www.facebook.com/110283612372658/posts/2326873840713613/
https://twitter.com/St1ka/status/1364024924873097216
https://papriumfiasco.wordpress.com/tag/datenmeister/
Fonzie ranting on Twitter calling everyone "little man", and complaining about PayPal.
https://twitter.com/watermelongames/status/1365356392022966278
https://twitter.com/watermelongames/status/1428150734361661440
https://twitter.com/watermelongames/status/1366710552005906439
https://twitter.com/watermelongames/status/1428156649823424512
https://twitter.com/watermelongames/status/1428157032549556225
https://twitter.com/watermelongames/status/1428159286388133892
https://twitter.com/watermelongames/status/1428162198078164997
https://twitter.com/watermelongames/status/1428164359923118086
https://www.youtube.com/watch?v=Nj2LM1rvFQ8&t=4550s st1ka: "A ROM dump will always happen, I believe Paprium has already Been dumped, if I'm not mistaken" Fonzie: "no no no no no no no no no no I don't think so I don't think so, I don't encourage anyone to dump anything" ... "What about the customer" "These guys are lucky we don't have very strong lawyers"
https://www.youtube.com/watch?v=Nj2LM1rvFQ8&t=5530s st1ka: "the fpga is primarily used as a copy protection" Fonzie: "... what ever is said is just some ideas, it is true it serves in some way as copy protection" "It has a memory interface" "the game is going realtime decompression, and this decompression algorithem is inside the one IC"
https://www.youtube.com/watch?v=Nj2LM1rvFQ8&t=5650s Fonzie: "I chose component from the market, because I can not make my own IC". "I chose the IC from the market that fits the requirements, of course becuase it is not custom".
https://youtu.be/lxByzNzWTlI?t=1300 Fonzie: "The final state of testing we modified something on the game, but we could not test again" "We have to trust everybody to not put the cartridge on eBay. the problem is it was very big risk" "for sure someone with alot of money will try to take the cartridge and dump it"