View Single Post
  #4  
Old 2011-12-26, 11:21
DrBlue
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by Pencil View Post
My only question now is, when I did managed to dissamsemble SEEN into its various parts, I got a lot of different error messages about the resulting code.
If you're trying to disassemble a game using RealLive v1.5 or later, you'll have to figure out the game specific key, passed to rldev with -y. I vaguely remember getting bytecode parsing errors when trying to disassemble one game or another.

Quote:
Originally Posted by Pencil View Post
A whole bunch of "out of parameters", an unimplemented function, and the odd message "expected '{', found 0x0a in read_select". I asked a few other people, and apparently I need to go and fiddle around with the code of the actual disassembler. I haven't touched a drop of code in about two years, so I was wondering if you could give me a small heads up about what in the disassembler's code I want to be looking for that could cause these errors.
The rldev parser is incomplete. If you intend to debug this, you should:
  • Keep the rldev manual open, especially section 5.7.1, which is about the select command. (I assume this is where you'll be working due to read_select being in the error message.)
  • You'll probably want to start in src/kprl/disassembler.ml. read_select is defined there.
  • For debugging purposes, you'll want to run kprl with -x for extract instead of -d for disassemble. This will give you a bunch of .uncompressed files that are the decrypted bytecode, but not disassembled. Look at these files in a hex editor for what binary string isn't being parsed correctly.
  • If you do figure out the new select syntax, please send a pull request on github so I can integrate your patch.
Reply With Quote