Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Aura Kingdom
You last visited: Today at 16:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Looking for Encryption function

Discussion on Looking for Encryption function within the Aura Kingdom forum part of the MMORPGs category.

Reply
 
Old 11/08/2014, 23:47   #16
 
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
Any idea what bufferTwo is for ?

you can use
Code:
bufferTwo_0 = 0x00; // (uint8_t*)(((uint32_t)bufferTwo) - ((uint32_t)buffer))
and it is still working fine.
((uint32_t)bufferTwo) - ((uint32_t)buffer) seems to be always zero.
Daifoku is offline  
Old 11/08/2014, 23:49   #17
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
actually it's a copy of the buffer. AuraKingdom uses alot of techniques to confuse the reverser.
​Tension is offline  
Thanks
1 User
Old 11/10/2014, 02:14   #18
 
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
Mh, I somehow fail to replace one Packet with another.

Creating a new Buffer (myNewBuffer) and passing it as parameter :
Code:
bool __cdecl xorPacketHook(uint8_t *xorTab, int bufSize, uint8_t *buffer, uint8_t *bufferTwo)
{
...
int myNewBufSize = 17;
uint8_t myNewBuffer[] = { 0x95, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

return XORPacket(xorTab, myNewBufSize , myNewBuffer);
}
I don't get a DC but my packet gets rejected.

If i just loop and replace one by one, it is working:
Code:
bool __cdecl xorPacketHook(uint8_t *xorTab, int bufSize, uint8_t *buffer, uint8_t *bufferTwo)
{
...
int myNewBufSize = 17;
uint8_t myNewBuffer[] = { 0x95, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

for (int i = 0; i < myNewBufSize ; i++){
	buffer[i] = myNewBuffer[i];
}
//passing buffer
return XORPacket(xorTab, myNewBufSize , buffer);
}

Any Idea ? remark: porbably just a silly mistake with pointers.. I am not good at cpp
Daifoku is offline  
Old 11/10/2014, 08:53   #19
 
AlainProvist's Avatar
 
elite*gold: 0
Join Date: Aug 2012
Posts: 381
Received Thanks: 562
You should try a dynamic allocation (or a global static table at least) for your table instead of a static table. I didn't gave a look into all of this but from what I see in your code, the table will just go out of scope when returning the hooked function and will be overwriten by the next function's stack.

Anyway, I'm really not sure it will be sufficient enought... The packet buffer is supposed to be containined in a bigger structure that is probably mandatory. So juste XORing a new packet buffer won't really help you to actually send a new custom packet...
AlainProvist is offline  
Thanks
1 User
Old 11/29/2014, 16:28   #20
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
Okay the first packet getting sent is encrypted with RSA.

For encryption it uses:
Code:
RSA_eay_private_encrypt
you can get it from OpenSSL, the padding is 1 which is:
Code:
RSA_padding_add_PKCS1_type_2

call could look like:
Code:
push 1
push offset rsa
push offset to
push offset from
push len
call RSA_eay_private_encrypt
rsa.h says that the RSA struct looks like this:
Code:
struct rsa_st
	{
	/* The first parameter is used to pickup errors where
	 * this is passed instead of aEVP_PKEY, it is set to 0 */
	int pad;
	long version;
	const RSA_METHOD *meth;
	/* functional reference if 'meth' is ENGINE-provided */
	ENGINE *engine;
	BIGNUM *n;
	BIGNUM *e;
	BIGNUM *d;
	BIGNUM *p;
	BIGNUM *q;
	BIGNUM *dmp1;
	BIGNUM *dmq1;
	BIGNUM *iqmp;
	/* be careful using this if the RSA structure is shared */
	CRYPTO_EX_DATA ex_data;
	int references;
	int flags;

	/* Used to cache montgomery values */
	BN_MONT_CTX *_method_mod_n;
	BN_MONT_CTX *_method_mod_p;
	BN_MONT_CTX *_method_mod_q;

	/* all BIGNUM values are actually in the following data, if it is not
	 * NULL */
	char *bignum_data;
	BN_BLINDING *blinding;
	BN_BLINDING *mt_blinding;
	};
The KeyPair is from the first packet you receive.
The packet is structured like this:
Code:
typedef struct tagKEYBUFFER {
int keypart_a_size;
int keypart_b_size;
unsigned char* keypart_a;
unsigned char* keypart_b;
};
so this packet:
Code:
00 01 00 00 02 00 00 00 C8 75 2F F4 1D BC 76 06 9B 54 E2 E2 93 E1 56 D0 8E C9 91 BC 91 7F A4 C0 3E C2 61 02 80 A5 39 20 62 65 61 C9 06 AD 94 B4 EB 3D 07 93 27 A3 B7 03 FB 23 07 E7 58 76 A6 EE 9A 95 BE 5C 8C 3D D9 8F 15 FF FE C4 0F 7D 1A 77 EE 3F FF AD F8 BF 79 0F 67 9B 38 D7 A0 19 69 81 60 89 70 45 87 96 16 3B 44 A9 1F 04 8A 84 2D 7C 50 12 10 8E 53 57 0C 46 FE 12 7E 6C 83 14 A2 D9 53 50 3C B9 5A 12 76 46 C4 EB EE F4 10 9B 1A 1F 96 D4 2C 66 AD C0 29 0B 08 74 B9 46 12 FC 90 7D CE D5 0D 3C C2 37 32 60 8D 9C 47 83 82 95 DA EC 9C E2 BE 35 6C E2 65 49 AB 50 F1 00 A6 B9 88 FE CE BC E3 6C E6 63 AD FB 91 9E 94 B6 1D 96 DA 04 01 1B 19 50 8F C7 7B 4E 82 2E E2 36 3F 0D 78 1E FF 62 1F 2D E5 1A 0F EE 86 42 B9 76 EB C6 37 C9 A6 87 C8 2E 17 EA B5 8C 43 C1 D2 74 1E 80 FF 59 D0 4A 73 97 D2 9A D2 21 FF FF
has 2 parts, the first one is 0x100 bytes long the second 0x2 bytes.
To make it a bit more complicated they've flipped the buffer which means that it starts with:
Code:
21 D2 9A D2
and ends with:
Code:
F4 2F 75 C8
i'm trying to figure out how the OpenSSL shit works and creating a packet generator. One thing i know that it's generated with random bytes but i have to take a deeper look in it.


Regards.
​Tension is offline  
Thanks
2 Users
Old 11/29/2014, 17:47   #21
 
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
Uhm, my first packet from WSASend is a bit different from yours.
Maybe it helps ~V

Code:
typedef struct P_0x0001{
size_t header;
size_t Session_size;
unsigned char* Session;
size_t AuthenticationMethod_size;
unsigned char* AuthenticationMethod;
size_t VersionNumber_size;
unsigned char* VersionNumber;
};
Daifoku is offline  
Thanks
1 User
Old 11/29/2014, 19:33   #22
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
There is one packet which gets sent before yours, it's the crypto-packet which contains the salt of the XorTable, it has 256 Bytes.

Still wondering how the packet gets generated... when following the code i land in
Code:
int ssleay_rand_bytes(unsigned char *buf, int num, int pseudo, int lock);
which says:
Quote:
/*
* (Based on the rand(3) manpage: )
*
* For each group of 10 bytes (or less), we do the following:
*
* Input into the hash function the local 'md' (which is initialized from
* the global 'md' before any bytes are generated), the bytes that are to
* be overwritten by the random bytes, and bytes from the 'state'
* (incrementing looping index). From this digest output (which is kept
* in 'md'), the top (up to) 10 bytes are returned to the caller and the
* bottom 10 bytes are xored into the 'state'.
*
* Finally, after we have finished 'num' random bytes for the
* caller, 'count' (which is incremented) and the local and global 'md'
* are fed into the hash function and the results are kept in the
* global 'md'.
*/
i hope that i can reconstruct the RSA Crypto for the first packet, it would help alot i think.


Edit:
found out that it has something to do with the bn_mod_exp function, hope that it works soon


Edit2:
Seems like that the crypto is virtualized... Atleast i know that after the padding no extra random values are added, but there are some tables(2-3) and i have no idea how they get generated..

Code:
/*
r = result table
a = salt
p = keypart B
m = keypart A
*/
int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx);
​Tension is offline  
Old 11/30/2014, 18:10   #23
 
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
I'm no help with that :x have to take a closer look at it on monday
but i can point out some things that i noticed.

That was your constructed packet:
Code:
00 01 00 00 02 00 00 00 C8 75 2F F4 1D BC 76 06 9B 54 E2 E2 93 E1 56 D0 8E C9 91 BC 91 7F A4 C0 3E C2 61 02 80 A5 39 20 62 65 61 C9 06 AD 94 B4 EB 3D 07 93 27 A3 B7 03 FB 23 07 E7 58 76 A6 EE 9A 95 BE 5C 8C 3D D9 8F 15 FF FE C4 0F 7D 1A 77 EE 3F FF AD F8 BF 79 0F 67 9B 38 D7 A0 19 69 81 60 89 70 45 87 96 16 3B 44 A9 1F 04 8A 84 2D 7C 50 12 10 8E 53 57 0C 46 FE 12 7E 6C 83 14 A2 D9 53 50 3C B9 5A 12 76 46 C4 EB EE F4 10 9B 1A 1F 96 D4 2C 66 AD C0 29 0B 08 74 B9 46 12 FC 90 7D CE D5 0D 3C C2 37 32 60 8D 9C 47 83 82 95 DA EC 9C E2 BE 35 6C E2 65 49 AB 50 F1 00 A6 B9 88 FE CE BC E3 6C E6 63 AD FB 91 9E 94 B6 1D 96 DA 04 01 1B 19 50 8F C7 7B 4E 82 2E E2 36 3F 0D 78 1E FF 62 1F 2D E5 1A 0F EE 86 42 B9 76 EB C6 37 C9 A6 87 C8 2E 17 EA B5 8C 43 C1 D2 74 1E 80 FF 59 D0 4A 73 97 D2 9A D2 21 FF FF
but
Code:
00 01 00 00 02 00 00 00 C8 75 2F
belongs to the Recv Packet you get, after sending the first WSASend packet.
I don't see how this is related to the cryption of the first sendpacket, i mean ... you already crypted it at that time ;-)

my Log (3 packets) :
Daifoku is offline  
Old 11/30/2014, 18:47   #24
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
I think we can write in german.

Das erste Packet das man bekommt sind zwei Teile für bn_mod_exp.
Die ersten beiden DWORDs sind lediglich die Größen der beiden "Tables", laut meiner Analyse in Olly ist der erste Table der Modulus Wert und der zweite Wert der Exponent (was ich aber komisch finde).

Danach werden 0xF8 zufällige Bytes generiert und am Ende unser Salt rangehängt. Anschließend wird dieses mit der bn_mod_exp Funktion verschlüsselt.
Das BN steht für BigNumber und mod exp für Modulus Exponent.
Die "allgemeine" Formel lautet:
Code:
(a^p)%m;
nun weiß ich nur nicht wie dieses angewendet wird, ob DWORDs, WORDs oder BYTEs verwendet werden etc. Ich hab nur eine Funktion gefunden die ich "GenTable" genannt habe welche diese Parameter hat:

Code:
void GenTable(unsigned char* OutTable, unsigned char* InTable, const unsigned char* CryptoTable,  const int len);
OutTable steht halt für den OutPut, InTable ist ein Table welcher meiner Vermutung nach im Virtualisiertem Code generiert wird und CryptoTable ist KeyPart A.
Das allgemein DWORDs verwendet werden schließe ich nicht aus da der Parameter len den Wert 0x40 und 0x40*4 = 0x100 was der Größe der Table entspricht.

Ich muss mich da noch ein wenig tiefer reinfressen aber hoffe das es klappt.

Edit:
Vielleicht finde ich ein Weg zum Re-Produzieren.

Hab den Random-Buffer durch 0x00 ersetzt und das Salt komplett auf 0x11 gesetzt das sieht dann so aus:

Code:
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11
und der Table nach dem Verschlüsseln immer so:
Code:
0xAD, 0x34, 0x5C, 0xC1, 0xC9, 0xAA, 0xD5, 0x2F, 0xF2, 0x05, 0xF6, 0x36, 0x68, 0x34, 0x86, 0xE8, 0x22, 0x7B, 0x52, 0x65, 0x15, 0x7A, 0xB8, 0xD9, 0xB0, 0x2E, 0xEC, 0xFB, 0xE9, 0xDA, 0x44, 0x93,
0x0C, 0x7A, 0x47, 0xA8, 0xD7, 0x28, 0xFF, 0x1A, 0x3E, 0xB3, 0x01, 0x46, 0xE7, 0x64, 0x15, 0x85, 0x36, 0xCF, 0x78, 0xCD, 0x26, 0xCA, 0xF7, 0x89, 0xEE, 0x4A, 0x6A, 0x23, 0x52, 0x77, 0x22, 0x50,
0x3E, 0xA6, 0x3F, 0xCA, 0x80, 0x37, 0xC8, 0x02, 0x3C, 0x8C, 0xF0, 0xFC, 0x2B, 0xF4, 0x4F, 0x5C, 0x69, 0x6D, 0xAF, 0x12, 0x98, 0xD1, 0xFB, 0x5B, 0xA6, 0x7D, 0x79, 0x86, 0xA9, 0xF3, 0x0E, 0x47,
0x83, 0x35, 0xEA, 0xA0, 0x5F, 0x53, 0x9A, 0x20, 0xBC, 0x18, 0x04, 0x7D, 0x7F, 0x20, 0x67, 0xE1, 0x90, 0x79, 0x58, 0x5E, 0xC1, 0x92, 0xA5, 0x37, 0xA1, 0xE6, 0x94, 0xF1, 0xEF, 0x84, 0xAD, 0xFD,
0xC7, 0x95, 0x68, 0xC5, 0xB0, 0x61, 0x24, 0x53, 0x76, 0x07, 0xE9, 0x7C, 0x93, 0xD5, 0x75, 0xDD, 0x39, 0xC3, 0x8E, 0x6A, 0x1A, 0x1C, 0xE5, 0x56, 0xD0, 0x76, 0x8C, 0x31, 0x29, 0x24, 0x21, 0x2E,
0x21, 0x67, 0xF5, 0x6D, 0x7E, 0x4A, 0xD0, 0x53, 0x03, 0x4C, 0x66, 0xEE, 0x9F, 0x42, 0x3B, 0x89, 0x17, 0x05, 0xAD, 0x12, 0xE1, 0x05, 0x82, 0x18, 0x10, 0x8A, 0x66, 0x3E, 0xD9, 0xE3, 0x9F, 0x53,
0x0A, 0x70, 0x19, 0xA0, 0x53, 0x47, 0x20, 0xAD, 0xBA, 0x11, 0xDD, 0x4E, 0x0E, 0x3B, 0x3A, 0x03, 0xC8, 0x78, 0x3F, 0xCF, 0xC7, 0x31, 0xE7, 0xB2, 0x61, 0x1D, 0xD8, 0x5D, 0xAB, 0x3B, 0x57, 0x10,
0x11, 0xCB, 0x97, 0x89, 0xEA, 0x83, 0x98, 0xC0, 0xD6, 0x31, 0x7F, 0xD0, 0xBB, 0xA9, 0x93, 0x20, 0x83, 0xB9, 0x82, 0x91, 0xCF, 0x03, 0x8D, 0xEA, 0xD4, 0x10, 0x5A, 0x82, 0xBD, 0x58, 0x57, 0xC2
​Tension is offline  
Thanks
1 User
Old 11/30/2014, 19:32   #25
 
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
Post

Okay, habe anfangs wohl einiges verwechselt. Ich sollte mich erst mit Olly beschäftigen und dann meinen Senf dazu geben

der Parameter len wird vermutlich das fl sein, welches in der OpenSSL Dokumentation genutzt wird. Ich muss jetzt erstmal meinen uni kram machen morgen such ich mir mal die Stellen in Olly zusammen

Code:
 int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, unsigned char *f, int fl);
Quote:
Originally Posted by https://www.openssl.org/docs/crypto/RSA_padding_add_PKCS1_type_1.html
RSA_padding_add_xxx() encodes fl bytes from f so as to fit into tlen bytes and stores the result at to. An error occurs if fl does not meet the size requirements of the encoding method.
Daifoku is offline  
Old 11/30/2014, 19:56   #26
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
Das mit dem Padding kann man ignorieren, es werden sowieso zufällig Bytes erstellt und die letzten 5 Bytes sind nur wichtig welche dem Salt entsprechen.

Code:
00D5F356   .  52            PUSH EDX                                 ;  what?
00D5F357   .  8B57 14       MOV EDX,DWORD PTR DS:[EDI+0x14]
00D5F35A   .  8B7C24 14     MOV EDI,DWORD PTR SS:[ESP+0x14]
00D5F35E   .  53            PUSH EBX                                 ;  ctx
00D5F35F   .  50            PUSH EAX                                 ;  m
00D5F360   .  8B4424 34     MOV EAX,DWORD PTR SS:[ESP+0x34]
00D5F364   .  52            PUSH EDX                                 ;  p
00D5F365   .  50            PUSH EAX                                 ;  a
00D5F366   .  57            PUSH EDI                                 ;  ret
00D5F367   .  FFD1          CALL ECX                                 ;  bn_mod_exp
Code:
00D5F370   .  57            PUSH EDI                                 ;  &ret
00D5F371   .  E8 EAF4FFFF   CALL game.00D5E860                       ;  BN_num_bytes
Code:
00D5F38A   .  52            PUSH EDX                                 ;  to
00D5F38B   .  57            PUSH EDI                                 ;  a
00D5F38C   .  E8 6FF9FFFF   CALL game.00D5ED00                       ;  BN_bn2bin
sind so die Kernfunktionen, der Rest ist scheiß egal.

