speige / WC3MapDeprotector

Warcraft 3 Custom Map deprotector
https://www.youtube.com/@ai-gamer
MIT License
21 stars 3 forks source link

Decompile "Silk Object Optimizer.exe" & convert it to c# source code #12

Open speige opened 9 months ago

speige commented 9 months ago

Use this decompiler to convert to c, then step through code while executing in order to rewrite from scratch https://github.com/NationalSecurityAgency/ghidra/releases

Luashine commented 9 months ago

Do you want to redo the SLK optimization in an open code or with the later purpose of reverting (parsing SLK)? @WaterKnight has SLK figured out I think. Unless there pieces we don't know that we'd need to take a look at how the game does load SLKs.

speige commented 9 months ago

I had to embed "Silk Object Optimizer.exe" into my tool in order to recover custom unit data from maps like DOTA. I dislike that I'm embedding an external .exe, because I don't have the source code. If there's a virus in it, I don't know. If there's a bug in it, I can't fix it. It also is an awkward user experience because my app opens a separate console window for this extra exe which might confuse the user.

So far, the existing exe seems to work well, so it's not a high priority, just a nice-to-have eventually.

One other annoyance is it adds extra "Editor Suffix" messages everywhere as advertisements of the program.

speige commented 4 months ago

This has been partially coded using the War3Net APIs, but it's unfinished & untested. Can probably do before/after testing to verify accuracy, rather than decompiling "Silk Object Optimizer.exe"

Alternate SLK decompiler which is open source & newer: https://github.com/sumneko/w3x2lni