GithubHelp home page GithubHelp logo

patched-unity-mono's Introduction

Patched-Unity-Mono

As some may has noticed all the dnSpy repo's are now archived and further development has ceased (except for iced). It is believed that the group was either bought out or something dubious has happened as his Twitter account was also suspended. So judging by the past, I've forked everything for when the time comes when the dnSpy repo's are deleted altogether. Due to such, I've has to recreate the repo that has all the custom builds.

patched-unity-mono's People

Contributors

wh0am15533 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

patched-unity-mono's Issues

unity-2020.3.33-mbe

please @wh0am15533 you helped me before with dnspy mono mbe on unnowncheats, but you are banned for now :/ can i please get from you patched unity-2020.3.33-mbe this time? or can you send me a guide how to patch it alone for dummies? i have umpatcher and follow your guide but im stucked in some steps 7-13...

Patching Mono Dll

This patches Mono for use with a debugger. For those of you that have noticed, dnSpy quit updating patched mono dll's. Here is a simple tutorial on patching it yourself. Note: this will use about 9GB once you get the repos downloaded. You can make your own changes to mono but be careful, know what your doing.

1. Pull in the latest Unity mono.dll source code (either git pull if you have it or git clone https://github.com/Unity-Technologies/mono.git )

2. Get this repo and make sure master and dnSpy branches are at the latest commit ( git pull in both branches)
(git clone https://github.com/0xd4d/dnSpy-Unity-mono.git )

3. Compile umpatcher in this repo (you need VS2019 or later and .NET Core SDK 3.0 or later installed)

4. Download and install the correct Unity editor version ( https://unity3d.com/get-unity/download/archive ) or grab the Mono DLL from the game folder
if you only want to patch a single version (better to grab the install).

5. Locate the compiled mono.dll or mono-2.0-bdwgc.dll files, eg.:
DEV DLL's:
C:\Program Files\Unity\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win32_development_mono\Data\Mono\EmbedRuntime\mono.dll
C:\Program Files\Unity\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win64_development_mono\MonoBleedingEdge\EmbedRuntime\mono-2.0-bdwgc.dll

RELEASE DLL's:
C:\Program Files\Unity\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win32_nondevelopment_mono\Data\Mono\EmbedRuntime\mono.dll
C:\Program Files\Unity\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win64_nondevelopment_mono\MonoBleedingEdge\EmbedRuntime\mono-2.0-bdwgc.dll

6. Get the timestamp stored in mono.dll or mono-2.0-bdwgc.dll's PE header

umpatcher --timestamp "C:\MonoDLL\Umpatcher\mono.dll" or umpatcher --timestamp "C:\MonoDLL\Umpatcher\mono-2.0-bdwgc.dll"

7. Check out the correct version branch in the Unity mono repo (eg. if it's v5.4.3, the branch is called unity5.4. Branches ending in -mbe use .NET 4.x assemblies.).
Do steps 7-10 for both mono.dll & mono-2.0-bdwgc.dll one at a time. (Use git branch -a to see all remote branches):

git checkout unity-2018.2 (or whatever version you need, after 2019.1 there is ONLY mbe branches but you can still build mono.dll)

8. (optional) git pull (make sure it has the latest stuff)

9. gitk to start a UI to find the merge hash (or your favorite git GUI)

Find the closest merge (Don't pick newer than date versions) by comparing the merge date with the timestamp reported by umpatcher above. (Use the UTC Date)
Remember the commit hash, you'll need it later, don't checkin branch yet until it's patched after #10! It's okay if the date doesn't match exactly, just not newer than your UTC date in timestamp.

10. Run umpatcher again to patch the code and commit it to the dnSpy-Unity-mono repo (omit the 'unity-' part. e.g. instead of unity-2018.4.11, use 2018.4.11 or 2018.4.11-mbe)

umpatcher 2018.4.15-mbe aa8a6e7afc2f4fe63921df4fe8a18cfd0a441d19 "C:\MonoDLL\mono" "C:\MonoDLL\dnSpy-Unity-mono"

** Note: This will create the patched project folder under "C:\path\to\dnSpy-Unity-mono" for specified unity version

11. Rebase the mono repo: git checkout master

12. using git or your favorite git GUI, discard anychanges in the Mono repo. IMPORTANT! (or the next time you build, you'll have issues)

13. Compile Patched DLL.
dnSpy-Unity-mono-vZZZZ.x.sln (Unity with .NET 2.0-3.5 assemblies), where ZZZZ is the major version number, eg. 4, 5, 2017, ...

Use configuration Release_eglib
Use platform x86 or x64

dnSpy-Unity-mono-vZZZZ.x-V40.sln (Unity with .NET 4.x assemblies), where ZZZZ is the major version number, eg. 2017, 2018, ...

Use configuration Release
Use platform x86 or x64

thank you :)

2019.4.26f

Oh great lord of all that is patched unity mono dlls, grant us access to debugging unity games made with 2019.4.26f. (the 2019.4.3f patched mono dll didn't work). Thank you in advance.

(Pointing me to the Unity Mono repo also works, cause I can't find the damn thing to patch the dll myself...)
Edit: Just found the Unity Mono repo. Gonna try to patch it and probably fail!
Edit 2: As expected I failed...

2019.4.19f1

. was able to follow all instructions but having a hard time with the gitk step... Not able to find the correct hash for this version. Any chances you can setup this one as well?

Failed to load mono

---------------------------
Fatal error
---------------------------
Failed to load mono
---------------------------
OK   
---------------------------

Game:

[20:33:42.074] ------------------------------
[20:33:42.168] MelonLoader v0.6.1 Open-Beta
[20:33:42.172] OS: Windows 11
[20:33:42.172] Hash Code: 3FAB1593D3EDAF450F4BDDC6FC28134A9535995F28E9B255983B3D1FE925E35
[20:33:42.172] ------------------------------
[20:33:42.173] Game Type: MonoBleedingEdge
[20:33:42.173] Game Arch: x64
[20:33:42.173] ------------------------------
[20:33:42.173] Core::BasePath = G:\SteamLibrary\steamapps\common\Storm Chasers
[20:33:42.174] Game::BasePath = G:\SteamLibrary\steamapps\common\Storm Chasers
[20:33:42.174] Game::DataPath = G:\SteamLibrary\steamapps\common\Storm Chasers\Storm Chasers_Data
[20:33:42.174] Game::ApplicationPath = G:\SteamLibrary\steamapps\common\Storm Chasers\Storm Chasers.exe
[20:33:42.174] Runtime Type: net35
[20:33:42.361] ------------------------------
[20:33:42.362] Game Name: Storm Chasers
[20:33:42.362] Game Developer: Little Cloud Games
[20:33:42.363] Unity Version: 2019.4.11f1
[20:33:42.363] Game Version: 0.9.3.0
[20:33:42.363] ------------------------------

File used: https://github.com/wh0am15533/Patched-Unity-Mono/blob/main/CustomBuilds/Unity-debugging-2019.x/Unity-2019.4.11-Mono-Patched.rar (win64)

Move releases to releases

I know this is really old by now, but PLEASE can you move the releases to the actual releases sections so you dont have to download everything if you git clone the repository

Unity 3.5?

Hey, do you think it's possible to get a mono.dll for unity 3.5.7? I have tried with no success. I'm guessing some things break when upgrading the vcproj files. It might also be because it's so old and a lot of things got deprecated over time.

Question about building the DLLs

Hi, thanks for your work.
I was trying to build the OG project following the instructions here, but I got stucked at the last step (building). I found 2 .sln files in the folder, but either of them can be built properly. The first one just missing every subproject, and the second one got compilation errors due to missing files. Could you please point me out what am I doing wrong?
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.