details on efforts to dump the Watermelon Games Paprium cart

Overview

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!

Project Little Man

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. At this point many people have recieved their Paprium cart, where as many others have not. Some of those that have carts in hand, happen to have broken, unusable carts. There is no replacement path, there are no support options, you simply have the pleasure of owning a brick. What can you do? Shitpost? Bellyache, and whine? Quit being a "little man", and take matters into your own hands? "Rule, Be Ruled, or Die"!

Paprium launch

The goal of this project is to empower Paprium cart owners to ensure that their investment is protected well into the future. Design flaws in the cartridge manufacturing process make it succeptible to failure. It is literally a ticking timebomb, and it will likely fail eventually.

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, 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/

DATENMEISTER DT128M16VA1LT

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

Any Paprium ROM archival efforts would have to revolve around exploiting weaknesses in the "DT128M16VA1LT" components.

DT128M16VA1LT parts related to data storage, and game logic.

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.

It should in practice be trivial to interface with each of the major componets. The major hurdle right now is physical access to each component, or it's pinout due to the black epoxy.

Intel® MAX 10 FPGAs

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

Hardware security evaluation of Intel MAX 10 FPGAs | Dr. Sergei Skorobogatov

Sergei's research outlines several weaknesses that can aid in archival of Paprium's FPGA contents:
"Verify Protect fuse only protects the configuration Flash memory (CFM) but leaves user Flash memory (UFM) fully accessible"

"Encrypted POF Only fuse on its own does not protect JTAG access to the Flash memory"

"Write access to both user Flash and configuration Flash is still possible. This can be used for modification attacks, for example, to extract the encrypted bitstream"

"AES decryption always leaves distinctive power traces clearly distinguishable for different keys and different data. In combination with Flash modification attacks this can be used for encrypted bitstream extraction."

"Semi-invasive attacks in the form of laser fault injection were found to be capable of bypassing all security protection fuses in MAX 10 devices."

All of these vulnerabilities can in theory be used to dump the FPGA that is present on the Paprium cartridge.

STM32F4

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

Similar to the Intel FPGA, the STM32F4 inside the Paprium cart is known to be vulnerable to voltage glitching attacks that should aid in archival of Paprium's data. 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 exploitation demonstrations have occured outside common lab constraints, and SDK kit based testing.

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

Commerical RE company BreakIC aka Mikatech will dump the STM32 for a fee of $6500 USD, claiming that "The tools needed to read it costs USD2million". We have reliably used Mikatech in the past for less costly extractions, we originally found them because their marketing claims that they are "World first mcu cloning company". Worst case scenario, we could in theory pay to have the Paprium STM32 chip dumped via their expensive machine.

Alternatively 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 attempting to attack the Paprium cart.

MirrorBit Flash

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.

i2c EEPROM

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.

Useful tools

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.

Cart Specific detail

The Paprium cart is a special unicorn. If you don't pay attention, you may perhaps miss some notable "features".

Megawire 4.0 (MW4.0)

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

Exposed vias on rear of cart

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.

Debug headers?

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.



References

These are random related backstory items that make for good reading, or listening.

Grandious Ideas

https://web.archive.org/web/20190226071931/http://www.magicalgamefactory.com/en/blogs/wm-blog_1/

Failure to deliver

https://www.facebook.com/110283612372658/posts/2326873840713613/

Need for Change!

https://www.change.org/p/paypal-paypal-usa-please-transfer-the-money-to-watermelon-for-releasing-the-game-paprium

Drama

https://twitter.com/St1ka/status/1364024924873097216

An amazing Paprium troll, ahead of their time

https://papriumfiasco.wordpress.com/tag/datenmeister/

Little men

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

Youtube Interviews & Documentaries

PAPRIUM megadrive / genesis longplay part 1 PAPRIUM megadrive / genesis longplay part 2 PAPRIUM megadrive / genesis part 3 - instruction manual & manga investors Paprium Update: Fonzie FINALLY Breaks His Silence What Happened to Paprium? A Documentary - St1ka's Retro Corner What Happened to Paprium? A Documentary (Part 2) - St1ka's Retro Corner What Happened to Paprium? A Documentary (Part 3) - St1ka's Retro Corner Analyse de l'interview de Fonzie Scene World Podcast Episode #109 - Watermelon Games' CEO Gwénaël Godde aka Fonzie PAPRIUM - THE FONZIE INTERVIEW (English Subtitles) L'entrevue la plus puissante avec Gwénaël "fonzie" Godde PDG de Watermelon Partie 1 Entrevue avec "Fonzie", PDG de Watermelon #teaser Entrevue avec fonzie, suite et fin. Paprium's Creator: An Interview | St1ka's Retro Corner Paprium Documentary - Complete Series | Movie Length Documentary | St1ka's Retro Corner The Paprium SCANDAL

Fun Quotes

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"

You might also like...
Projects for AI/ML and IoT integration for games and other presented at re:Invent 2021.
Projects for AI/ML and IoT integration for games and other presented at re:Invent 2021.

Playground4AWS Projects for AI/ML and IoT integration for games and other presented at re:Invent 2021. Architecture Minecraft and Lamps This project i

Object tracking and object detection is applied to track golf puts in real time and display stats/games.

Putting_Game Object tracking and object detection is applied to track golf puts in real time and display stats/games. Works best with the Perfect Prac

​TextWorld is a sandbox learning environment for the training and evaluation of reinforcement learning (RL) agents on text-based games.

TextWorld A text-based game generator and extensible sandbox learning environment for training and testing reinforcement learning (RL) agents. Also ch

Neural network chess engine trained on Gary Kasparov's games.
Neural network chess engine trained on Gary Kasparov's games.

Neural Chess It's not the best chess engine, but it is a chess engine. Proof of concept neural network chess engine (feed-forward multi-layer perceptr

Analysing poker data from home games with friends
Analysing poker data from home games with friends

Poker Game Analysis Analysing poker data from home games with friends. Not a lot of data is collected, so this project is primarily focussed on descri

A library of scripts that interact with the PythonTurtle module to create games, drawings, and more

TurtleLib TurtleLib is a library of scripts that interact with the PythonTurtle module to create games, drawings, and more! Using the Scripts Copy or

Signals-backend - A suite of card games written in Python

Card game A suite of card games written in the Python language. Features coming

🍷 Gracefully claim weekly free games and monthly content from Epic Store.

EPIC 免费人 🚀 优雅地领取 Epic 免费游戏 Introduction 👋 Epic AwesomeGamer 帮助玩家优雅地领取 Epic 免费游戏。 使用 「Epic免费人」可以实现如下需求: get:搬空游戏商店,获取所有常驻免费游戏与免费附加内容; claim:领取周免游戏及其免

Best Buy Bot used to add products to cart for purchase.

To Install the Best Buy Bot These instructions are for Mac users only. Clone this Repo to your machine. BestBuyBot Open in VScode. Is Python installed

Rasterize with the least efforts for researchers.

utils3d Rasterize and do image-based 3D transforms with the least efforts for researchers. Based on numpy and OpenGL. It could be helpful when you wan

Been busy guys, will be reviewing and integrating pull requests shortly. Thanks to all contributors!               LATEST RELEASE: 6.0.0 - flatpak @ https://flathub.org/apps/details/com.ozmartians.VidCutter - snap @ https://snapcraft.io/vidcutter - see https://github.com/ozmartian/vidcutter/releases for more details...
Fetch Flipkart product details including name, price, MRP and Stock details in general as well as specific to a pincode

Fetch Flipkart product details including name, price, MRP and Stock details in general as well as specific to a pincode

Get-Phone-Number-Details-using-Python - To get the details of any number, we can use an amazing Python module known as phonenumbers.

