Advertisement
Tarferi

Unprotecting Starcraft Map

Oct 7th, 2018
741
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.58 KB | None | 0 0
  1. =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
  2. Introduction
  3. =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
  4. To be able to unprotect all of the protections discussed in this guide, you need some 3rd party programs (usually made to support/keep map protection... ahh, the irony ) Here's a list:
  5.  
  6. Needed applications (the ones you can't go without):
  7. - SCMDraft 1
  8. - SCMDraft 2 TrigEdit Alpha version (http://www.staredit.net/index.php?download=781)
  9. - StarCraft Unprotect (SCU)
  10.  
  11. Preferrable applications (the ones mentioned in this guide, but you don't really require them):
  12. - GUEdit
  13. - SCMDraft 2
  14. - StarForge
  15. - SCXE (StarCrafT X-Tra Editor, an addon to StarEdit)
  16.  
  17. Open the map you want to unprotect with WinMPQ, drag the scenario.chk file on to your desktop, and rename it p.chk. Next make a map with the same dimensions (i.e. 64x64), the same tileset (i.e. Ashworld), and the same filetype (i.e. .scx or .scm). Save the map and drag that chk file (using WinMPQ) on to your desktop, and rename it np.chk. Open both files into your hex editor.
  18.  
  19. _________________________________________________
  20. =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
  21. To-Do List
  22. =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
  23. - [Still] Analyze the SCM Toolkit protection (both encrypted & "permanent")
  24.  
  25. _________________________________________________
  26. =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
  27. Identifying Your Protection
  28. =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
  29. Now, you bh forum goers might not understand this, but before you unprotect your map you need to know which protection method was used on it . So, without further ado...
  30.  
  31. -? GUEdit-protected maps have a section entitled "GUPS" before "OWNR".
  32. -? SCUM Protector-protected maps are always .scm (the only format supported due to the way the map is protected). They also are the only protected maps to retain their ISOM section.
  33. -? StarForge-protected maps do not have the ASCII string "HDY" in their VCOD section.
  34. -? PROEdit-protected maps always have the protection method used written at the very end of the chk, along with the name/email of the creator.
  35. -? toGi Protector-protected maps always have a section entitled "EDIT" at the beginning of the map, along with some bull**** message about "trying to crack the protection" or "good luck with the VCOD, map unprotector"... I always chuckle mildly to myself when I read that .
  36. -? MapSide Protector-protected maps are always openable by StarForge and SCMDraft 2 (but not StarEdit), unless their tileset flags have been set to "1C" by the "Alpha" protection of the program, in which case, you'll need to unprotect.
  37.  
  38. Well, that's it for now, I'll add one for SCM Toolkit as soon as I put up the guide for it.
  39.  
  40. _________________________________________________
  41. =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
  42. "Basic" Protection Methods (You do not have to have SCU in order to unprotect these protections)
  43. =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
  44.  
  45. [Verified] To unprotect GUEdit-protected maps:
  46. --------------------------
  47. 1. In np.chk, copy from IOWN to OWNR. This should include IOWN.... but not OWNR. Paste right before OWNR in p.chk.
  48. 2. In p.chk, delete everything from GUPS to IOWN. This should include GUPS.... but not IOWN.
  49. 3. Open the map with GUEdit, and look at the "name" of the owner of the map. Now, search for the name in p.chk. Delete the first found instance and the dot that goes after it (it should be in the STR section).
  50. 4. Repeat step 3 but with the email of the person (search for the email, delete it and the dot right after it. It should also be in the STR section.)
  51. 5. Search for UPUS in np.chk and copy from UPUS to right before MRGN. This should include UPUS@.... but not MRGN. Paste right before MRGN in p.chk.
  52. 6. Copy from WAV to COLR (if you have an .scx) or PUPx (if you have an .scm). This should include WAV ....SWNM.... but not COLR or PUPx. Paste in p.chk right before COLR or PUPx.
  53. 7. Open your map with GUEdit. Then, click "Edit Terrain". When the 2 windows pop up, click "Store Terrain". Then, save your map. You could also open it with SCMDraft or StarForge and save it instead of opening it with GUEdit.
  54.  
  55. [Verified] To unprotect SCUM Protector-protected maps:
  56. --------------------------
  57. 1. In p.chk, change the version flag from whatever it is to "0A" in the IVER section.
  58. 2. In np,chk, copy from WAV to the next section. Then, paste over the WAV section in p.chk.
  59. 3. In p.chk, delete everything from 348 bytes after the first instance of TECx until the end.
  60.  
  61. [Verified] To unprotect old MapSide Protector-protected maps:
  62. --------------------------
  63. 1. Open the map in SCMDraft 2. If it opens, just save it and you're done.
  64. 2. If SCMDraft 2 crashes upon opening, in p.chk, change the tileset flag 1C (in the ERA section) to whatever your tileset flag is (0 for Badlands, 1 for Space Platform, 2 for Installation, 3 for Ashworld, 4 for Jungle, 5 for Desert, 6 for Ice, and 7 for Twilight).
  65.  
  66. _________________________________________________
  67. =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
  68. "Advanced" Protection Methods (You'll have to have SCU to unprotect these protections)
  69. =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
  70.  
  71. [Verified] To unprotect StarForge-protected maps:
  72. --------------------------
  73. 1. In np.chk, if your map doesn't have the IVE2 section (before VCOD), copy from IVE2 to VCOD. This should include IVE2.... but not VCOD. Paste right before VCOD in p.chk.
  74. 2. In p.chk, before OWNR, change the ASCII from IDY to HDY.
  75. 3. In p.chk, change the dimensions of the map to the closest appropriate dimension set. (Aka if you have 61004000, change it to 60004000.)
  76. 4. In p.chk, change the first digit right after MTXM from whatever it is to "00" (hex).
  77. 5. In p.chk, delete every instance of "0000" (in hexadecimal digits) that you find in the MTXM section (from MTXM to PUNID), except for one that is the first one after where it says "MTXM". If you find 3 "00"s in a row, delete the last two.
  78. 6. In p.chk, change the hexadecimal number right after MASK from what it is to "00".
  79. 7. In p.chk, delete everything from when series of "FFFF"'s end (after MASK) to STR.
  80. 8. Go to p.chk and delete everything from the first instance of WAV to the next section. This should include WAV ... but not the next section.
  81. 9. In p.chk, delete from the last instance of the WAV section until the end of the map.
  82. 10. Rename p.chk to scenario.chk, and archive it back into an mpq. Now, open the map with SCU, click "GUEdit", and save.
  83.  
  84. [Verified] To unprotect PROEdit 1.0-1.3-protected maps:
  85. --------------------------
  86. 1. "Unprotect" the map with SCU, by clicking the "GUEdit" button. Save the map.
  87. 2. Open the saved map with the TrigEdit Alpha version of SCMDraft 2. Open the map with the program, and in the plugin menu click "Trigger Editor". Now, click on the Debug button (it's the little check mark to the right of the question mark). Finally, save your map.
  88.  
  89. [Verified] To unprotect PROEdit 1.3b-protected maps:
  90. --------------------------
  91. 1. Delete from the first instance of WAV ... to THG2. This should include WAV ...TILE... but not THG2.
  92. 2. (Optional) If you want for SCU not to give you any error messages, replace every instance of 6AFFFFFF (hex) with FF7F0000 in the TRIG section.
  93. 3. Do the steps for unprotecting PROEdit maps from before 1.3b.
  94.  
  95. [Verified] To unprotect toGi Protector-protected maps:
  96. --------------------------
  97. 1. Go to p.chk, and delete everything from EDIT until the last instance of VCOD.
  98. 2. Delete everything from the first instance of WAV until THG2 in p.chk. This should include WAV.... but not THG2.
  99. 3. Go to p.chk and delete everything from the last instance of WAV to the next section. This should include WAV ... but not the next section.
  100. 4. Rename p.chk to scenario.chk, and archive it back into an mpq. Now, open the map with SCU, click "GUEdit", and save.
  101. 5. Open the map with the TrigEdit Alpha version of SCMDraft 2. Now, open the map with the program, and in the plugin menu click "Trigger Editor". Now, click on the Debug button (it's the little check mark to the right of the question mark). Finally, save your map.
  102. 6. To use the "location toon" in StarEdit/SCXE and not make it crash, open your map in StarForge, make a location, delete it, and save the map. Note that "Anywhere" will now be called "Location 000" in StarEdit/SCXE.
  103.  
  104. [Verified] To unprotect PROEdit 1.4/1.4.1-protected maps:
  105. --------------------------
  106. 1. In p.chk, delete everything from the beginning of the map (if it's a vanilla SC map), or from RAWS/RAWB (if it's a hybrid/Brood War map) to the last instance of "VER " before VCOD.
  107. 2. In p.chk, delete everything from the 11th byte after the first instance of the VER section (counting "VER ") until the last instance of "VCOD" before OWNR.
  108. 3. In np.chk, copy everything from VCOD until IOWN (including "VCOD"). Now, highlight everything from VCOD (including "VCOD") until the last instance of OWNR before "ERA " in p.chk, and click "paste" or press ctrl+v.
  109. 4. In p.chk, delete everything from after the 20th byte of the OWNR section (counting "OWNR") until the last instance of "ERA " before DIM .
  110. 5. In p.chk, delete everything from after the 10th byte of the ERA section (counting "ERA ") until the last instance of "DIM " before SIDE.
  111. 6. In p.chk, delete everything from after the 12th byte of the DIM section (counting "DIM ") until the last instance of "SIDE" before MTXM.
  112. 7. In p.chk, delete everything from after the 20th byte of the SIDE section (counting "SIDE") until the last instance of "MTXM" before PUNI.
  113. 8. In p.chk, delete any extra false sections between the MTXM and PUNI sections (i.e. if it goes "MTXM...ERA ...PUNI", delete "ERA ...").
  114. 9. In p.chk, delete everything from after the 5708th byte of the PUNI section (counting "PUNI") until the last instance of "UNIT" before THG2 (Brood War) or the first instance of UPGR before PTEC (vanilla/hybrid).
  115. 10. (Vanilla/hybrid maps only) In p.chk, delete everything from after the 920th byte of the PTEC section (counting "PTEC") until the last instance of "UNIT" before THG2.
  116. 11. In p.chk, delete any extra false sections between the UNIT and THG2 sections (i.e. if it goes "UNIT...PUPx...THG2", delete "PUPx...").
  117. 12. In p.chk, delete any extra false sections between the THG2 and MASK sections (i.e. if it goes "THG2...DIM ...MASK", delete "DIM ...").
  118. 13. In p.chk, delete everything from after the "FF" and "FE" bytes stop until the first instance of "STR " before UPRP.
  119. 14. (PROEdit 1.4.1 only) In p.chk, delete everything from the 2nd byte after the last string in the STR section until the last instance of UPRP after that.
  120. 15. (PROEdit 1.4 only)In p.chk, delete everything from the first instance of the UPRP section until the next instance of the UPRP section.
  121. 16. In p.chk, delete everything from after the 1288th byte of the UPRP section (counting "UPRP") until the last instance of "UPUS" before MRGN.
  122. 17. In p.chk, delete any extra false sections between the TRIG and MBRF sections (i.e. if it goes "TRIG...UPUS...MBRF", delete "UPUS...").
  123. 18. In p.chk, delete any extra false sections between the MBRF and SPRP sections (i.e. if it goes "MBRF...UPGR...SPRP", delete "UPGR...").
  124. 19. In p.chk, delete everything from after the 12th byte of the SPRP section (counting "SPRP") until the last instance of "FORC" before "COLR" (Brood War) or "UNIS" (hybrid/vanilla).
  125. 20. In p.chk, delete everything from after the 28th byte of the FORC section (counting "FORC") until the last instance of "UNIS" (if the map is hybrid/vanilla) or "COLR" (if the map is Brood War) before SWNM/PTEx.
  126. 21. (Vanilla/hybrid maps only) In p.chk, delete everything from after the 4056th byte of the UNIS section (counting "UNIS") until the last instance of "UPGS" before TECS.
  127. 22. (Vanilla/hybrid maps only) In p.chk, delete everything from after the 228th byte of the TECS section (counting "TECS) until the last instance of "PUPx" before PTEx.
  128. 23. (Brood War maps only) In p.chk, delete everything from after the 16th byte of the COLR section (counting "COLR") until the last instance of "PUPx" before PTEx.
  129. 24. (Brood War/hybrid maps only) In p.chk, delete everything from after the 1680th byte of the PTEx section (counting "PTEx") until the last instance of "UNIx" before UPGx.
  130. 25. (Brood War/hybrid maps only) In p.chk, delete everything from after the 802nd byte of the UPGx section (counting "UPGx") until the last instance of "TECx" before the end of the map.
  131. 26. (Brood War/hybrid maps only) In p.chk, delete everything from after the 404th byte of the TECx section (counting "TECx") until the end of the map.
  132. 27. Rename p.chk to scenario.chk, and archive it back into an mpq. Now, open the map with SCU, click "GUEdit", and save. If it doesn't save, go to step 28. If it saves, go to step 29.
  133. 28. (If it doesn't save in step 27) Go back to p.chk and change the integer on the 9th byte of the STR section (counting "STR ") from whatever it is to "0004". Now, after the integer that you just edited, replace every integer that has a negative value with "0208" (value of 2050).
  134. 29. Open the map with SCMDraft 2. If it opens, go to step 30. If it doesn't open, extract scenario.chk with WinMPQ. Now, in the UPUS section, replace all the "01" bytes (there are 64 bytes, not all are necessarily "01"s) with "00" bytes. Once again (last time, I promise ), rename p.chk to scenario.chk, and archive it back into an mpq.
  135. 30. Open the map with SCMDraft 1. Now, save the map. Now, open it with TrigEdit Alpha version of SCMDraft 2. In the plugin menu click "Trigger Editor". Now, click on the Debug button (it's the little check mark to the right of the question mark). Finally save your map.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement