Skip to content
This repository has been archived by the owner on Sep 27, 2023. It is now read-only.

UE4SS-RE/RE-UVTD

Repository files navigation

RE-UVTD

I am not the original author of this tool. I am rehosting it with permission.

Prerequisites:

Visual Studio 2022

  • Include C++ ATL for v143

CMake

Build Instructions:

  1. Clone the repository

  2. Find you local DIA_SDK folder, for VS 2022 it is in "Microsoft Visual Studio\2022\Community\DIA SDK"

  3. Copy the contents of the folder to external_deps in the repository folder, "RE-UVTD\external_deps\DIA_SDK"

  4. Open Command Prompt in the repository folder

  5. Run the following command:

    cmake CMakeLists.txt

  6. Open the generated solution file in Visual Studio

  7. Build the solution

Run Instructions:

  1. Copy the file "msdia140.dll" from "C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\Common7\IDE" or your VS installation path to the folder where the executable is located
  2. Create a folder named "PDBs" in the same folder as the executable
  3. Copy the PDB files of the UE engine versions you want to analyze to the "PDBs" folder. PDBs from source engine builds are preferred
  4. Run the executable
  5. Follow the directions in the console window

Adding additional types to dump:

Add the class or struct name to the following variables and function implementations in the format used for each

static std::vector<ObjectItem> s_object_items

static std::unordered_set<File::StringType> s_valid_udt_names

auto static is_valid_type_to_dump(File::StringType type_name) -> bool

Adding additional UE engine versions:

  1. Copy the PDB files of the UE engine versions you want to analyze to the "PDBs" folder. PDBs from source engine builds are preferred

  2. Go to the function implementation for main() found at line 1672 in UVTD_DIA.cpp

  3. Add the following code with the naming of your PDB file

    TRY([&] {
          {
              VTableDumper vtable_dumper{"PDBs/4_XX.pdb"};
              vtable_dumper.generate_code(vtable_or_member_vars);
          }
          CoUninitialize();
      });
    
    

Todo

Make types to dump be gathered from a config file rather than through editing source

Other cleanup

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published