Valhalla Legends Archive

Programming => Battle.net Bot Development => Topic started by: aton on July 17, 2008, 06:34 PM

Title: warden key generation
Post by: aton on July 17, 2008, 06:34 PM
iago, on your wiki (http://www.skullsecurity.org/wiki/index.php/Key_Generation_in_C) you have the source in c for the key generation, but you reference two header files:
#include "Warden_SHA1.h"
#include "Warden_random.h"


i cannot find those anywhere on the wiki...
Title: Re: iago - warden key generation
Post by: Barabajagal on July 17, 2008, 06:54 PM
Read through the Rudimentary Warden information (http://forum.valhallalegends.com/index.php?topic=17577.0) topic. I've posted full source code for handling warden in vb6, which you can probably convert to whatever you need.
Title: Re: iago - warden key generation
Post by: aton on July 17, 2008, 07:07 PM
has nobody converted this to c yet? i'd be thankful for saving me the time...
Title: Re: iago - warden key generation
Post by: Dale on July 17, 2008, 07:11 PM
Quote from: aton on July 17, 2008, 07:07 PM
has nobody converted this to c yet? i'd be thankful for saving me the time...

It was originally written in C...
Title: Re: iago - warden key generation
Post by: iago on July 18, 2008, 08:55 AM
Quote from: aton on July 17, 2008, 06:34 PM
iago, on your wiki (http://www.skullsecurity.org/wiki/index.php/Key_Generation_in_C) you have the source in c for the key generation, but you reference two header files:
#include "Warden_SHA1.h"
#include "Warden_random.h"


i cannot find those anywhere on the wiki...
The code for them is in the Crypto and Hashing (http://www.skullsecurity.org/wiki/index.php/Crypto_and_Hashing) page. They aren't named that, and they aren't put in handy .h files, but the code itself should work.

Quote from: Dale on July 17, 2008, 07:11 PM
Quote from: aton on July 17, 2008, 07:07 PM
has nobody converted this to c yet? i'd be thankful for saving me the time...

It was originally written in C...
I sort of wrote it in C, but the first clean version (that I'm aware of) was Java.

I'm dedicating this weekend to sorting through my code and version controlling, uploading, combining, etc. So after that shuffle, it should be easier to find what you need.
Title: Re: iago - warden key generation
Post by: aton on July 23, 2008, 03:13 AM
okay i think i got everything ready so far, i am creating the random hashes, i am creating the rc4 keys for each bot and when 0x5e arrives i decrypt it and ... get garbage.

could someone post a hexdump of:

1. an encrypted warden packet
2. a seed for the random data functions
3. the resulting hashes (out and in)
4. the resulting rc4 keys (out and in)
5. the decrypted warden packet

mine looks like this:
warden seed: 7b2670d6
warden out hash: bff661de0ce4a9d93603d2490c1651c1
warden in hash: 3c7216c9a15cd4c080f5f615f6ce1d04
warden data in: bb 71 d4 5b 83 4d 04 6d 78 b2 6a 35 6c f7 b9 22 a3 5c 5f 1a 83 77 4b ba 7b 71 a4 a5 96 25 d7 67 7a c8 ec 69 7c 00
after decryption: 1e cc 2b 2d 4e 62 f1 51 bf 64 81 36 c5 72 87 d8 3c bb 1d bb b9 e9 ec f3 5f 9d 76 43 6d 92 db dd 93 3f ec 04 bd 44


... would be a great help to me.

iago: i recoded the function in c:
int RotateLeft32(unsigned int val, int bits) { return ((val<<bits)|(val>>(32-bits))); }

greetings, aton
Title: Re: warden key generation
Post by: aton on July 23, 2008, 05:38 AM
heh i got it, i had the seed in the wrong byte order:

warden seed: 7b2670d6
warden out hash: b0c352ac82276dace197cd12b4c71d9f
warden in hash: ac8da57f57094ab2013c607f73fcfe59
warden data in: bb 71 d4 5b 83 4d 04 6d 78 b2 6a 35 6c f7 b9 22 a3 5c 5f 1a 83 77 4b ba 7b 71 a4 a5 96 25 d7 67 7a c8 ec 69 7c 00
after decryption: 00 4f ac a3 67 b9 94 89 6f c7 de 13 ec c9 45 a1 a7 66 0f cf f4 0c 7e 4e 83 dd 6e 41 5d 94 a4 ad 64 48 40 00 00 0c
Title: Re: warden key generation
Post by: aton on July 24, 2008, 07:29 AM
hey could someone give me their values so i can check if my stuff is working correctly?