├── .gitignore ├── .vscode └── launch.json ├── LICENSE ├── README.md ├── data ├── known_hashes_compact.json ├── known_hashes_readable.json ├── mahjong_opcodes.txt ├── mahjong_syscalls.txt ├── mjs │ ├── README.md │ ├── adv.mjh.bak │ ├── console.mjil │ ├── console.mjs.old │ ├── console.mjs.old2 │ └── new_order.txt.t └── syscall_hashlist.txt ├── docs ├── assets │ ├── crc_backout_flow.png │ └── crc_backout_fullexample.png ├── logs │ ├── unhash_keywords0_cmd.log │ ├── unhash_keywords1_cmd.log │ ├── unhash_keywords2_cmd.log │ ├── unhash_keywords3_cmd.log │ ├── unhash_keywords4_cmd.log │ ├── unhash_keywordsauto_cmd.log │ └── unhash_syscallgroup_python.log ├── mjil-proposals.md └── unorganized │ ├── Majiro Bytecode 4.md │ ├── Majiro_Scopes_by_prefix.png │ ├── Majiro_Scopes_by_prefix_fullcode.png │ ├── asm_notes.txt │ ├── console_remaining_syscalls.txt │ ├── console_work.txt │ ├── found_hashes.txt │ ├── function_realnames.txt │ ├── keywords_smasher.txt │ ├── opcode_bit_patterns.txt │ ├── opcode_groupings.txt │ ├── setskip_block_bytecode.txt │ ├── start work.txt │ ├── subst_usage.mjs │ └── type_detection.txt ├── plugin ├── deploy_vscode.py └── vscode-majiro │ ├── .vscode │ └── launch.json │ ├── .vsixmanifest │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── README.md │ ├── icon.png │ ├── majiro-mjil-language-configuration.json │ ├── package.json │ ├── preview-comparison.gif │ ├── preview.png │ ├── preview2.png │ ├── snippets │ └── snippets.json │ ├── syntaxes │ ├── README.md │ └── majiro-mjil.tmLanguage.json │ └── vscode-majiro.code-workspace ├── src ├── find_usage.py ├── keywords.bat ├── mjotool │ ├── README.md │ ├── __init__.py │ ├── __main__.py │ ├── _research.py │ ├── _util.py │ ├── analysis.py │ ├── assembler.py │ ├── crypt.py │ ├── flags.py │ ├── known_hashes │ │ ├── __init__.py │ │ └── _hashes.py │ ├── mjs │ │ ├── __init__.py │ │ ├── identifiers.py │ │ └── mjsreader.py │ ├── opcodes.py │ ├── script.py │ └── sheets │ │ ├── __init__.py │ │ ├── csvsheet.py │ │ ├── googlesheets.py │ │ ├── majirodata.py │ │ └── rowtypes.py ├── opcodes_enum.py ├── scan_sheets.py ├── syscalls_reader.py ├── try_hash.py ├── try_keywords.py ├── try_mainhash.py ├── unhash_research │ ├── README.md │ ├── __init__.py │ ├── __main__.py │ ├── crctools.py │ └── syscall_list.py └── write_hashes.py └── vscode-majiro-py.code-workspace /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/README.md -------------------------------------------------------------------------------- /data/known_hashes_compact.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/known_hashes_compact.json -------------------------------------------------------------------------------- /data/known_hashes_readable.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/known_hashes_readable.json -------------------------------------------------------------------------------- /data/mahjong_opcodes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/mahjong_opcodes.txt -------------------------------------------------------------------------------- /data/mahjong_syscalls.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/mahjong_syscalls.txt -------------------------------------------------------------------------------- /data/mjs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/mjs/README.md -------------------------------------------------------------------------------- /data/mjs/adv.mjh.bak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/mjs/adv.mjh.bak -------------------------------------------------------------------------------- /data/mjs/console.mjil: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/mjs/console.mjil -------------------------------------------------------------------------------- /data/mjs/console.mjs.old: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/mjs/console.mjs.old -------------------------------------------------------------------------------- /data/mjs/console.mjs.old2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/mjs/console.mjs.old2 -------------------------------------------------------------------------------- /data/mjs/new_order.txt.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/mjs/new_order.txt.t -------------------------------------------------------------------------------- /data/syscall_hashlist.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/data/syscall_hashlist.txt -------------------------------------------------------------------------------- /docs/assets/crc_backout_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/assets/crc_backout_flow.png -------------------------------------------------------------------------------- /docs/assets/crc_backout_fullexample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/assets/crc_backout_fullexample.png -------------------------------------------------------------------------------- /docs/logs/unhash_keywords0_cmd.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/logs/unhash_keywords0_cmd.log -------------------------------------------------------------------------------- /docs/logs/unhash_keywords1_cmd.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/logs/unhash_keywords1_cmd.log -------------------------------------------------------------------------------- /docs/logs/unhash_keywords2_cmd.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/logs/unhash_keywords2_cmd.log -------------------------------------------------------------------------------- /docs/logs/unhash_keywords3_cmd.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/logs/unhash_keywords3_cmd.log -------------------------------------------------------------------------------- /docs/logs/unhash_keywords4_cmd.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/logs/unhash_keywords4_cmd.log -------------------------------------------------------------------------------- /docs/logs/unhash_keywordsauto_cmd.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/logs/unhash_keywordsauto_cmd.log -------------------------------------------------------------------------------- /docs/logs/unhash_syscallgroup_python.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/logs/unhash_syscallgroup_python.log -------------------------------------------------------------------------------- /docs/mjil-proposals.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/mjil-proposals.md -------------------------------------------------------------------------------- /docs/unorganized/Majiro Bytecode 4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/Majiro Bytecode 4.md -------------------------------------------------------------------------------- /docs/unorganized/Majiro_Scopes_by_prefix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/Majiro_Scopes_by_prefix.png -------------------------------------------------------------------------------- /docs/unorganized/Majiro_Scopes_by_prefix_fullcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/Majiro_Scopes_by_prefix_fullcode.png -------------------------------------------------------------------------------- /docs/unorganized/asm_notes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/asm_notes.txt -------------------------------------------------------------------------------- /docs/unorganized/console_remaining_syscalls.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/console_remaining_syscalls.txt -------------------------------------------------------------------------------- /docs/unorganized/console_work.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/console_work.txt -------------------------------------------------------------------------------- /docs/unorganized/found_hashes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/found_hashes.txt -------------------------------------------------------------------------------- /docs/unorganized/function_realnames.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/function_realnames.txt -------------------------------------------------------------------------------- /docs/unorganized/keywords_smasher.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/keywords_smasher.txt -------------------------------------------------------------------------------- /docs/unorganized/opcode_bit_patterns.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/opcode_bit_patterns.txt -------------------------------------------------------------------------------- /docs/unorganized/opcode_groupings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/opcode_groupings.txt -------------------------------------------------------------------------------- /docs/unorganized/setskip_block_bytecode.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/setskip_block_bytecode.txt -------------------------------------------------------------------------------- /docs/unorganized/start work.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/start work.txt -------------------------------------------------------------------------------- /docs/unorganized/subst_usage.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/subst_usage.mjs -------------------------------------------------------------------------------- /docs/unorganized/type_detection.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/docs/unorganized/type_detection.txt -------------------------------------------------------------------------------- /plugin/deploy_vscode.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/deploy_vscode.py -------------------------------------------------------------------------------- /plugin/vscode-majiro/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/.vscode/launch.json -------------------------------------------------------------------------------- /plugin/vscode-majiro/.vsixmanifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/.vsixmanifest -------------------------------------------------------------------------------- /plugin/vscode-majiro/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/CHANGELOG.md -------------------------------------------------------------------------------- /plugin/vscode-majiro/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/LICENSE.md -------------------------------------------------------------------------------- /plugin/vscode-majiro/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/README.md -------------------------------------------------------------------------------- /plugin/vscode-majiro/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/icon.png -------------------------------------------------------------------------------- /plugin/vscode-majiro/majiro-mjil-language-configuration.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/majiro-mjil-language-configuration.json -------------------------------------------------------------------------------- /plugin/vscode-majiro/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/package.json -------------------------------------------------------------------------------- /plugin/vscode-majiro/preview-comparison.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/preview-comparison.gif -------------------------------------------------------------------------------- /plugin/vscode-majiro/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/preview.png -------------------------------------------------------------------------------- /plugin/vscode-majiro/preview2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/preview2.png -------------------------------------------------------------------------------- /plugin/vscode-majiro/snippets/snippets.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/snippets/snippets.json -------------------------------------------------------------------------------- /plugin/vscode-majiro/syntaxes/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/syntaxes/README.md -------------------------------------------------------------------------------- /plugin/vscode-majiro/syntaxes/majiro-mjil.tmLanguage.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/syntaxes/majiro-mjil.tmLanguage.json -------------------------------------------------------------------------------- /plugin/vscode-majiro/vscode-majiro.code-workspace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/plugin/vscode-majiro/vscode-majiro.code-workspace -------------------------------------------------------------------------------- /src/find_usage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/find_usage.py -------------------------------------------------------------------------------- /src/keywords.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/keywords.bat -------------------------------------------------------------------------------- /src/mjotool/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/README.md -------------------------------------------------------------------------------- /src/mjotool/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/__init__.py -------------------------------------------------------------------------------- /src/mjotool/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/__main__.py -------------------------------------------------------------------------------- /src/mjotool/_research.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/_research.py -------------------------------------------------------------------------------- /src/mjotool/_util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/_util.py -------------------------------------------------------------------------------- /src/mjotool/analysis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/analysis.py -------------------------------------------------------------------------------- /src/mjotool/assembler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/assembler.py -------------------------------------------------------------------------------- /src/mjotool/crypt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/crypt.py -------------------------------------------------------------------------------- /src/mjotool/flags.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/flags.py -------------------------------------------------------------------------------- /src/mjotool/known_hashes/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/known_hashes/__init__.py -------------------------------------------------------------------------------- /src/mjotool/known_hashes/_hashes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/known_hashes/_hashes.py -------------------------------------------------------------------------------- /src/mjotool/mjs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/mjs/__init__.py -------------------------------------------------------------------------------- /src/mjotool/mjs/identifiers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/mjs/identifiers.py -------------------------------------------------------------------------------- /src/mjotool/mjs/mjsreader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/mjs/mjsreader.py -------------------------------------------------------------------------------- /src/mjotool/opcodes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/opcodes.py -------------------------------------------------------------------------------- /src/mjotool/script.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/script.py -------------------------------------------------------------------------------- /src/mjotool/sheets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/sheets/__init__.py -------------------------------------------------------------------------------- /src/mjotool/sheets/csvsheet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/sheets/csvsheet.py -------------------------------------------------------------------------------- /src/mjotool/sheets/googlesheets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/sheets/googlesheets.py -------------------------------------------------------------------------------- /src/mjotool/sheets/majirodata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/sheets/majirodata.py -------------------------------------------------------------------------------- /src/mjotool/sheets/rowtypes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/mjotool/sheets/rowtypes.py -------------------------------------------------------------------------------- /src/opcodes_enum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/opcodes_enum.py -------------------------------------------------------------------------------- /src/scan_sheets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/scan_sheets.py -------------------------------------------------------------------------------- /src/syscalls_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/syscalls_reader.py -------------------------------------------------------------------------------- /src/try_hash.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/try_hash.py -------------------------------------------------------------------------------- /src/try_keywords.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/try_keywords.py -------------------------------------------------------------------------------- /src/try_mainhash.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/try_mainhash.py -------------------------------------------------------------------------------- /src/unhash_research/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/unhash_research/README.md -------------------------------------------------------------------------------- /src/unhash_research/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/unhash_research/__init__.py -------------------------------------------------------------------------------- /src/unhash_research/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/unhash_research/__main__.py -------------------------------------------------------------------------------- /src/unhash_research/crctools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/unhash_research/crctools.py -------------------------------------------------------------------------------- /src/unhash_research/syscall_list.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/unhash_research/syscall_list.py -------------------------------------------------------------------------------- /src/write_hashes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/src/write_hashes.py -------------------------------------------------------------------------------- /vscode-majiro-py.code-workspace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trigger-segfault/majiro-py/HEAD/vscode-majiro-py.code-workspace --------------------------------------------------------------------------------