OK, while poking around with protection techniques, I found that I could crash both staredit and SCXE with a little creativity and no threat to game play. To do this is simple
Tools:
Hex Editor
WinMPQ
1. First create a new map. It will be much easier to do this in the beginning.
2. Create a trigger with the following format:
Trigger |
nullPlayers: |
¤ Player 1 |
Conditions: |
¤ Never(); |
Actions: |
¤ Preserve Trigger(); (63 of these)
|
¤ Comment("Antihack"); |
3. Now, finish creating your map.
4. When you are ready to protect, save your map.
5. Extract the CHK contents of your map.
6. Under the CHK section, find the subsection named "TRIG".
7. Directly after TRIG, there should be 324 bytes you can skip. Do not touch these.
8. After those 324 bytes, you will see another 4096. These bytes represent the actions of the very first trigger. in these 4096 bytes, you can fill them in with garbage. I suggest simply filling all of them with "FF" in the hex box for each byte. You do not have to fill every one of the 4096 bytes with garbage, but it can't hurt.
9. Save CHK.
10. Import the new CHK into a brand new SCX file (make it with WinMPQ)
You have successfully protected your map from being edited in SCXE and Staredit. I know not many people use it, but I use it all the time for triggering and this would be most detrimental to me.
Why this works: To tell you truth, you're just f**king up the map in a way that SC can't see. Since the conditions of the trigger remain as "Never", the trigger istn even looked at by Starcraft. However, Staredit and SCXE look through every trigger. Since the trigger is severly deformed on the actions side, it crashes without any good explanation. Technically, It doesnt have to be the first trigger, but it makes it a hell of a lot easier. I personally just mess with the middle few bytes of the actions, not the very beginning (directly after the first 324 bytes). Please test this and tell me if it was useful.