Get-Phone-Number-Details-using-Python To get the details of any number, we can use an amazing Python module known as phonenumbers. We can use the amaz

A launcher to launch games from Riot Games under Linux

rito-launcher A launcher to launch games from Riot Games under Linux Requirements: Python 3, with the following pip plugins: 'configparser, pathlib, w

Datamining of 15 Days of (free) Games at the Epic Games Store (EGS).

EGS: 15 Days of Games This repository contains Python code to data-mine the 15 Days of (free) Games at the Epic Games Store (EGS). Requirements Instal

Scrapy-soccer-games - Scraping information about soccer games from a few websites

scrapy-soccer-games Esse projeto tem por finalidade pegar informação de tabela d

use python script to fix vmp dump api in ida

FixVmpDump use python script to fix vmp dump api in ida. support x86 and x64. details in my blog: https://blog.csdn.net/yan_star/article/details/11279

A bot to use in a pump & dump event
A bot to use in a pump & dump event

A bot to use in a pump & dump event on Binance.com. Please note the bot is in heavy devleopment currently so be aware of errors. If you experience err

Aggrokatz is an aggressor plugin extension for Cobalt Strike which enables pypykatz to interface with the beacons remotely and allows it to parse LSASS dump files and registry hive files to extract credentials and other secrets stored without downloading the file and without uploading any suspicious code to the beacon.
Comments
Owner
Hustle Arcade
Just my arcade side hustle...
Hustle Arcade
DumpSMBShare - A script to dump files and folders remotely from a Windows SMB share

DumpSMBShare A script to dump files and folders remotely from a Windows SMB shar

Podalirius 178 Jan 6, 2023
A python script to dump all the challenges locally of a CTFd-based Capture the Flag.

A python script to dump all the challenges locally of a CTFd-based Capture the Flag. Features Connects and logins to a remote CTFd instance. Dumps all

Podalirius 77 Dec 7, 2022
Details about the wide minima density hypothesis and metrics to compute width of a minima

wide-minima-density-hypothesis Details about the wide minima density hypothesis and metrics to compute width of a minima This repo presents the wide m

Nikhil Iyer 9 Dec 27, 2022
Api for getting bin info and getting encrypted card details for adyen.

Bin Info And Adyen Cse Enc Python api for getting bin info and getting encrypted

Roldex Stark 8 Dec 30, 2022
Hack Camera, Microphone, Location, Clipboard With Just a Link. Also, Get Many Details About Victim's Device. And So On...

An Automated Tool to Hack Victim's Camera, Microphone, Location, Clipboard. Has 2 Extra Features. Version 1.1 Update Fixed Some Major Bugs Data Saving

ToxicNoob 36 Jan 7, 2023
Official implementation of the paper 'Details or Artifacts: A Locally Discriminative Learning Approach to Realistic Image Super-Resolution' in CVPR 2022

LDL Paper | Supplementary Material Details or Artifacts: A Locally Discriminative Learning Approach to Realistic Image Super-Resolution Jie Liang*, Hu

null 150 Dec 26, 2022
[EMNLP 2020] Keep CALM and Explore: Language Models for Action Generation in Text-based Games

Contextual Action Language Model (CALM) and the ClubFloyd Dataset Code and data for paper Keep CALM and Explore: Language Models for Action Generation

Princeton Natural Language Processing 43 Dec 16, 2022
A tool for making map images from OpenTTD save games

OpenTTD Surveyor A tool for making map images from OpenTTD save games. This is not part of the main OpenTTD codebase, nor is it ever intended to be pa

Aidan Randle-Conde 9 Feb 15, 2022
Learning based AI for playing multi-round Koi-Koi hanafuda card games. Have fun.

Koi-Koi AI Learning based AI for playing multi-round Koi-Koi hanafuda card games. Platform Python PyTorch PySimpleGUI (for the interface playing vs AI

Sanghai Guan 10 Nov 20, 2022