Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QLIE engine (Imosurume/Imoscripter) pack function? #417

Open
Veshurik opened this issue May 7, 2020 · 35 comments
Open

QLIE engine (Imosurume/Imoscripter) pack function? #417

Veshurik opened this issue May 7, 2020 · 35 comments

Comments

@Veshurik
Copy link

Veshurik commented May 7, 2020

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

@jszhtian
Copy link

jszhtian commented May 8, 2020

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
Copy link

jszhtian commented May 8, 2020

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.

@Veshurik
Copy link
Author

Veshurik commented May 9, 2020

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

@kazurabakouta
Copy link

kazurabakouta commented Jun 3, 2020

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

@jszhtian
Copy link

jszhtian commented Jun 3, 2020

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.

@kazurabakouta
Copy link

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

@jszhtian
Copy link

jszhtian commented Jun 10, 2020

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.

@kazurabakouta
Copy link

kazurabakouta commented Jun 15, 2020

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?

@jszhtian
Copy link

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

@kazurabakouta
Copy link

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.

@jszhtian
Copy link

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

@kazurabakouta
Copy link

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?

@jszhtian
Copy link

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

@kazurabakouta
Copy link

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

@shun9092
Copy link

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.

@MyWork1908
Copy link

MyWork1908 commented Jul 23, 2020

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

@Cosetto
Copy link

Cosetto commented Dec 17, 2021

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

@shun9092
Copy link

@Cosetto

How? Would you please tell me that?

@Darken-kun
Copy link

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?

@Cosetto
Copy link

Cosetto commented Jan 7, 2022

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

@shun9092
Copy link

shun9092 commented Jan 7, 2022

@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 ?

@Cosetto
Copy link

Cosetto commented Jan 7, 2022

@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

@shun9092
Copy link

shun9092 commented Jan 7, 2022

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

@Cosetto
Copy link

Cosetto commented Jan 7, 2022

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

@shun9092
Copy link

shun9092 commented Jan 7, 2022

maybe 6.pack

@Cosetto
Copy link

Cosetto commented Jan 7, 2022

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

@shun9092
Copy link

shun9092 commented Jan 7, 2022

Do u have a discord?

@Cosetto
Copy link

Cosetto commented Jan 7, 2022

yes Yggdrasill#0473

@shun9092
Copy link

shun9092 commented Jan 7, 2022

can't find!

@Cosetto
Copy link

Cosetto commented Jan 7, 2022

Yggdrasill# 0473

@Bocchama213
Copy link

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

Can you make a video on how to bypass .pack for scenario in IDA? DM me in discord if you have one Valarant#0898

@Lilislv
Copy link

Lilislv commented Dec 23, 2023

Can anyone help me sort out the ".s" scripts from the Kara no Shojo The last episode?

@Refrain69
Copy link

Can anyone help me sort out the ".s" scripts from the Kara no Shojo The last episode?

https://github.com/lennylxx/IG_tools

@Lilislv
Copy link

Lilislv commented Jan 9, 2024

Can anyone help me sort out the ".s" scripts from the Kara no Shojo The last episode?

https://github.com/lennylxx/IG_tools

doesn't work

@Cosetto
Copy link

Cosetto commented Jan 10, 2024

outdated tool, only Oneline has modified version for KnS 3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants