MCPcopy Index your code
hub / github.com/Hiro420/NikkeTools

github.com/Hiro420/NikkeTools @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,289 symbols 3,027 edges 141 files 53 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

NikkeTools

Tools for Reverse-Engineering Nikke

Disclaimer

Shiftup/Level Infinite owns the original assets to the game, all credits go to its rightful owner. I am not liable for any damages caused if you get banned from using a mod created by this tool, or its derivatives. I DO NOT CLAIM ANY RESPONSIBILITY FOR ANY USAGE OF THIS SOFTWARE, THE SOFTWARE IS MADE 100% FOR EDUCATIONAL PURPOSES ONLY

List of tools:

  • Catalog -> Decrypts all the dbs from AppData\LocalRow
  • MetadataDumper -> Dumps decrypted metadata from process memory
  • Protobuf -> A tool to recover protobuf definitions from the game assemblies, together with their HTTP paths
  • StaticData -> Fetches AND decrypts the latest StaticData.zip (game data) from live servers
  • UnLuac -> Decompiles Lua bytecode back to original code, modified for Nikke lua

How to use them?

  • Catalog | StaticData -> Just compile and run, works straight out of the box
  • MetadataDumper -> Compile the project via Visual Studio 2022. Take theput the NikkeMetadataDumper.dll from Win64 generated folder, together with the files in Gadget folder, and put them all in game directory next to nikke.exe. Run the game, a decrypted global-metadata.dat will be generated in the game directory.
  • Protobuf -> Compile the project via Visual Studio 2022. Use the generated global-metadata.dat to dump Il2Cpp via Il2CppDumper. Then either put the DummyDll folder next to the NikkeProtoDumper.exe, or drag the DummyDll folder into the NikkeProtoDumper.exe. Nikke.proto will be generated, in proto3 format.
  • UnLuac -> Run compile.bat to compile the project. Then put all the .lua.bytes files you got from YarikStudio or AssetStudio into the Lua folder. Run the DecompileAll.py python script, and all the decompiled luas will be generated in Decompiled folder.

Copyright© Hiro420

Extension points exported contracts — how you extend this code

Condition (Interface)
(no doc) [14 implementers]
UnLuac/src/unluac/decompile/condition/Condition.java
IProtoParsable (Interface)
(no doc)
StaticData/NikkeStaticData/ProtoClient.cs
OutputProvider (Interface)
(no doc) [4 implementers]
UnLuac/src/unluac/decompile/OutputProvider.java

Core symbols most depended-on inside this repo

print
called by 198
UnLuac/src/unluac/decompile/OutputProvider.java
println
called by 130
UnLuac/src/unluac/decompile/OutputProvider.java
get
called by 84
UnLuac/src/unluac/decompile/OpcodeMap.java
A
called by 65
UnLuac/src/unluac/decompile/Code.java
op
called by 54
UnLuac/src/unluac/decompile/Code.java
length
called by 46
UnLuac/src/unluac/decompile/Code.java
peek
called by 43
UnLuac/src/unluac/util/Stack.java
write
called by 42
UnLuac/src/unluac/parse/LFunctionType.java

Shape

Method 1,057
Class 195
Enum 33
Interface 3
Function 1

Languages

Java90%
C#10%
Python1%

Modules by API surface

UnLuac/src/unluac/decompile/ControlFlowHandler.java61 symbols
UnLuac/src/unluac/parse/LHeaderType.java47 symbols
UnLuac/src/unluac/decompile/expression/Expression.java40 symbols
UnLuac/src/unluac/assemble/Assembler.java40 symbols
UnLuac/src/unluac/parse/LFunctionType.java37 symbols
UnLuac/src/unluac/parse/LNumber.java35 symbols
UnLuac/src/unluac/Version.java30 symbols
MetadataDumper/NikkeMetadataDumper/PEHeader.cs29 symbols
UnLuac/src/unluac/decompile/Decompiler.java28 symbols
UnLuac/src/unluac/decompile/expression/ConstantExpression.java22 symbols
UnLuac/src/unluac/decompile/block/Block.java22 symbols
UnLuac/src/unluac/decompile/statement/Assignment.java21 symbols

For agents

$ claude mcp add NikkeTools \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact