What's new

Questions about the disassemble of the Livemaker 3 engine game


bicourse

New member
Joined
Oct 9, 2019
Messages
2
Reputation score
0
A few days ago,I found a very hentai tickling game from dlsite named (RJ216133).I bought it and wanted to unpack it for translating.The unpacking process went very smoothly.But unfortunately,when I tried to disassemble the .lsb files to .xml format,someting goes wrong. The cmd file shows that
D:\tools>lmcompiler.py x output input
Opening output\00000001.lsb...
Disassembling 11784 bytes of data...
Traceback (most recent call last):
File "D:\tools\lmcompiler.py", line 133, in <module>
main()
File "D:\tools\lmcompiler.py", line 24, in main
disassemble(args.input_folder, args.output_folder)
File "D:\tools\lmcompiler.py", line 55, in disassemble
dis.disassemble()
File "D:\tools\lib\lmdis.py", line 515, in disassemble
body = self.parse_body()
File "D:\tools\lib\lmdis.py", line 1109, in parse_body
opcode_table[opcode](command)
File "D:\tools\lib\lmdis.py", line 925, in TComTextIns
command.args.append(ParseEventBlock(command))
File "D:\tools\lib\lmdis.py", line 887, in ParseEventBlock
data.append(EventArgument(ArgumentType.string, self.read_string()))
File "D:\tools\lib\lmdis.py", line 1142, in read_string
length = self.read_int()
File "D:\tools\lib\lmdis.py", line 1134, in read_int
val = struct.unpack('<I', self.read(4))[0]
struct.error: unpack requires a string argument of length 4
Does anyone know the reason for this mistake? Thanks.
 

Attachments

  • readme.txt
    2.2 KB · Views: 5
Most likely, either unpacking didn't go as smoothly as you thought or the format changed a bit since the version of the tool you're using.
I haven't looked at the tool, but the error itself most likely means "short read", that is more data was expected, but end of stream was reached.
 
Here is the game download link:
Can anyone help me unpack the game and disassemble the .lsb files to .xml format?Thanks a lot.
 
...you could give a try - it's still in active development.
Sorry, haven't tested if it actually works - certain things about its design hit some of my major hangups, even though I can understand just why its author made such choice.
It says it was initially based on the tool you were most likely using (given the traceback).
It has a few unstated dependencies (including numpy: that one is my turnoff - python doesn't have native support for 80bit float, yet using such a large package for such insignificant part of its functionality...; yes, writing that out by hand would risk doing it wrong, but would still likely be less than 80 lines of code), but they should be easy to track down.
 
Back
Top