Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to pack replays back #17

Open
Monstrofil opened this issue Sep 17, 2021 · 3 comments
Open

Add ability to pack replays back #17

Monstrofil opened this issue Sep 17, 2021 · 3 comments
Labels
waitingvotes waiting for somebody who need this feature

Comments

@Monstrofil
Copy link
Owner

Add functionality that allows replay to be modified and packed back.

We need:

  1. variables & methods packer with same logic as for unpacking
  2. crypter

It seems that while game client is able to read decrypted replays, it is not able to play them because map and scenario data is only in json part of replay.

@Monstrofil Monstrofil added the waitingvotes waiting for somebody who need this feature label Sep 17, 2021
@imkindaprogrammermyself
Copy link
Contributor

imkindaprogrammermyself commented May 6, 2022

Hmm... Trackpad has already done this before. Basically, we only need to modify the data after the zlib+blowfish decryption then reverse the process to get the modified replay.

What I did is save the msg id of the method/property I want to modify, look up the msg id on the replay, isolate that packet, modify that packet and put it back with the new size.

@nickntg
Copy link

nickntg commented Jun 9, 2022

Could this be used to unpack replays from earlier versions to newer versions so they can be played by the WOWs client?

@Monstrofil
Copy link
Owner Author

Could this be used to unpack replays from earlier versions to newer versions so they can be played by the WOWs client?

Theoretically yes, someone can create translator that migrates replay protocol between client versions. But I don't think that is a good idea because maps change within time, some game resources are added or removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waitingvotes waiting for somebody who need this feature
Projects
None yet
Development

No branches or pull requests

3 participants