it will help you to understand the code almost perfectly. (5) run Python scripts "ida_with_struct_p圓.py" within IDA Pro (File -> Script file.) or "ghidra_with_struct.py" within Ghidra, to populate the disassembled code database with comprehensive meta information (class names, method names, attribute names, struct names etc.). (primary target there is always "Assembly-CSharp.dll", where most game functionality is located) "DummyDll" can be used with dnSpy for a quick look through functions, attributes etc. to briefly patch a bool return function by using its offset with "return true/false"). for a quick look you can use "dump.cs" (e.g. (4) use IL2CPP Dumper on "main.elf" + "global-metadata.dat", which will create a lot of useful additional files about the executable binary. (3) load "main.elf" with IDA Pro or Ghidra, remember that Switch uses big endian byte order, so select it in the disassembling settings (ARMB processor type) (2) use NX2ELF on "main" to get uncompressed "main.elf" then dump "global-metadata.dat" from RomFS (search in subdirectories for this file, this is by the way the easiest way to see if it's a Unity game or not) (1) use NXDump on the Unity game you want to modify, select the proper last used patch version (not the base game version!!) there and dump "main" from ExeFS. It only gets complicated when you are adding minigames, sandbox mode, or other custom features to your game.As I had to dig through a lot of information by myself, I thought that I could do a small tutorial on how to modify Unity games for cheating (and not only, e.g. That is, engines like Ren'py will hold your hand as you try to put a basic game together. This can get tedious like much of reverse engineering is at first, and anything you create might not last after game updates.įinally, you really only need a story / script and art assets to make a game so your inquiry is not all that relevant to the core of game development. There are helpers like ones for mono used in Unity games that try to make it easier to make changes to field and methods by class name and variable name. It gets more advanced when you try to change assembly code rather than just game variables and their values in memory. You can go the Cheat Engine route, and that's more popular than you might think with people releasing cheat tables for many or most games. This is more useful for fixing the bugs yourself if you really want to go that route. Lots of the game logic is built into the map. The map files are usually included with the game, so you can just open them with map editor tools. That's mostly how you cheat because it's like a save game editor, but you sometimes need a guide to explain how the game progresses as the variables are changed. RPGMaker has cheat tools that just edit variables. There are guides for this that are provided by script loaders like BepInEx. The tool dnSpyEx will let you easily make modifications to files like Assembly-CSharp DLL as long as the game code wasn't obfuscated. Sorry for all the dumb questions and all the rambling in this lol and if the answer is just to sit down and try developing a game myself I'll just have to find some time to do so. Do you normally decompile the one from the game and edit that, then build it into a dll? I'd imagine I could do something similar and do a diff between the game's dll and the cheat one and figure out what people add but just wanted to figure that one out.Īnd then for the RPGMaker games, would the first go at this one simply be to just create another canvas sort of thing that we can interact with? I guess all the games store things like items and weapons/armors in a similar area so you can just display all of these info and variables into the editor for display?Īgain I'm a huge noob at game dev stuff but always found it interesting how people come out with cheat tools and the like so quickly. The two I want to target are Unity games and the RPGMaker version with the I noticed in Unity games people usually release cheats with an Assembly-CSharp.dll file. I could just sit here and open up Visual Studio or w/e we use for Unity games or read some of the RPGMaker code but honestly if I could get some pointers I'd be in a much better spot. That being said, I wanted to get some quick pointers on hacking some of these games with hopes to sorta eventually reverse engineer a game and figure out how it all works. Wanted to prefix this by saying that everyone here does really amazing work and I highly doubt I could spend the time to get into even half of a game.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |