• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

MPQ Recover Crashing!

Status
Not open for further replies.
Level 3
Joined
Dec 11, 2012
Messages
43
Hello I am following a guide to unprotecting maps & when I do the second part of unprotecting using MPQ recover the app crashes in the middle of doing its thing.
This is the guide I am following to unprotecting maps

Here is the crash message I am getting I hope someone can help me understand and diagnose what is causing this to crash.

Code:
Problem signature:
  Problem Event Name:   APPCRASH
  Application Name:   MPQ Recover.exe
  Application Version:   1.0.0.1
  Application Timestamp:   43b21c07
  Fault Module Name:   MPQ Recover.exe
  Fault Module Version:   1.0.0.1
  Fault Module Timestamp:   43b21c07
  Exception Code:   c0000094
  Exception Offset:   000037fd
  OS Version:   6.1.7601.2.1.0.256.48
  Locale ID:   1033
  Additional Information 1:   247b
  Additional Information 2:   247b4b9527a59b1cc143b37a24ed7c0e
  Additional Information 3:   e51f
  Additional Information 4:   e51f64f030553fe07b5e6272afe229cf

I appreciate the help!
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
Not that I personally have anything against this, I would like to point you towards the rules. Specifically...
20. Removal of / Circumventing Map Protection
- The topic of removing or circumventing map protection is not permitted.
Assuming the map works to start with. I am guessing this tool is crashing because the MPQ library used by the tool is not robust enough to process the deliberately corrupted map archive.

Some noobs thought it was clever to corrupt MPQ archive structures in a way that Warcraft III still loads the archive but some libraries, specifically those geared towards more modern MPQs such as in World of Warcraft or StarCraft II, cannot open it. The solution is generally to use the "force version 0" option of the MPQ library, which only more modern ones will offer as the feature was only created after the API developers found out about such stupid corruption.

Tools like spazzler insert a fake MPQ redirection block which redirects to a fake MPQ header which contains vaguely maliciously designed garbage to crash MPQ APIs in bad ways. WC3 was made before such functionality exists so will skip over the redirect header and instead load the correct header. If that was not enough it also corrupts the block table in the correct header by making it impossibly large so that one has to logically clamp it to at least file bounds if not also the largest referenced file in the hash table. If not logically clamped, the MPQ API must allocate several gigabytes of memory which will crash any 32bit application with an out of memory exception, or something worse.

I do not support people trying to modify other people's maps without permission. I only offer advice for purely academic reasons.
 
Last edited:
Level 3
Joined
Dec 11, 2012
Messages
43
Not that I personally have anything against this, I would like to point you towards the rules. Specifically...Assuming the map works to start with. I am guessing this tool is crashing because the MPQ library used by the tool is not robust enough to process the deliberately corrupted map archive.

Some noobs thought it was clever to corrupt MPQ archive structures in a way that Warcraft III still loads the archive but some libraries, specifically those geared towards more modern MPQs such as in World of Warcraft or StarCraft II, cannot open it. The solution is generally to use the "force version 0" option of the MPQ library, which only more modern ones will offer as the feature was only created after the API developers found out about such stupid corruption.

Tools like spazzler insert a fake MPQ redirection block which redirects to a fake MPQ header which contains vaguely maliciously designed garbage to crash MPQ APIs in bad ways. WC3 was made before such functionality exists so will skip over the redirect header and instead load the correct header. If that was not enough it also corrupts the block table in the correct header by making it impossibly large so that one has to logically clamp it to at least file bounds if not also the largest referenced file in the hash table. If not logically clamped, the MPQ API must allocate several gigabytes of memory which will crash any 32bit application with an out of memory exception, or something worse.

I do not support people trying to modify other people's maps without permission. I only offer advice for purely academic reasons.

I've been here a long time i'm aware of what the rules are I am asking a question about a tool, trying to diagnose the problem, and find a solution. I understand what your saying on how they corrupt it but as for the specs I am running on a x64 bit which I thought at first that might be the problem. Speed is not an issue I am running on 32gb of ram on a intel i9 do you think this version is outdated and I need to get a newer version or is there a way to update the mpq library?

Do you understand any of the additional information in the error message?
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
as for the specs I am running on a x64 bit which I thought at first that might be the problem. Speed is not an issue I am running on 32gb of ram on a intel i9 do you think this version is outdated and I need to get a newer version or is there a way to update the mpq library?
Your specs do not matter. You could be running it on a toaster and it will still crash in the same way due to problems with the software. If you have the source code one could try debugging the exact problem and fix it.
Do you understand any of the additional information in the error message?
It is a division by 0 exception causing the crash. I think...
 
Level 3
Joined
Dec 11, 2012
Messages
43
Damn so I am pretty much out of luck then. I thought it was my pc but its good to know its not the pc and most likely its the map. I wish i knew of a way to get it to work but I am at a loss. Thank you though for the information.
 
Status
Not open for further replies.
Top