KanColle Kai – Disassembly Mini-Project – Filesystem Structure

This is gonna be a big long post.

Judging from this, KanColle Kai uses a lot of XML abuse as there’s a shit-ton of XML files. Character Live2D files seem to be baked into the .asset files. In the patch, you can see updated Live2D motion files so I assume they now check if there’s files available from the patch folder, and if so, they use them instead. A few MP4s are used for the Opening Video and the in-game training drills, along with the normal or true endings (I haven’t played KC Kai through to the end yet). There’s also some loose files that are icons, a session image (?) and a tweet button (?).

Filesystem Structure


Game Card (Retail Version)
ROM Size: 1.84 GB (1,977,621,545 bytes) according to Windows 10.
All files are listed in the gamecard filesystem device. Continue reading “KanColle Kai – Disassembly Mini-Project – Filesystem Structure”

KanColle Kai (PS Vita) – Disassembly Mini-Project

I’ve been a fan of Kantai Collection, which is a game based around the concept of female characters that have memories from their World War 1 and 2 counter parts. As you would guess, it’s a JRPG with lots of RNG abuse, and it eventually took form as a DMM-hosted Flash Browser-based flash game. As popularity grew, it spawned both a PS Vita port (KanColle Kai) and an Arcade port (KanColle Arcade). I gave up the Browser version because the compass trolling in the game was taking a toll on my sanity.

If you want more information about it, please go see the KanColle Wikia as they do a much better job explaining the game than I do.


Someday, I do hope to get my hands on a ROM/HDD Dump of the arcade version of KanColle, mainly because I’d love to see what game engine they use, as the battle sequences are full 3D and I want to rip the 3D models to use in personal projects. If I win the lotto or something, I might even buy the arcade and import it here. (If anyone does however have a dump of the arcade game, please do get in touch…)

As for KanColle Kai, the game runs on Unity3D. This can be confirmed by the presence of the “UnityEngine.dll” file in the

gro0:/app/PSCG00684/Media/Managed

folder, along with numerous other Assemblies that are the compiled C# code and UnityScript.

On the Vita, gro0: is the game card, while app0: is the filesystem that belongs to the application version (the one you would download from the Japanese PS Store). My copy is the retail game cartridge version. I believe gro0: stands for gamecard read only slot 0. Which makes sense, because the PS Vita only has one game card slot. You can’t write to the game card through gro0: unfortunately.

I have been researching and looking at a forum who did a guide on how to dump PS Vita games with the 3.60 Henkaku exploit and while I can access my savedata unencrypted, the rest of the game is encrypted. At least the cartridge is. The guide I’m following is supposed to allow me to decrypt the data on the fly, but it seems that isn’t working – for now at least until I get some more pointers. With that being said, that doesn’t stop me from looking around in the file system and documenting what KC Kai has hidden. From what I can see, the game uses quite a lot of XML files.

I’d like to stress that I am not doing this to endorse piracy. I am a tinkerer, and I like to see what underlying things are inside the game and if I can even replace sounds and/or music for example. As I usually say, I’m doing this for educational purposes only.


Next update to this project will contain a list of the files in the filesystem. It’s pretty big and I might turn the list into a PDF or something for easy viewing. Or I might just dump it all into a blog post. Heh, I don’t know.

Coburn out.

Adware in Software Installers – Quick Thoughts

Adware. Software designed to try to pop up and mess with your normal computer activity, and/or inject advertisements at random intervals, or when told to do so by a master server.

Some applications I use like the cleaning software from Wise and ImgBurn now come with annoying “offers” that the author is trying to make some quick bucks from. It’s almost as bad as OpenCandy – that piece of shit that would be installed on many computers that came into my office which would randomly try to install additional software that the client didn’t want. Wise/Lespeed Technology Inc has a offer for SpyHunter 3 (which is by the same guys who are suing BleepingComputer for giving them a crap review because their product is garbage) which you can easily click “Decline” – it’s on the left hand side than next door to the “Accept” button on the right. I’ll let them off the hook because they do offer a portable version of Wise Disk Cleaner and friends that you can download, extract and run to not worry about having to install things.

WinSCP’s installer used to use OpenCandy, but stopped after it came under fire due to malware being installed. ImgBurn’s installer if I recall correctly uses OpenCandy and the author, Lighting UK came across as a big prick where he basically said “Install the ‘crapware’ then uninstall it once ImgBurn is installed” and said “Nope, no binaries only or portable versions”. In fact, ImgBurn is quite portable – zip the files up in the installation directory or copy them to your USB Stick and you’re gold – I did that to my copy to ImgBurn and it hasn’t complained.

I recently tried to download JDownloader 2, which is a all-in-one download manager that will also download files from a lot of file-hosting websites. Just copy and paste the links, it’ll check if they are valid, you know the drill. However, the official web downloader will download a adware-infested version of the actual JDownloader setup file which BitDefender detects as a Trojan. You have to dig into the forum archives to find links to the no-adware installer versions which install without any adware attached.

