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

Warden #3

Closed
HarpyWar opened this issue Aug 5, 2014 · 7 comments
Closed

Warden #3

HarpyWar opened this issue Aug 5, 2014 · 7 comments

Comments

@HarpyWar
Copy link

HarpyWar commented Aug 5, 2014

Hello, could you explain details about how Warden works, how can it be extended with new cheats, and does it work properly in your version?
There are a lot of false positives in original 1.13c and it can't be used for play.

@tesseract2048
Copy link
Owner

No, we are not using Warden at all actually.
In theory, warden mod needs to be signed with Blizzard itself, so the mod provided with this version is captured and cannot be modified. Thus we cannot extend it with new cheats.

Fortunately, there are other techniques that introduced by Blizzard since 1.10. "ExtraWork" module for example.
The "ExtraWork" module could be sent by Battle.net server by packet 4C (see: https://bnetdocs.org/?op=packet&pid=182), though it needs to be signed, but with key that can be faked, for you can always factor RSA-256 modules in several weeks. In that case, you can create your own module to detect cheats in your own way.
I've done this, so my current approach is modifying pvpgn to support this feature.

@HarpyWar
Copy link
Author

HarpyWar commented Aug 7, 2014

I've done ExtraWork support in PvPGN pvpgn/pvpgn-server#72
How the key can be faked?

@tesseract2048
Copy link
Owner

Step A. Get private key.
Step B. Sign your own ExtraWork MPQ with the key, create (signature) file.

Generally, factor the RSA module with GNFS (implementation such as CADO-NFS).
Weak key (RSA-256) can be factored in one week using 336 cpu cores.

The key is:

-----BEGIN PRIVATE KEY-----
MIIBOQIBAAJBAJJidwS/uILMBSO5DLGsBFknIXWWjQJe2kfdfEk3G/j66w4KkhZ1
V61Rt4zLaMVCYpDun7FLwRjkMDSepO1q2DcCAwEAAQJANtiztVDMJh2hE1hjPDKy
UmEJ9U/aN3gomuKOjbQbQ/bWWcM/WfhSVHmPqtqh/bQI2UXFr0rnXngeteZHLr/b
8QIhAMuWriSKGMACw18/rVVfUrThs915odKBH1Alr3vMVVzZAiEAuBHPSQkgwcb6
L4MWaiKuOzq08mSyNqPeN8oSy18q848CIHeMn+3s+eOmu7su1UYQl6yH7OrdBd1q
3UxfFNEJiAbhAiAqxdCyOxHGlbM7aS3DOg3cq5ayoN2cvtV7h1R4t8OmVwIgF+5z
/6vkzBUsZhd8Nwyis+MeQYH0rpFpMKdTlqmPF2Q=
-----END PRIVATE KEY-----

@HarpyWar
Copy link
Author

HarpyWar commented Sep 1, 2014

What is the purpose of d2warden.dll in this repository?

@tesseract2048
Copy link
Owner

D2Warden.dll is inherited from previous work, done by marsgod.
I kept most of these original work but it is not necessary.

@HarpyWar
Copy link
Author

So, is d2warden.dll deprecated or it still can work properly?

@tesseract2048
Copy link
Owner

It is deprecated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants