Leaderboard
Popular Content
Showing content with the highest reputation on 11/09/24 in all areas
-
A complete guide to unpack and repack Yu-Ris engine files
Veshurik reacted to MrPalloncini for a topic
Introduction I wanted to make this guide since i couldn't find some complete guide to mod any VN on yuris engine. The main reason is that i played euphoria and i wanted to mod it. All the examples you are going to find are my years of reverse engineering and online documentation on euphoria (Mangagamer) version of yuris (v474). How Yu-Ris engine works Yuris is an interpreter that uses code C-like, is often used with ERIS, which is the VN interactive engine part of the interpreter. The engine use its own file format called "YPF" for archives and "YBN" for scripts. The contents of the YPF file are usually assets since the archive can contain all kind of media, except videos. The engine can be configured to use debug mode, as well as a log mode if activated. Usually is used with some assets protection, using the ypf format, the algorithm should change with major version of the SDK. It also offer a XOR encryption protection for the scripts files. The engine uses SHIFT-JIS text encoding, to be compatible with Windows versions since 98 to today. This of course causes some issues with the text since the OS will use ASCII standard to read it. Unpacking YPF files Unpacking YPF files is quite simple since is a standard Zlib compression, however tools may be incompatible depending on the engine version. You can easily unpack those files by using yu-ris text replacer, arc_conv or GARbro. GARbro has a really simple UI to use and can extract each archive by guessing the key or using a list of known keys for each game you want to unpack. arc_conv is quite simple to use too, just double click the exe and pick the file, it should extract the ypf file into a folder in the same directory. Yuris text replacer will extract the files automatically without any input from the user, this however might be incompatible with some later games, since the app is not developed anymore and the project is not opensource. Unpacking Video files in YPF format Video files aren't really compressed or encoded, so renaming the YPF file with an MPG extension will works. (Example: OP.ypf -> OP.mpg) The encoding of the video itself is very specific and while it can be opened with a standard player, creating a new one for the game can be a pain, so i suggest to use sdk tools for repacking. Unpacking YBN files This is the part where all gets tricky, the game tries to protect all of the scripts assets with an XOR encryption. To find the text you must before unpack it from the YPF, usually is bn.ypf. Then, you have to find the encryption key, which is only an XOR key, meaning that all the 0 in the file is a letter of the key. For This reason, you should pick up a file with most NULL chars in it, so you can find the key more easily. As you can see, the file patter use so often x.0s chars, when the dot is an escape character so you must save the key in HEX format, in this case the key for euphoria is: 0x30731b78. You can also use this site: https://wiremask.eu/tools/xor-cracker/ to crack the file with some analysis by uploading it. Now that we have the key, we must find a good file to start our unpacking. I suggest to use an hex editor with a bitwise xor functionality with in, the only tool i found is Hex Editor Neo, but is a pay program, however there is a trial version, so if you can find a free one, let me know! We can now import some files to start our cracking, i suggest to import some files in the middle that should contain text, in my case i used the file yst00140.ybn. As you can see, we have some text that is used in the game itself, be aware that some file just use the text to instruct the engine and those files will be not exportable (yet). Now that we just know the key and the file to unpack, we can use ExtYbn to extract the plain text on the file. extybn is a ybn extractor, that can guess op-codes and extract the text with the given key, the app however must be compiled from Golang in a standard executable: https://github.com/regomne/chinesize/tree/master/yuris/extYbn I will give you the precompiled application. Now we should start the executable with the command line and use this argument: extYbn -e -ybn yst00140.ybn -output-opcode -key 0x30731b78 This will give us the op-codes, which are useful to extract the text without issues that we may have. We now can unpack those files correctly using the following command: extYbn.exe -e -ybn yst00140.ybn -json unpacked.json -txt unpacked.txt -key 0x30731b78 -op-msg 95 op-call 29 the following commands are explained in the help file, but i will give you a summary. -e: puts the program in extract mode -ybn: choose the input ybn file -json: will create a json file with all the offsets (required for repacking) -txt: will create a txt file with all the text inside -key: will specify the key in hex format -op-msg/call: will specify the op codes to extract the text We now should have the txt file, remember to use a compatible encoding (default one should be good) and use the syntax the engine will expect. To repack the file, the command is almost identical with some key difference: extYbn.exe -p -ybn yst00140.ybn -txt unpacked.txt -new-ybn modded.ybn -key 0x30731b78 -op-msg 95 op-call 29 in this case we removed the json file, which will be imported automatically, the -p mode to pack the file and the -new-bin command with the new filename. You can also verify the file by manually decrypting in the hex editor like before. However yu-ris is quite sensitive with the text, so your new text may crash the game. Be sure to have repacked well with the right encoding and byte space. Repack YPF files To repack the archives, i suggest you to use the official sdk, you might need to get used to it, but i'ts quite simple and you can find the manuals in the official site, they are in japanese but you can use translate with that url. The sdk should match the game version, however the only important thing is that the sdk must use the same repacking algorithm of the game. I'll leave the sdk for euphoria, but is possible to get it from the official site with an http request. Inside the engine folder, you should find a subfolder called system, then the YsPac folder. Inside that folder, there is the YPF packer that we are going to use. First we must drop the extracted folder inside the application and select it. Then we must click the top left menu bar, then click the second parameter. This will export the file. That's it, the file should now be exported as a YPF file. Feel free to contribute and improve this guide, if you have any issues let me know. Yu-Ris SDK link: https://mega.nz/file/FQBgxJib#Yirgo01FPfDQu8Mte2b3dGMSxZx2UPyjIDDMhZZ2mU0 extYbn link: https://mega.nz/file/FQBgxJib#Yirgo01FPfDQu8Mte2b3dGMSxZx2UPyjIDDMhZZ2mU01 point -
A Good Magical Girl Like a Good Shepherd Review
masster_auron reacted to littleshogun for a blog entry
Sorry for the belated review here, and yeah I'm quite surprised that we managed to have Daitoshokan full patch leaked just like Yoake. Welcome to this week VNTS Review, and as for the title I parodied Daitoshokan alias (A Good Librarian Like a Good Shepherd) by changing 'Librarian' into 'Magical Girl' because we also have magical girl nukige release as well. Another reason is that because there's a seiyuu joke in here, and I'll tell it in PS seeing that it's a spoiler. Other than Daitoshokan which is the biggest release, we also have Tokyo Chronos that was released by Sekai after they managed to funding it through Kickstarter. As for this week, if not for Daitoshokan sudden release I would say that it would be another dry week thanks to the smaller releases, but thanks to Daitoshokan it's getting more interesting here although the updates still didn't much though (ie no Mangagamer updates). Anyway, let's see what I can write for this VNTS as well. As for the releases other than Daitosho, first of all we have Inugami in which it's a nukige with the premise that the MC did going to live in an island together with the martial art god who turned out to be female (Should be goddess) in order to train, and at the same time have the sex with the goddess. While it's not the most interesting VN out there, you can get it from Steam (Because it didn't have high school setting maybe?) if you getting interested with that and have fun. Other release to note is Gedou Mahou Shoujo Rinne in which it's aforementioned magical girl nukige here, and it's quite unique seeing that we have villainous MC who is a girl (Rinne, which is the title girl) that was jealous with her classmate (Hijiri) and want to beat the classmate after she got the magical girl power (And get corrupted). Also coincidentally Hijiri is the magical girl so Hijiri will obviously try to stop Rinne here, although it wouldn't be easy though seeing that Rinne will using all of her power to beat Hijiri. While this is still a nukige, at least it's still nice to see if you want to play magical girl nukige here in which it's surprisingly rare to see one got translated, so go get that if you interested with it and have fun. We also have Sekai did release Tokyo Chronos, in which it did got Kicstarted back at August 2018 with the base goal at 75,000. While the premise looks promising with the Virtual Reality world and that one of the staff did involved in Sword Art Online anime as the producer (The romance is as romantic as Twilight for some people by the way), I didn't quite interested with this seeing that there's no much info on this. But still since the VN did have interesting premise with survival and mystery theme, some people should find this quite appealing so if you want you can try Tokyo Chronos there and have fun (At least it got two famous seiyuu (Romi Park and Yuki Kaji) if you interested with that). We also have Sekai finally managed to have G-Senjou 18+ version did enter the QA, which to say was very late seeing that we already got it translated by TL Wiki since back at 2010 despite of the mosaic (Not very important to me here). There's Nekonin 2 Plus in which apparently Whirpool did add the additional sex scenes based on consumer wishes so good for them I think, and currently it's already fully translated and edited so it should be released in near future. For fan translation, we have Moususgu Natsuyasmi patch release in which apparently have shota MC did have sex with his friends that more or less are at the same age as him. Whether you find this acceptable or not is up to each of their own seeing that it's a loli VN, but if you find it interesting you may try that later and have fun even though the graphich is quite old (It's from 2006). We also have Eustia was at 64.45% translated along with 49.50% edited, Shin Koihime Musou was finally at 29% edited, Relaxation Yuka was at 76.42% translated, Watamasu was at 72% translated, Loverable was at 62.27% edited, and Hoshiori's overall was at 97.42% translated with Natsuki's route was at 80.42% translated. For the last week biggest release, it's obviously Daitoshokan in which it's been released back at Saturday by one of the editor leaked the complete patch in Reddit. As for the project history, it's been in work since back at 2014 before the leader seemingly vanished after gave the last update back at October 2016. Of course by now people would already give up on this to be released, and yeah we have surprise release on this in which it's a good surprise here. With this it mean that finally August's curse is broken again, after Yoake (Leaked by same person at Reddit) and Daitoshokan side story release (I didn't have any problem on the side story release anymore seeing that we have the main game translated). As for the premise, it's in regard of the MC Kakei who have power of precognition saving a girl (Tsugumi) in a weird way (Touching Tsugumi's boob) and then Tsugumi did invite Kakei to join her project to make the school happy, while at the same time both of them investigate Shepherd rumor because both of them did received the messages from Shepherd. Also Daitoshokan here is better than Yoake, simply because it did have the sex scenes lol. Have fun with Daitoshokan there. That's all for this week, and see you next week. PS - For the seiyuu joke in regard of the title, it's because we have Kirihana here voicing a character at Daitoshokan.1 point