My case here is that software authors need to understand that not everyone wants to install offered crapware with tools – especially those fucking Bing/Ask/SearchProtect/whatever toolbars that fuck up your web bowser. Sure, you can offer them but do not be a prick and hide the “Skip/Decline” button. Give the user two (or three, if you have multiple offers) options that say “Yes, Install”, “No, skip”, “Skip all”. That’s all I’m asking. Or go the alternate route and put a screen before the “Setup complete” screen saying that if you like the software, please throw some beer money into the jar. That way the user can decide.

I personally have donated to software developers that make good software and the installer is clean of crapware offers. I understand it takes time and money to make good software, but if your installer infects my machine with crapware before I can even use your software, then I’m not using it.

Just my two cents.

Time to dust off the blog… and Pokemon Go thoughts

Nothing really much to say to be honest, apart from some stuff like Pokemon Go. Might as well write about it while I’m taking a breather between website development projects.

I’ve been looking into that game and for the fans of the Pokemon franchise, it works. It helps people who are big fans of the games or even the show to get outside and walk around catching the pocket monsters.

Without putting my hand into the beehive, I’ll just say that some people lack the knowledge to even read the warning that appears on the game loading screen – Be aware of your surroundings. Yet we have people being silly, running into traffic to catch a Eevee. Or even worse, people using the AR mode (where it puts a feed of your device’s camera as the battle background) in places like toliets and well… places where the camera should be disabled.

Maybe there’s a funeral on and suddenly people nearby scream out “I GOTTA CATCH THAT PIKACHU!!!” and upset the whole funeral setup. Not only is it inconsiderate but it puts not only yourself in danger but others as well.

While I have caught a few Pokemon myself and am about to level up to Level 5 so I can try my hand at a Gym Battle, I’ve lost a majority of interest in the game. I played the Red/Blue/Yellow, Gold/Silver/Crystal, Ruby, LeafGreen and the Nintendo DS rehashes of G/S/C and after throwing so many Pokeballs I just got tired of it. It’s just not my cup of tea anymore.

I still enjoy watching how much glitch abuse Pokemon Red/Blue/Yellow gets, that game is full of coding bugs but yet talented people actually can use a glitch to fix another glitch, or even write completely new maps and such. Want to play Pong in the GBA generation of Pokemon games? Sure, with ACE exploits (which runs custom code from console/cartridge work RAM) you can.

As a hobbyist game developer I look at the flaws that Pokemon R/B/Y has, how they are exploited and just be amazed at how the game was programmed and how talented hackers can make stop the game from crashing or battle trainers that exist in the game but are unused… or even implement their own “glitch trainer” with working Pokemon that don’t crash the game.

But for now, I’m hanging up the PokeGear and going back to Ingress. Pokemon Go is just a new fad and given the amount of server downtime, I just don’t enjoy it.

Windows To Go: Actually, it’s not too bad

Just thought I’d throw it out there and comment on my experiences of running Windows 8.1 from a USB Hard Disk. The USB Hard Disk is a WD Elements Basic that supports USB 3.0 (SuperSpeed).

Using GImageX, I deployed a vanilla copy of Windows 8.1 Professional – which was actually a hackish way of doing things since you have to fix up the Windows Boot Manager afterwards – to the drive after a fresh format of the NTFS file system. FAT32 will not work… well, it may but you may suffer FS breakage with permissions and the like.

From there, I rebooted and chose the USB HDD as the CSM boot target, and was greeted with the Windows logo and the spinny dots. Installation went as normal, asking for license key, set up your account, etc. You could also do UEFI boot which will show your OEM’s boot logo but I chose the CSM boot because UEFI can be a pain in the bum.

The reason I did this installation of Windows is because I have my own optimized version of Gentoo Linux installed and I didn’t want to have to mess around getting the two happily talking to each other on local the local hard disks.

Performance wise, the USB3 HDD is enough to keep Windows running smoothly. Windows knows it’s on a USB and while the “Safely Remove Hardware” icon does allow you to eject the HDD… I expect a BSOD would occur, or just a “Device is in-use” error. There’s a bit of extra latency when applications like Unity3D and Visual Studio start up, but overall it’s not bad. As an added bonus, some of my applications seem to load from the internal SSHD faster than a Windows install on the SATA subsystem. Odd.

On the downside, the USB HDD could be prone to failures and also knocks or falls. I am a clumsy sucker some days and have a habit of dropping things (especially cold weather) but I wanted to do this WTG setup for some time, and now that I’ve done so, it’s pretty good. There’s other things like BitLocker Encryption and whatnot, but to be honest, I’m not going to be using the drive for top-secret operations so I didn’t really bother as BitLocker would add additional overhead and increase the whole deploy Windows from image to disk time.

Thoughts: No GOG version of the Senran Kagura Shinovi Versus PC Port

When I first heard about XSEED and Marvelous Games doing a PC port of the PlayStation Vita version of Shinovi Versus, I was hyped. The Estival Versus installment is more so a side story about deceased loved ones. SKEV was released on the PlayStation Vita and PlayStation 4.

