morkt / GARbro

Visual Novels resource browser
MIT License
2.33k stars 247 forks source link

Game Request: Nukige Mitai na Shima ni Sunderu Watashi wa Dou Surya Ii Desu ka? 2 #376

Open KiritoCy opened 5 years ago

KiritoCy commented 5 years ago

https://vndb.org/v23741 archives : .WAR It seems it uses a new updated encryption compared to the prequel since i can't even extract the script archives, can you update it plz? Thanks in advance ;)

morumoto commented 5 years ago

VNDB: https://vndb.org/v23741 Developer: Qruppo Engine: 椎名里猪 v2.50 Archive files: .WAR Thank you so much!

jszhtian commented 4 years ago

RioShiinaDump.zip This is a semi-automatic solution for Nukige Mitai na Shima ni Sunderu Watashi wa Dou Surya Ii Desu ka? 2. It will dump all files which are accessed by RioShiina 2.5 engine. If you want to use it to unpack specific files. You need generate a Dump file list. In Garbro repo, you can find how to decrypt file name in War file. Then modified the dumper function. Use CreateThread to create a Thread for dumping files.

Gezine commented 4 years ago

RioShiinaDump.zip This is a semi-automatic solution for Nukige Mitai na Shima ni Sunderu Watashi wa Dou Surya Ii Desu ka? 2. It will dump all files which are accessed by RioShiina 2.5 engine. If you want to use it to unpack specific files. You need generate a Dump file list. In Garbro repo, you can find how to decrypt file name in War file. Then modified the dumper function. Use CreateThread to create a Thread for dumping files.

Just tried Your code and successfully extracted all 18241 NUKITASHI2 files. (Actually It is 18248 but 7 are duplicated file and no way to extract it separately) There were memory leak? problem and crashing when extracting files too fast. So I changed some of code.

Again Thank you for your code!

parasaite commented 2 years ago

I'm sorry I'm new to programs and code. I would be grateful if anyone could teach me how to use RioShiinaDump.zip.

yenting-chen commented 2 years ago

Thank jszhtian for the code!

@parasaite FYI, the following is how I use RioShiinaDump.zip

  1. Download GARbro release and use GARbro.GUI.exe to view WAR files in NUKITASHI2's folder
  2. Find the filenames you are interested and save to a text file named "list.txt" (e.g. a text file containing "REI_01M.S25" as its content)
  3. Download Detours source code from its GitHub repo and build it (build the x86 version)
  4. Create a Visual Studio project containing dllmain.cpp(from RioShiinaDump.zip), detours.h(from Detours), and detours.lib(from Detours)
  5. Build dll (x86 version) from the above project
  6. (optional?) Change system to Japanese (control panel=>region=>language to non-unicode program) and ensure NUKITASHI2.EXE can run correctly
  7. (There are different ways to achieve this) Create another VS project and build a console application (x86 version) that uses DetourCreateProcessWithDllEx() to launch NUKITASHI2.EXE and inject the above dll into it
  8. Run the console application, and files listed in "list.txt" will be generated in "dump\"
  9. Use GARbro.GUI.exe to view and extract those files

I also modified some code in dllmain.cpp

parasaite commented 2 years ago

I'm stuck with an unfamiliar error. What should I do unknown ?

yenting-chen commented 2 years ago

It says detours.h cannot be opened. Seems like those header files are not included correctly. The following is my project setting. You may need to change the path according to your detours library location. 1 2 3

Kyome22 commented 2 years ago

@yenting-chen Thanks for sharing how to use RioShiinaDump.zip. I have not been successful though and would like to ask a few questions.

By the way, I have probably done well up to step 6.

yenting-chen commented 2 years ago

@Kyome22

Q: "list.txt" in step 2 Its path is defined in precheck(). It's probably in the working folder of NUKITASHI2.EXE. I changed it to absolute path when I use it.

Q: step 7 Your code is almost the same as mine. Maybe there is some problem in dll? BTW, I built x86 version. I don't know why, but x64 version doesn't work for me.

I will upload my modified version of dllmain.cpp for your reference. modified RioShiinaDump.zip Q: How to use the modified version of RioShiinaDump.zip?

parasaite commented 2 years ago

What is the working folder of NUKITASHI2.EXE?

yenting-chen commented 2 years ago

@parasaite

What is the working folder of NUKITASHI2.EXE?

It depends on how you run the game and the parameter of DetourCreateProcessWithDllEx(). Please refer to lpCurrentDirectory in https://github.com/microsoft/Detours/wiki/DetourCreateProcessWithDllEx For simplicity, you can just change the path of list.txt to an absolute path (in precheck() in dllmain.cpp).

Kyome22 commented 2 years ago

@yenting-chen Thank you for replying. Thanks to the Zip source you attached, I have a solution! I have got to output all the OGG files I wanted.

surumeika3 commented 1 year ago

@yenting-chen I am Japanese and I am not good at English. If possible, I would appreciate it if you could make a video of how to do it.