hiya!
welcome to tumblr user monarchisms' extensive post on enterrise's 2017 android port of パチスロ 逆転裁判, also known as pachislot gyakuten saiban, also also known as pachislot ace attorney. i've known of this game's existence almost as long as i've been a fan of the ace attorney franchise. i started binge playing the main series since summer of 2024, but really locked in with this specific game since december of 2025.
looking up anything about this game is like finding water in a desert. a lot of what does exist online about it is exclusively in japanese, which i do not understand without a translator, and most anything in english leads to a lot of dead ends and dead links. i've been documenting my research and anything i found interesting here on tumblr, starting with this post. i linked the very first post because i've added a lot to the thread since that day. that way, you can look at the notes for all my additions and comments in the tags. though, for convenience and accessibility's sake, this post exists basically as a "polished" version of everything i've learned up to this point. i'll try to go in order of how i have generally learned what i currently know. for that reason, this post will be very long. thus, everything going forward will be under a readmore.
with the introduction out of the way, let's get started.
part 1- how did you get this game to work?
as i said before, this is the android version of the game, so the first emulator i looked at was bluestacks. i had some familiarity with it, as i've played 1 game to completion using it- layton brothers: mystery room. it's good. go play it. anyways, the first hurdle i hit was... playing the game, thankfully, the files for the app are on the internet archive. that part wasn't too hard. getting it to be in a playable state was. from there, i was reading this thread on the lostmediawiki forums, which has been the most comprehensive thing i found. ironically, the google drive with the custom apk file is uh... lost media. with this, i had no choice but to make my own custom apk through sheer trial and error, and an extreme amount of stubbornness. this is thanks to me being a crazy person. i'm still mentally recovering from how long it took me to get it to work. now, to explain what i did:
after downloading lucky-patcher from the dev's website (use an ad blocker lol) and the base pachislot apk, i scrolled down to said apk i wanted to modify:
and did the following- menu of patches -> apk with a multi-patch -> check all the boxes -> check the boxes labeled "automode (dex)", "automode (inversed)", "other patches (extreme mode)", "remove dependencies", and "signature verification killer" -> check the boxes labeled "remove links from apk", "corrupt the ad receiver", "other patches", and "removes integrity check and signature verification" -> "support patch for lvl and inapp emulation", "support patch for lvl and inapp emulation (reassembly dex)," and "removes integrity check and signature verification" (yes, again), -> finally, check "removes integrity check and signature verification" one more time, and tap "rebuild the app" after that. i don't know if those specific settings are the only settings that make the game work. i just know that it worked for me.
then, after making sure the modified apk is installed, you can either save the original apk as a backup or uninstall and delete it. the last major step is making sure the obb files are in the right place. i don't remember the beginning bit as well because i figured it all out at 3 in the morning, but i think i dragged the obb files from my pc to the emulator before going to the emulator's internal storage. i used es file explorer to move the obbs, but really, any file explorer app will do. from there, the path is storage/emulated/0/android/obb/net.commseed.gs. if there isn't an obb and/or net.commseed.gs folder, simply make one. finally, place both obbs in the net.commseed.gs folder, and you're done! after opening the modified apk, some files should download before you're greeted with the menu screen :D
part 2- how did you extract and convert the files?
if you thought part 1 seemed tedious, get ready for part 2!
the easiest part of extracting and converting anything from this game is making a copy of the apk file, renaming the file extension to .zip, and extracting that with your tool of choice. i personally use winrar. when extracted, there will be several files and folders that will look like this:
in my personal opinion, the most interesting assets in these files are all the parts that make up the slot machine:
i've already uploaded these and other assets to the spriters resource for anyone who wants to take a better look at them ^_^
with extraction for everything else, i used the program vgmtoolbox. after opening it, navigate to misc. tools -> extraction tools -> common archives -> cri cpk archive extractor. (btw, cri is short for criware, the middleware this game and really, many games developed in japan use. cpk is the archive format criware uses. cpk is simply "criware packed".) you have to drag one obb at a time for it to work, and each one is fairly large, so it'll take a while. as it's extracting everything, a folder will pop up in the same place the obb files are saved. this is what it looks like for me:
if it's successful, the inside of each folder should look something like this:
the main obb's folder should have 30,308 files, and the patch obb's folder should have 32,547, and together, that's 62,855 files to sift through. oof. a vast majority of them are images files that are compressed weirdly, but i'll put the explanation for that much further down. it'll make sense why once you see it, trust me.
with the extraction done, i think i should now explain all the file types i found, what they're used for, and if possible, how to convert them. i found out what most of the file types were thanks to the hex editor hxd, but of course, any hex editor is good. i just like this one the most. this is a preview of what hxd looks like when you drag a file to it:
now, to the explanations.
for any file in general, the first four characters in the decoded text reveal what it's supposed to be, as shown above. obviously, i didn't figure everything out by manually checking Every Single File. i think when i started diving deeper, i checked... i wanna say over 20 or so in the main folder manually before i considered automating the process by checking the first 16 bytes of every file using a python script. i only resorted to google's ai thingy as a last resort to make said script because the game is that obscure. it worked, and i hated it. anyways, i put the script on pastebin because copying and pasting pure code here would be disastrous. for any python script to run correctly, you need a command prompt window open to where the script is saved, and write something like
python "path/to/pythonscript/scriptname.py" or python scriptname.py. either one works, as long as you're in the correct folder.
when you run it, the code copies and pastes the bin files into whatever you set the output path as, and then creates subfolders based on what the beginning bytes are. that way, you can drag only one file into a hex edit, read the decoded text, and then figure out what to do from there. and now, here's a list of all the file types i found so far:
@ utf: universal table format. database structure used to store metadata for a game's assets. it's the one i understand the least. i converted the utf files i had using a utf editor on gamebanana. just drag and drop the file on cri_utf_tool.exe, and an xml version of the file should pop up.
png: portable network graphic. i honestly don't need to explain this one further. you know it. you love it. for an individual file, changing its extension is enough. if you're 100% sure everything in a folder is the same file type, open command prompt in the folder you have opened and paste this: ren *.* *.png ren is short for rename, and .png can be changed to any file type. great if the number of files you have is like, over 1,000 or something. for a safer method of renaming multiple files at once at a smaller scale, use something like webrename. it's a godsend.
crid: okay, i don't know what crid stands for, if anything, but it stores video files, and those have a recognizable abbreviation- usm: unicode sofdec 2 movie. to be blunt, converting these files fucking sucks because many of these videos are meant to be transparent. you just gotta grit your teeth and bear it. i mostly used this reddit post as a reference with this program, but it's not ideal for multiple files in a single folder. fortunately, that's more understandable. when you have all the usm files in one folder, run the command prompt program. to do that in windows, all you need to do is go to the address bar...
...type "cmd", and hit enter! okay, here, i'll just copy and paste the command i used and explain the parts that need changing:
FOR %F IN (*.usm) DO usm_deinterleave_transparency.exe "%F"
i recommend you put the exe file in the same location as the .usm files if you don't want to copy and paste the path for its location. if you've differentiated the files, again, use something like webrename or the ren command in command prompt to simultaneously change all the files extensions to .usm :)
next, this is the more frustrating step. ffmpeg is required for this to work. i'm too mentally tired to explain ffmpeg's installation process by myself, so i'm sharing a video from someone else because it's... it's just a whole thing:
as long as the ffmpeg folder in is your main computer drive, which is most likely c:/, it's good. after that, to convert them all in one go, i had to use another script. 2 scripts, actually. they're batch files this time around, and they're on pastebin, too. use this one first, (it combines similarly named videos, one color, one alpha, into one normal-looking video) then the other one second (it looks at those completed videos and extracts all the frames. this is how i make my gifs so clear!) the second one requires you to change the paths, but otherwise, i think these are self explanatory. the default conversion for the videos is .m2v, but those file types can play with vlc media player just fine. here's an example of a completely converted video:
in case it's too confusing, just ask me for further clarification, and i'll do my best to clarify and edit this post! weird thing is, all the usm files have the alpha and color layers when they're split, but don't have sound, which leads me to explain the next file type-
afs2: audio file system 2. the audio archive for not just dialogue, but sound effects and music, as well. the file types in that archive are usually acb or awb. i believe there should only be one of these afs2 files for a whole game, and again, vgmtoolbox is required for extraction. this time, navigate to misc. tools -> extraction tools -> common archives -> cri acb/awb archive extractor. again, a folder should appear with a bunch of .bin files. funnily enough, when searching for any information for afs2 files. i found the solution from a single comment on zenhax:
tumblr hates me adding this as an inline link for some reason, so here's the source in plain text: https://zenhax.com/viewtopic.php@t=4102.html
and yeah, just renaming it works. hca is an acronym for high-compression audio. after renaming the file extension, i used vgmstream-web to play it, and it worked like a charm. wanting to add an audio sample, i sorted everything by file size. this was the largest audio file that was extracted:
banger.
i added the cover art and details myself using info from khinsider because "00002.afs2.00064.hca" is not visually appealing. i don't know why the version on streaming services and the version straight from the game's files are different lengths. my personal guess is that this version you see here cuts short so that it can loop indefinitely in-game. i'm not as knowledgeable at batch converting audio to something more common like mp3 as i am with other file types, so i don't understand what audio tracks match with what video, sorry :'(
edit 1/30/26- i recently learned that a program called foobar2000 can play hca files with this plugin. it's as easy as double clicking it to install it after downloading foobar 🙂↕️
after all that, i can now get back to those "weirdly compressed" image files i mentioned a million paragraphs ago. they were so tedious, i have to explain them in their own section.
part 3- whatever these things are
right off the bat, i have to admit that i don't know what the fuck these types of files are. when i first discovered them and opened them in hxd, this is what it showed me:
utterly incomprehensible. so, the next thing i thought of doing was copying and pasting the first 16 bytes into google, and praying for a miracle. i did get something, but it was something i still don't fully understand. you see, the 13th and 14th bytes are 78 and DA. together, that signifies that the original file went through zlib compression. ...whatever that means. i know enough to explain that in general, assets are compressed in order to save space, and given that a majority of the files are images, that makes complete sense. decompressing them, however, is a whole other story.
no matter what i did, i accepted that i had to use some script to get it to work. i 100% did not get this on my first try. i intentionally cut out all my major mistakes and broken scripts getting everything to work because that would ruin the flow of the post. please understand this part took the better part of ~3 weeks working on it on and off. skipping all that, after the bins are sorted, i used this version of the script to decompress anything that it recognizes as a zlib compressed file. i was lucky that python just has a zlib thing built in. it's not perfect, though, as it catches regular png files by mistake. fortunately, it's not a huge problem, as the original files are unaffected. it's safe to delete the botched outputs, and work on the rest :)
finally, i can explain how i got the dimensions for the images correct. though similar files are grouped in folders, i still had to check at least one file in each folder manually for both the main folder and the patch folder. not exactly hard to do, just extremely time consuming. this is where imageheat comes in. this is once again a case of trial and error. i had an idea of what an asset would look like because i used this version of ninjaripper on bluestacks (the exe for the emulator is called HD-Player.exe, by the way). while the game was running, i just tapped F9 a few times while the game was running. here are some examples of the sprites and images i ripped:
gumshoe's not grayscale in the game itself. it's a frame from one of the videos without all the effects and conversion stuff, but i don't need to explain usm files again, nor do i want to
alongside that, whenever i didn't want to play the game myself, i used this youtube playlist made by @warhelmetcombine as a reference. it's been an immense help.
so! i opened a decompressed file in imageheat and just started messing around with it. all i knew at the time was that the width and height had to be even numbers, and i had to change the pixel format to... something. i went through each format one by one because i recognized almost none of them. to save you time, the correct one is etc2_rgb. here's an example on what a proper result looks like:
fun fact: the largest dimensions i found before any further conversion were 1024x1024 px!
again, i'm not converting Every Single File manually. i did it by folder instead. not ideal, but it is what it is. this process is special in that it requires the python script itself and a batch file that allows dragging and dropping folders onto it in order to run successfully. i had one file explorer window open on one side for all those subfolders, and another window for the folder where my scripts are saved. that's how i was able to do a bunch of them in chunks. of course, the python script requires you to change the dimensions yourself, and the batch file requires you to set the path to the python script yourself, but that's the worst of it, really.
that's most of what i've learned up to now, but as a bonus, for the images that have that half color, half alpha effect, have the ones you want to apply this script to and the script itself in the same folder, and then run the script! as usual, change the paths to whatever you want.
that should be everything for now. honestly, i started looking into this game on a whim because i was already on a roll with ripping and converting stuff from the mainline ace attorney games. i thought going through this one would be fun since this would be the first time i looked at anything from a mobile game.
…
i couldn’t have been more wrong.
i mean, figuring out how stuff worked mostly by myself has been a great brain exercise, but now, i understand why almost nothing about the game’s files were published anywhere: because it fucking sucks converting the files to begin with. if nothing else, i hope that everything i wrote here was at least a little bit informative, and if not that, at least entertaining to read through. as always, if you have any questions of comments, feel free to leave any on this post, or just ask me directly here on tumblr or twitter or what have you.
otherwise, thank you for reading.