Code:
00D67240  |.  8B4C24 18     MOV ECX,DWORD PTR SS:[ESP+0x18]
00D67244  |.  8B5424 10     MOV EDX,DWORD PTR SS:[ESP+0x10]
00D67248  |.  51            PUSH ECX
00D67249  |.  56            PUSH ESI
00D6724A  |.  52            PUSH EDX
00D6724B  |.  E8 70FDFFFF   CALL game.00D66FC0

00D66EDA   .  57            PUSH EDI
00D66EDB   .  51            PUSH ECX
00D66EDC   .  56            PUSH ESI
00D66EDD   .  52            PUSH EDX
00D66EDE   .  E8 2D030000   CALL game.00D67210
Die Funktionen haben noch was mit dem einen CryptoTable zutun.
​Tension is offline  
Thanks
1 User
Old 12/31/2014, 15:38   #27
 
elite*gold: 0
Join Date: May 2009
Posts: 236
Received Thanks: 177
Anyone knows why I can't send a packet? I mean it sends correctly but it doesnt execute. Maybe there is some check in the server before it gets executed?
ken12 is offline  
Old 12/31/2014, 17:06   #28
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
I'd need more information to help you. What kind of packet? how do you send it? etc.

So i've got myself to take a look again into the game.bin.
What i've figured out:
you may know that the packetheader contains 2 shorts, ID and Type.
After tracing a bit i've figured out that the first short (ID) is just a function index.
But the problem is, that the Function-Table is dynamic so i'd need some more time to find how it actually works.
​Tension is offline  
Old 12/31/2014, 19:49   #29
 
