Hello There Owned core members my name is Kliment . I have very interesting question for you ! I am trying to log on my wow server via C++ but i encountered a problem with the SRP protocol that the server uses . I made a lot of research on srp protocol but i can not solve this problem . As for the problem ..... as far as i know the calculation of M1
should look like this H((H(N)^H(g)),H(I),s,A,B,K) which means that i will have to hash the N then hash g ......and here is where i do not know what to do......i am hashing N and g
then i am xor-ing their bytes to come up with the NXG array which is long 20 bytes . So the next step is to put it into the memory and concatenate it with H(the username in uppercase) and s concatenated with A,B and K ....so i come up with a array 176 bytes long (20+20+32+32+32+40) ....But when i hash them with sha1 i can not come up with the right M1 .......i am pretty sure that the sha1 function works correctly ..i 've tested it thousands of times maybe .....So my question is . Does anyone knows what happens at the lower level ....how is the data ordered into the memory before hashing with sha1 , should i convert some of these arrays into strings .....or should i do something else ?
Thank you ! .........and excuse me for the bad English !