I also noted that XSEED had planned to do a GOG/Good Old Games (correct me if I’m wrong) version which I was aiming to purchase, mainly because having a Senran Kagura game for PC that’s DRM-free allows me to play the game on whatever machine I own because I purchased it – just like buying the retail copy back before DRM was a thing.

I’m not saying that Steam is a bad platform, but the fact it requires you to be either logged in or set to “Offline Mode” is annoying. So a few nights ago, I asked XSEED and Marvelous twitter the following question:

Hey @marvelous_games @XSEEDGames, does the PC version of Senran Kagura SV have any differences between Steam & GOG versions? – @coburn64

Soon after I went to bed, I got the following reply which I found in the morning:

@coburn64 @marvelous_games There is only a Steam version because we ran into some technical difficulties with our DRM-free development. – @XSEEDGames

I sent back:

@XSEEDGames Ah, thanks for clarifying. – @coburn64

Since the PC Port of Shinovi Versus is going to feature online play, it dawned on me why the game couldn’t be DRM-free: The game likely will need to have tamper and cheat protection against mischief makers, and Valve’s Anti-Cheat is pretty effective. While it may not catch the determined hackers that know how to work around the protection, but to keep the game from losing it’s momentum, you’d want to have some cheat protection against mainly people who want to ruin it for everybody else, be it godmode/infinite health, aim-bots and the like.

Sure, it would be nice to have a version on GOG that would be DRM free, but having online multiplayer support would be a nightmare if there was not some sort of cheat protection, plus update management. Unless you’re using the optional GOG client, you’d have to either re-download SKSV or download a patch file to bring the game up to date.

So, that being said, as soon as it hits the Steam Stores on June 1st, 2016 I’m going to throw my wallet at the screen and buy the game. Nothing wrong with mashing buttons, having flying boobs and girls getting serious with each other. Ahem. Uncensor patch when?

Opinion: Is Nintendo back-flipping and falling behind the Eight Ball? Seems so.

Ah, Nintendo. It’s a video game company I grew up with. In fact, my first handheld console I owned was a Game Boy Color with both Pokemon Red and Donkey Kong Country.

Now, take my opinion with a grain of salt as it is mine and mine alone. I’ve been supportive of the company throughout the eras – I’ve owned to date the following consoles: Game Boy (original phat), Game Boy Color (Pikachu Edition), Game Boy Advance (Purple), Game Boy Advance SP (Silver), Nintendo GameCube, Nintendo DS (original phat), Nintendo 3DS (original cosmos aqua blue), Nintendo Wii, Nintendo 3DS XL (“New” quad-core model) and finally the Nintendo Wii U. Some of these consoles are still with me today – the others sadly were sold, stolen or broke down.

What I’m writing about is the fact that Nintendo seems to be sliding down the mountain at an alarming rate. A lot of people have said ever since the legendary Iwata died, Nintendo’s been back flipping. There’s a lot of debate on the subject and I don’t wish to go on that tangent, so I’ll just give a brief summary of what my overall thoughts are. Continue reading “Opinion: Is Nintendo back-flipping and falling behind the Eight Ball? Seems so.”

Nitpicking Senran Kagura Estival Versus (PS4 Version)

SENRAN KAGURA ESTIVAL VERSUS
Excellent PS4 game loading splash screen. 10/10

Before I start, this post is not to bash the developers of the Senran Kagura series. It is more so a post just showing the flaws of the game that a lot of gamers would just oversee. When you start game development, you get to a point where you need to tell your brain to not pick apart games you play.

For me, I find that hard to do sometimes where the errors just stick out like a sore thumb. Then I ask myself the question “how the hell did that pass QA checks?”. Some days I force my brain to operate in a “gamer” mode when playing games rather than attempting to pull apart games to see what makes them tick.

Estival Versus is not a serious game. As my friend puts it – it’s literally dripping with fan-service, and it excels in that field. The “Creative Finishers” are fun to watch even for the 100th time and it’s great to just be able to smash some buttons and unleash a few hundred-hit combos.

Let’s begin nitpicking with the most annoying thing in the Single Player Mode. Continue reading “Nitpicking Senran Kagura Estival Versus (PS4 Version)”

Fracking fake Telstra callers giving me the shits

To hell with these guys. How the hell do you get my home number in the first place?! I’m going to put my responses in italics, just so it’s easier to clarify. This is basically the transcript as it went on. The guy was clearly not very fluent in English. I spoke in a deep serious tone as I was in the middle of having lunch.


 

“Hello, how are you today?”
“I’m good thanks.”
*awkward pause* “Hello? Are you there?”
“Yes, I am.”
“I’m calling from Telstra, and your internet will be disconnected for 3 months”
“Okay, but why?”
“Sorry, I didn’t get that”
“Do you have a reason as to why?”
*guy mutters something in chinese*
*guy hangs up*
“….The fuck was that?”


Next time I get a call from that I’m going to record it. Enough with these stupid calls.