elite*gold: 0
Join Date: May 2009
Posts: 236
Received Thanks: 177
Here are the packets..

Code:
** SKILL PACKET
format = A0 00 XX XX ID ID TG TG TG TG 00 00
Definition :
A0 00 -> Headers
XX XX -> 66 00/ 7E 00 -> Depends upon the use of the skill
ID ID -> 2 Byte Skill ID (ranges from 0000 - FFFF)
TG TG TG TG -> 4 Byte TargetID/PlayerID
00 00 -> Free bytes
Size = 0xC

** Teleport Packet 
format = 04 00 2D XX XX 00
04 00 -> Headers
2D -> unknown
XX XX -> 2 Byte Map ID
00 -> Free byte
Process of sending the packet..

1. Function call that takes 2 args -> This call is use to Encrypt the packet without having to look for the whole xor table or what...
2. After encryption I send it using either send() or WSASend()

After that sending i'll get no response. So I think the AK have other checks or something..
ken12 is offline  
Old 01/01/2015, 16:49   #30
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
I thought the header would be 4 Bytes long not 2??

Aura uses WSASend so i would use that probably too. Do you have the correct PTR to the socket?
​Tension is offline  
Reply


Similar Threads Similar Threads
std::function of a function returning an std::function
11/11/2013 - C/C++ - 19 Replies
Nun muss ich nach langer Zeit auch mal wieder einen Thread erstellen, weil mir Google nicht mehr weiterhelfen kann. Ich verzweifle an Folgendem Vorhaben: #include <Windows.h> #include <string> #include <iostream> using namespace std;
Running Function 2 after Function 1 finished
09/15/2013 - AutoIt - 3 Replies
Hey, its me again. Im stuck on a problem since yesterday and as much as i hate to ask for help, i really dont know what else to try. I want Function 2 to run after Function 1 has finished. I tried GuiCtrlSetOnEvent and MsgLoop, but i dont really understand it. I tried to read tutorials but they didnt help at all. The line that are underline is what im talking about. I want gamestart() to run first and when its finished, i want iniviteteam() to run. #AutoIt3Wrapper_UseX64=n...
Encryption of DO
04/04/2013 - DarkOrbit - 28 Replies
Hey, I talked with a guy, who is interested in coding. He looked for the encryption just for fun and gave me this: http://pastebin.com/2iLKJUcs Maybe it helps. I don't know :) Please dont ask, what this is or how to use it. Its for the better developer here ala Heaven, Gnome or First
[VIP-function] ToxicSYS [VIP-function]
08/14/2010 - WarRock Hacks, Bots, Cheats & Exploits - 1 Replies
heeeey E-pvpers :pimp: this is a new hack by TSYS Status : UNDETECTED Functions (VIDEO) : YouTube - WarRock - Bikini event VIP hack



All times are GMT +1. The time now is 16:05.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.