GARbro icon indicating copy to clipboard operation
GARbro copied to clipboard

QLIE engine (Imosurume/Imoscripter) pack function?

Open Veshurik opened this issue 5 years ago • 37 comments
trafficstars

I didn't find pack for .pack archives for QLIE engine (Imosurume/Imoscripter).

Tried on that demo version, but usual .rar acrhive as .pack doesn't help - game doesn't run. Maybe, anyone can suggest something?

Thank you!

image

Veshurik avatar May 07 '20 12:05 Veshurik

Search ".s" string in code segment, and analysis the assembly code. If you use IDA pro. It will show that some of functions which are nearby these ".s" are Delphi standard library function ”SysUtils.FileRead“. So if you can bypass some condition jump operand. You can force QLIE directly read unpacked files.

jszhtian avatar May 08 '20 19:05 jszhtian

annabel_trial_example.zip This is a example. Normally, this should be work until new version QLIE are announced. For QLIE 3 and QLIE 3.1. There is only a little different.

jszhtian avatar May 08 '20 19:05 jszhtian

Thanks, I think I understood. Also, I have other problems, how to edit text position in window? annabel_text_example

Veshurik avatar May 09 '20 09:05 Veshurik

annabel_trial_example.zip This is a example. Normally, this should be work until new version QLIE are announced. For QLIE 3 and QLIE 3.1. There is only a little different.

Do you have more specific instruction on how to patch game executable file? I browse your repositories and find something under Fragment/QLIE3.1 but I can't read chinese. Or can I just duplicate the step you did on annabel to every other QLIE games, provided that I know what to replace and what to delete? Thanks

kazurabakouta avatar Jun 03 '20 16:06 kazurabakouta

annabel_trial_example.zip This is a example. Normally, this should be work until new version QLIE are announced. For QLIE 3 and QLIE 3.1. There is only a little different.

Do you have more specific instruction on how to patch game executable file? I browse your repositories and find something under Fragment/QLIE3.1 but I can't read chinese. Or can I just duplicate the step you did on annabel to every other QLIE games, provided that I know what to replace and what to delete? Thanks

image image

Focus on these ".s" string. Qlie 3.1 Games only have 2 ".s" string. and patch the jmp asm code like above picture. It should be work.

jszhtian avatar Jun 03 '20 17:06 jszhtian

Focus on these ".s" string. Qlie 3.1 Games only have 2 ".s" string. and patch the jmp asm code like above picture. It should be work.

I tried to patch it, and look for another example to try it. Somehow Navel and Omegastar doesn't have ".s" on their executable files. Are they somehow any different or use modified version of Qlie engine thus having different code? Sorry for the reply, I've been swamped by work this past week

kazurabakouta avatar Jun 10 '20 14:06 kazurabakouta

Focus on these ".s" string. Qlie 3.1 Games only have 2 ".s" string. and patch the jmp asm code like above picture. It should be work.

I tried to patch it, and look for another example to try it. Somehow Navel and Omegastar doesn't have ".s" on their executable files. Are they somehow any different or use modified version of Qlie engine thus having different code? Sorry for the reply, I've been swamped by work this past week

".s" string is not store in MBCS but in Unicode charset. If you use ollydbg or some older debugger without unicode string searching plugin, you maybe miss these string. I have confirmed that Navel's games 乙女理論とその周辺 and 月に寄りそう乙女の作法2have the ".s" string. but these Qlie3.0 games don't have "cmp byte_xxxx,0 jz xxx_Label". Omegastar's games can also find these strings. Actually, the screenshots are coming from 美少女万華鏡_理と迷宮の少女 which is the newest game from Omegastar. I also confirm that 美少女万華鏡 -罪と罰の少女- and 美少女万華鏡 神が造りたもうた少女たち have ".s" string. And for Caramel Box games, I can also guarantee that you can find ".s" string. Because I have made a patch for 処女はお姉さまに恋してる 3 to read files outside the package.

jszhtian avatar Jun 10 '20 17:06 jszhtian

unicode string searching plugin

I use IDA freeware 7.0. I enable unicode in string sub view and still can't find it. Sorry for the obnoxious question. But glad that they can be patched. What debugger did you use?

kazurabakouta avatar Jun 15 '20 13:06 kazurabakouta

unicode string searching plugin

I use IDA freeware 7.0. I enable unicode in string sub view and still can't find it. Sorry for the obnoxious question. But glad that they can be patched. What debugger did you use?

I also use IDA 7. Use search text image then you can find something like this image

jszhtian avatar Jun 15 '20 17:06 jszhtian

then you can find something like this image

2nd 1st Thanks for the detailed help so far. Alright. How'd I do? I manage to find and patch it although didn't manage to make it look like yours. But the bad news is I can't put the text back inside .s scenario files. That's why I don't know how I hold up I usually use text packer form Biman Games. I can edit Tsuki no Yorisou2 scenario files but failed to insert Kimineza scenario files back. F my life.

