Skip to content
Ulysses Wu edited this page Jun 24, 2019 · 6 revisions

Published at ulysseswu.tk

Furikiri: The first decompiler for TJS2 language

Ulysses Wu 
Project AZUSA
wdwxy12345@gmail.com

Abstract

TJS2 is a script language used in kirikiri series game engine. In kirikiri 2/Z, besides the interpreter mode, TJS2 can also be compiled into bytecode to run in TJS2 VM. Some games like [2] already used compiled TJS2. Current works[3] can only disassemble the bytecode to assembly code, however it's difficult to figure out the logic with the assembly code. In this paper we proposed the first TJS2 bytecode decompiler in the world, Furikiri[1]. It can decompile the TJS2 bytecode to TJS2 script code. Test results show that our tool can generate many TJS2 statements from TJS2 bytecode, including assignments, branches, invokes etc.

Internals

References

  1. Furikiri, UlyssesWu, github, https://github.com/UlyssesWu/Furikiri
  2. Nekopara Extra, NekoWorks, VNDB, https://vndb.org/v22020
  3. Literature Review: Kirikiri related projects, Project AZUSA, github, https://github.com/Project-AZUSA/KirikiriSharp/wiki/Related-Projects

Trivials

  • The meaning of Furikiri is "Free Kiri(kiri)".
  • The official Japanese/Chinese display name of Furikiri is "福里吉里".
Clone this wiki locally