Difference between revisions of "Talk:Tips"

From Tokyo Afterschool Summoners
Jump to navigation Jump to search
(Created page with "=LF> New Methods= I guess here's where I'll write down my thoughts on asset extraction. From release / creation of the wiki up until Valentines 2017 I think, our (Raku and I'...")
 
Line 11: Line 11:


--[[User:Mrquiggles|Mrquiggles]] ([[User talk:Mrquiggles|talk]]) 10:50, 9 April 2018 (CDT)
--[[User:Mrquiggles|Mrquiggles]] ([[User talk:Mrquiggles|talk]]) 10:50, 9 April 2018 (CDT)
To also put my thoughts into one place:
* https://github.com/DerPopo/UABE/issues/169 -> references needing Assembly-CSharp.dll
* http://devxdevelopment.com/ -> is able to at least get a peak at Assembly-CSharp.dll
* https://github.com/0xd4d/dnSpy -> allegedly can hook into C# calls
* some other page about preventing extraction somewhere mentioned you can just hook into GPU calls and grab models, could be used to grab assets
The method seems to be:
* fork over money, cross fingers that Assembly-CSharp.dll is able to contain the decrypt function call, doing dubious and morally gray actions
or
* somehow magically intercept a bunch of calls on Android as referenced in the GitHub issue, going through the hell of finding a way to do it and where to hook and crossing fingers it works
--[[User:Mrquiggles|Mrquiggles]] ([[User talk:Mrquiggles|talk]]) 11:19, 9 April 2018 (CDT)

Revision as of 16:19, 9 April 2018

LF> New Methods

I guess here's where I'll write down my thoughts on asset extraction.

From release / creation of the wiki up until Valentines 2017 I think, our (Raku and I's) method of adding character portraits and icons were then same as the wikiwikis: just taking screenshots and cropping them. It wasn't a big deal, we didn't think we needed anything better. Then asset extraction paved the way to a higher quality wiki; no more need for uglies around the portraits, no more need for dealing with different resolution creating different scaling and messing with the dithering in the portraits. Sometimes we were able to grab more than what was available at the time (unused or abandoned assets, unreleased units too) due to how caching used to work where it downloads everything. Soon that changed to where only some things can get pre-cached, but, in short, it just ends up caching on demand rather than pre-caching. We still were able to dig in and grab things we want.

Fast forward to this morning; new gacha, new units, new things to rip. However, it seems the app now uses a "new" (unused for the game until now) method for caching assets, where it'll download an encrypted string, and in-app will decrypt it. It's sorta like Utage but apparently it's even in Unity's documentation here: [1]. Seems like a brick wall to me, where even UAE won't do anything about it except just extracting the raw bytes itself. I believe somewhere on UAE's GitHub was mentioned to "feed" it the game's Assembly-CSharp.dll, and from there it can use the specific decrypt method in the dll. Seems relatively simple, as DevXUnity seems to be able to read all the way down to function headers and sometimes one-lined return statements. The demo seems to be able to recognize them fine, but I'm not too confident they can extract it, especially for a one-time-use program for a minimum of $100 or so shekels. I don't mind forking it over, but for something that may work seems kinda sketchy. But, it may let me completely decompile the game and read more than just one decryption function and, in theory, be able to run it on Windows, or any other things. The sky's the limit if it does work.

In short, assets are locked away, probably related to me foolishly Tweeting about internal assets, even though it's quite odd that LW will notice tweets of internal filenames, but not the wiki where assets and voice clips are plastered almost everywhere. I hope this isn't the end of asset extraction; it really ruins my morale for playing the game too and running the wiki, seeing that I can't provide the level of quality I have with actual assets rather than lame screenshots.

If anyone else has an idea, much less working method, much less even reads this, please let us know. I might end up burning the entire day scrambling over trying to get this to work.

--Mrquiggles (talk) 10:50, 9 April 2018 (CDT)

To also put my thoughts into one place:

The method seems to be:

  • fork over money, cross fingers that Assembly-CSharp.dll is able to contain the decrypt function call, doing dubious and morally gray actions

or

  • somehow magically intercept a bunch of calls on Android as referenced in the GitHub issue, going through the hell of finding a way to do it and where to hook and crossing fingers it works

--Mrquiggles (talk) 11:19, 9 April 2018 (CDT)