kazurabakouta avatar Jun 17 '20 15:06 kazurabakouta

I can't put the text back inside .s scenario files.

.s files are Cp932 or UTF-16 text files. normally you can direct put them in ".\scenario". But you need keep directory struct correct. You can focus on GetFileAttritubeW API. Qlie will check if the file is exist. To get text from .s or insert to .s, you need write a program to split text and system command in .s files

jszhtian avatar Jun 17 '20 16:06 jszhtian

I can't put the text back inside .s scenario files.

.s files are Cp932 or UTF-16 text files. normally you can direct put them in ".\scenario". But you need keep directory struct correct. You can focus on GetFileAttritubeW API. Qlie will check if the file is exist. To get text from .s or insert to .s, you need write a program to split text and system command in .s files

I hate my life so I will scourge through the command and text manually. So in game directory i create a folder ".scenario" and I need to keep all sub directories from the .pack there right? so in my case since the ".s" file contained inside \scenario\本編\act1, Do I have to make .scenario\本編\act1 in game directories?

kazurabakouta avatar Jun 18 '20 04:06 kazurabakouta

so in my case since the ".s" file contained inside \scenario\本編\act1, Do I have to make .scenario\本編\act1 in game directories?

In Windows&DOS Operating System, dot means the current directory. Not like Linux, dot plus a file name means hidden directory or files.

If you use API Monitor, you will see these capture infomation. image That means you need keep directory struct like in pack. And even you don't modify the original executable files. Qlie will also search files in these postitions. but Qlie will throw a Error like this. image

jszhtian avatar Jun 18 '20 10:06 jszhtian

so in my case since the ".s" file contained inside \scenario\本編\act1, Do I have to make .scenario\本編\act1 in game directories?

In Windows&DOS Operating System, dot means the current directory. Not like Linux, dot plus a file name means hidden directory or files.

If you use API Monitor, you will see these capture infomation. image That means you need keep directory struct like in pack. And even you don't modify the original executable files. Qlie will also search files in these postitions. but Qlie will throw a Error like this. image

Well in my case. Wrong repack format always gave me nightmare. But It works wonder now. I won't need to worry about repacking the files. Thanks a lot Great

kazurabakouta avatar Jun 18 '20 16:06 kazurabakouta

Could you please tell me about dataX.pack repack?

Game name is '美少女万華鏡_理と迷宮の少女'

I don't know how to repack those file.

If you know about repack, please tell me.

I waiting for your answer.

Thank you.

shun9092 avatar Jul 22 '20 19:07 shun9092

Hello, can you give more detailed instructions on how to remove the jump commands and if you remove the jump commands you can read the uncompressed file you mean the directories containing the uncompressed .pack file data?You can send instructional videos

MyWork1908 avatar Jul 23 '20 16:07 MyWork1908

Guys I just found out arc_conv can pack qlie and it works for ver 3.0, 3.1

Cosetto avatar Dec 17 '21 05:12 Cosetto

@Cosetto

How? Would you please tell me that?

shun9092 avatar Dec 17 '21 18:12 shun9092

Guys I just found out arc_conv can pack qlie and it works for ver 3.0, 3.1

@Cosetto I'd like to know how to do it as well, could you please explain it?

Darken-kun avatar Jan 07 '22 01:01 Darken-kun

Sorry for late reply @shun9092. @Darken-kun https://github.com/amayra/arc_conv download this and run build.bat After that open cmd and run arc_conv.exe --pack qlie dataxx dataxx.pack. You must keep the same structure when unpack with garbro. Note if your lastest file is data10.pack, for example, then name the new .pack data11.pack, the game will recognize it so you don't need to overwrite

Cosetto avatar Jan 07 '22 01:01 Cosetto

@Cosetto It doesn't work. Can u help me more? How to know a structure of pack file? You said 'must keep the same structure when unpack with Garbro.' How to use text_conv.exe ?

shun9092 avatar Jan 07 '22 10:01 shun9092

@Cosetto It doesn't work. Can u help me more? How to know a structure of pack file? You said 'must keep the same structure when unpack with Garbro.' How to use text_conv.exe ?

what game are you trying with

Cosetto avatar Jan 07 '22 11:01 Cosetto

@Cosetto 美少女万華鏡_理と迷宮の少女

shun9092 avatar Jan 07 '22 12:01 shun9092

man this gonna take time since the game is too big, can you send the data.pack which is the scenario?

Cosetto avatar Jan 07 '22 13:01 Cosetto

maybe 6.pack

shun9092 avatar Jan 07 '22 13:01 shun9092

can you send because I can't download the game now

Cosetto avatar Jan 07 '22 13:01 Cosetto

Do u have a discord?

shun9092 avatar Jan 07 '22 13:01 shun9092

yes Yggdrasill#0473

Cosetto avatar Jan 07 '22 13:01 Cosetto

can't find!

shun9092 avatar Jan 07 '22 13:01 shun9092

Yggdrasill# 0473

Cosetto avatar Jan 07 '22 13:01 Cosetto