UnryzeC / WFE-Release

Basic repository for executable updates
41 stars 4 forks source link

Warcraft run by KK matchmaking platform will not be automatically injected, and manual injection is also invalid #40

Closed kidzgy closed 1 year ago

kidzgy commented 1 year ago

The official website of KK Matchmaking Platform is: https://www.reckfeng.com/ The EXE installer can be downloaded at https://www.reckfeng.com/action/download/client?_1687965087196

Environment: WIN10 X64, WAR3 1.27a The situation is as follows: 1, WFE configure the path of Warcraft (no non-English characters), check [Auto-inject]. 2, first run WFE, then run Warcraft locally, the test results of auto-injection is effective. 3、Run WFE first, create a room or randomly test a map through KK matchmaking platform, and find that WFE's auto-injection is invalid after starting the game. Even if you return to the desktop, open WFE and manually click [inject], it is still invalid. 4, at this time, without exiting Warcraft, exit WFE, and then run WFE, at this time will automatically inject.

  1. The problem now is that every time you start a game from KK Battle Platform, you have to re-run WFE after the map is loaded, otherwise WFE is ineffective.

Hope to fix this problem, thanks!

UnryzeC commented 1 year ago

I am quite sure you forgot to create a new profile, or something else. As there should be nothing preventing WFE from injecting into process.

As for this rebranded NetEase, I am uninterested in testing it, just the same as I was before, sorry, but it’s none of my business what and how is managed on other platforms.

kidzgy commented 1 year ago

I'm pretty sure I did create a new profile, and as for why I couldn't inject it, that's why I posted the issue. But the author is not obliged to test the matchmaking platform, which I regret.

UnryzeC commented 1 year ago

Thing is, if they block injections then I will need to write a bypasser, which is not fun at all.

Anyhow, please send me WFEBaseConfig.ini and WFEConfig.ini

And please, always test things on normal WC3 first, so if that works, then you did everything right.

kidzgy commented 1 year ago

WFE.zip The whole thing is my WFE, which contains the configuration file. If it is running Warcraft in Explorer, it is automatically injected. However, if you start Warcraft through KK Battlefront, it will not be injected automatically. In this case, you must re-run WFE after loading the map to inject it automatically.

If necessary, I can upload a video of how it fails to auto-inject in KK Battlefront.

UnryzeC commented 1 year ago

Again, the video won't tell me much. Also try not using auto injector and instead do it manually, it could be that they pause the process, so WFE tries to inject into a paused process, hence failing. Again, auto injector was not made for such use-cases, but for pure Warcraft III.

UnryzeC commented 1 year ago

Also try checking in Process Explorer for the process name, perhaps they are editing that as well, like Iccup is doing and in that case you have to manually fix the name of the process, so it knows where to inject to.

kidzgy commented 1 year ago

It's my fault for not describing it clearly and completely. If you run Warcraft through KK matchmaking platform, either auto-injection or manual injection is invalid, you must be re-running WFE to have effect.

UnryzeC commented 1 year ago

Well, manual inject won't work as you did not enable auto-inject, so yeah that's on you. :D

And when Auto Injector tries to inject, but "fails" WFE will purposly avoid a process it already tried to inject to, so it won't inject multiple times.

In short enable this: image

And when the game fully "starts" click "Inject" once.

In newer APP once I have enough time to finish it, I might add a button to clean "injected" processes, so re-injection could be doable, but anyways, Auto Inject was not made for the usecase of other platforms, so it failing is not really surprising to me.

kidzgy commented 1 year ago

I observed through Process Explorer that no other processes are running, still war3.exe, the specific command line is: "f:\War3\War3.exe" -window -opengl -plogdir= 0043003a005c00500072006f006700720061006d002000460069006c00650073002000280078003800360029005c006b006b006400750069007a00680061006e005c006c006f0067005c0032003000320033005f00300037005f00300031002000300038005f00350036005f00300036002e003500310032005c0077006100720033005c003100350032003200320034005c .

I have checked the "auto-inject", after starting the game, either auto-inject or manually click to inject, both are ineffective.

UnryzeC commented 1 year ago

Then they are doing something to block injections and it's out of my hands, again, if injectors work on normal WC3 (not the one being launched via this platform) then it's them doing something funky.

In short you are asking me to fix what they have broken, and considering this project was not really aimed at trying to bypass platforms' protections, etc. you should try asking platform developers to fix this.

As it was working just fine on their previous platform NetEase(DzAPI or whatever its name was)

kidzgy commented 1 year ago

Why is it that after loading a map via the KK Matchmaking Platform, it is not valid to manually click to inject it in an already running WFE, but it works when I re-run the WFE? Can I do it so that when I click "inject" manually, it is equivalent to re-running WFE?

UnryzeC commented 1 year ago

I have no clue why that is the case, and I asked you like multiple times to check pure-wc3 without the platform just in case.

Since again, this "issue" can only be explained by either you still having Auto Injector checked, I have no other explanation for this. And if this happens with normal WC3 as well, then it could be either your Antivirus or something else triggering after first use.

Again, this is an anomaly that so far only you have brought up.

kidzgy commented 1 year ago

I don't have any antivirus or firewall installed, even Windows Defender, which I have disabled. If you run Warcraft without going through the matchmaking platform, WFE's auto-injection or manual injection is working and is completely normal.

The point of this topic is why WFE is completely ineffective, either manually or automatically, when running Warcraft with WFE running first and then the matchmaking platform. However, if the order is reversed, and the map is loaded via the matchmaking platform first, and then WFE is run, all functions are normal at that time, including auto-injection or manual injection.

UnryzeC commented 1 year ago

Then it's definitely their platform doing something or perhaps even trying to block any programs "manually", sorry, but as you can see it's definitely something related to them, and not to WFE, so you might have to relaunch the tool or ask them to remove their "protection" or whatever it is that is breaking WFE.

Sorry, but as I said from the start it's unrelated to my tool and it's out of my hands, hopefully now you understand this.