Skip to content

coomsickle92458/konami-mobile-ripping-toolset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Konami Mobile Ripping Toolset

kagemasa

A set of tools for ripping music from Konami mobile games

Contents

  • nigger.py for niggering konami's website, ripping all remote assets
  • fuck.py for fucking encryption on assets
  • fuck.cs for fucking encryption on other files (static assets)
  • cum.py for gluing artwork, titles and music together

Support

Only tested on jubeat

How to use

These scripts are not user friendly and meant to be adjusted based on specific game you are trying to rip music from.

You will need some reverse engineering and programming knowledge to use them.

  • Dump the game files from /sdcard/Android/data/com.konami.*
  • Grab ablist from com.konami.*/files/ab/ablist.json
  • Run fuck.py to decrypt ablist.json
  • Run nigger.py to dump remote assets
  • Run fuck.cs to decrypt music metadata com.konami.*/files/Play/MusicList
  • Run Assets Studio and dump decrypted game assets
  • Run cum.py to glue decrypted assets (arts and music) with music metadata (titles and artists)

Technicals/Structure

  • Overview on AssetBundleCryptoStream encryption https://jywhy6.zone/2019/12/21/decrypt-bm2dxum/

  • Static assets are decrypted using fuck.cs with a hardcoded key/iv

  • Original file path (bundlePath) is used for both salt and password

  • PBKDF1 used for derivation (C# implementation) the C# implementation is out of spec and allows salts of arbitrary lengths!

  • AES-128-ECB is used for implementing custom AES-CTR mode. Block counter is used for CTR nonce

  • Assets are distributed encrypted via amazon storage instance http://d3u9qu1rz2zw6v.cloudfront.net/

  • /sdcard/Android/data/com.konami.android.jubeat/files/ab/ablist.json - stores list of assets and their original paths (encrypted)

{
	"assetBundles": [
		{
			"bundleName": "playables/preview/music_321201404",
			"assetPaths": [
				"konami/assetbundles/playables/audio/previews/321201404_preview.wav"
			],
			"dependencies": [],
			"crc": 649798932,
			"hash": "5c5044e712f1c4340e673307b42245efc0aeebfa",
			"size": 632921,
			"expire": "",
			"label": "playable_preview_music",
			"publishPath": "f/f00f46786073ead6f28282f667371d148d5d26f2"
		},
		{
			"bundleName": "playables/preview/music_321201501",
			"assetPaths": [
				"konami/assetbundles/playables/audio/previews/321201501_preview.wav"
			],
			"dependencies": [],
			"crc": 2050081105,
			"hash": "62882dad67b528ac17d3ad4b776126379cb04a96",
			"size": 595706,
			"expire": "",
			"label": "playable_preview_music",
			"publishPath": "1/15979d60adbf2392c771a4f3da4508bd3a4d19b8"
		},
	]
}
....
  • 4 different decryption functions for your pleasure. Fuck konami

kagemasa

About

A set of tools for ripping music from Konami mobile games

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published