Jump to content

Client patching for 4.x support


Guest XTZGZoReX

Recommended Posts

Well, it's about time we start discussing it, and how MaNGOS will handle it both practically and legally. We won't get around patching in one way or another.

We generally have two approaches:

* Use a loader that injects a DLL into WoW which then patches the memory.

* Patch the executable on disk.

Personally, I prefer the latter. It's easier.

I wrote this tool a few months ago: https://github.com/Trinity-Encore/Encore/blob/master/Trinity.Encore.Patcher/ClientPatcher.cs

It uses pattern scanning to find offsets in the executable to patch, so it works for virtually any 4.x executable.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...
  • 2 weeks later...
hm, i just noticed that this project is under the MIT license. i assume this is no problem because it's in a diff. repo as the rest of mangos, right? (mangos is under GPL (was it GPLv2 ?)).

It could be in the same repo and still be licensed under the MIT License. It only matters if we linked this program directly into MaNGOS.

Link to comment
Share on other sites

I don't really agree XTZ

Initializing a const std::vector is a pain in C++

I would have to do either:

const std::vector<byte> replace(5);
replace[0] = 
replace[1] = 
...

or I would have to overload some std::vector operator to fill it anyway with an array, so a time lost for me and the application ;)

And all this just to remove the arrays length I have to pass arguments to the methods.

Link to comment
Share on other sites

Crash if run not in wow dir.

The second link I posted fixed this.

But more bad news. For me fail patch 4.1.0 exe :(((

Addition info: C# version also fail patch. So tool required offset or more deep updates :((

I have same problem, unable to patch neither wow.exe 4.0.3, nor 4.1.0. Only wow.exe 4.0.6 patches properly.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use