Merci:
0
Likes:
0
algorithm viac. TNTSat 29.11.2010
algorithm viac. TNTSat 29.11.2010
29.11.2010
#include "des.h"
#include <avr/pgmspace.h>
typedef uint8_t byte;
unsigned short mul(unsigned short a, unsigned char b);
// aes encryption
byte *aes_decrypt(byte *in);
void addRoundKey(int i);
void inv_subBytes(void);
void inv_shiftRows(void);
byte xtime(byte x);
void inv_mixColumns(void);
byte keyHD [11][16] = { //TNTSat 030B00 HD AES rounds table
{0x43,0x97,0x26,0xEB,0xB6,0xA9,0x39,0xA4,0x56,0xC0 ,0x5F,0xF6,0xAA,0x60,0x6C,0x43},
{0x92,0xc7,0x3c,0x47,0x24,0x6e,0x05,0xe3,0x72,0xae ,0x5a,0x15,0xd8,0xce,0x36,0x56},
{0x1b,0xc2,0x8d,0x26,0x3f,0xac,0x88,0xc5,0x4d,0x02 ,0xd2,0xd0,0x95,0xcc,0xe4,0x86},
{0x54,0xab,0xc9,0x0c,0x6b,0x07,0x41,0xc9,0x26,0x05 ,0x93,0x19,0xb3,0xc9,0x77,0x9f},
{0x81,0x5e,0x12,0x61,0xea,0x59,0x53,0xa8,0xcc,0x5c ,0xc0,0xb1,0x7f,0x95,0xb7,0x2e},
{0xbb,0xf7,0x23,0xb3,0x51,0xae,0x70,0x1b,0x9d,0xf2 ,0xb0,0xaa,0xe2,0x67,0x07,0x84},
{0x1e,0x32,0x7c,0x2b,0x4f,0x9c,0x0c,0x30,0xd2,0x6e ,0xbc,0x9a,0x30,0x09,0xbb,0x1e},
{0x5f,0xd8,0x0e,0x2f,0x10,0x44,0x02,0x1f,0xc2,0x2a ,0xbe,0x85,0xf2,0x23,0x05,0x9b},
{0xf9,0xb3,0x1a,0xa6,0xe9,0xf7,0x18,0xb9,0x2b,0xdd ,0xa6,0x3c,0xd9,0xfe,0xa3,0xa7},
{0x59,0xb9,0x46,0x93,0xb0,0x4e,0x5e,0x2a,0x9b,0x93 ,0xf8,0x16,0x42,0x6d,0x5b,0xb1},
{0x53,0x80,0x8e,0xbf,0xe3,0xce,0xd0,0x95,0x78,0x5d ,0x28,0x83,0x3a,0x30,0x73,0x32}
};
byte key[11][16] = { //TNTSat 030B00 SD AES rounds table
{0xA7,0x9A,0xC0,0xDB,0xEC,0x9C,0x92,0x51,0xD1,0x91 ,0x5F,0x05,0x88,0x62,0xAF,0x26},
{0x0c,0xe3,0x37,0x1f,0xe0,0x7f,0xa5,0x4e,0x31,0xee ,0xfa,0x4b,0xb9,0x8c,0x55,0x6d},
{0x6a,0x1f,0x0b,0x49,0x8a,0x60,0xae,0x07,0xbb,0x8e ,0x54,0x4c,0x02,0x02,0x01,0x21},
{0x19,0x63,0xf6,0x3e,0x93,0x03,0x58,0x39,0x28,0x8d ,0x0c,0x75,0x2a,0x8f,0x0d,0x54},
{0x62,0xb4,0xd6,0xdb,0xf1,0xb7,0x8e,0xe2,0xd9,0x3a ,0x82,0x97,0xf3,0xb5,0x8f,0xc3},
{0xa7,0xc7,0xf8,0xd6,0x56,0x70,0x76,0x34,0x8f,0x4a ,0xf4,0xa3,0x7c,0xff,0x7b,0x60},
{0x91,0xe6,0x28,0xc6,0xc7,0x96,0x5e,0xf2,0x48,0xdc ,0xaa,0x51,0x34,0x23,0xd1,0x31},
{0xf7,0xd8,0xef,0xde,0x30,0x4e,0xb1,0x2c,0x78,0x92 ,0x1b,0x7d,0x4c,0xb1,0xca,0x4c},
{0xbf,0xac,0xc6,0xf7,0x8f,0xe2,0x77,0xdb,0xf7,0x70 ,0x6c,0xa6,0xbb,0xc1,0xa6,0xea},
{0xdc,0x88,0x41,0x1d,0x53,0x6a,0x36,0xc6,0xa4,0x1a ,0x5a,0x60,0x1f,0xdb,0xfc,0x8a},
{0x53,0x38,0x3f,0xdd,0x00,0x52,0x09,0x1b,0xa4,0x48 ,0x53,0x7b,0xbb,0x93,0xaf,0xf1}
};
prog_uint8_t via3_key[] = {
0xFB,0x9A,0x38,0xCE,0x69,0x97,0x55,0xF6,0x96,0xFF, 0xFC,0xDA,0x6E,0xF8,0xD2,0x37, //TNTSat 030B08
0xBF,0xDF,0x66,0xB9,0x0B,0x4D,0xA6,0xE4,0xB0,0x6E, 0xFE,0x85,0x0A,0x6B,0x93,0x5F, //TNTSat 030B09
0xD5,0xFF,0x29,0x10,0xD8,0xA6,0x8C,0x44,0xE4,0xE1, 0xB1,0x6C,0x2B,0xD1,0xA1,0x04, //TNTSat 030B0A
0x7C,0x6A,0x24,0x28,0xC0,0x20,0x02,0x3B,0x16,0x3E, 0x4F,0xE0,0x24,0xFF,0x5D,0x9D,//TNTSat
//0x9F,0x59,0xAF,0x7B,0x9A,0xA1,0x6E,0xEC,0x3C,0xDA, 0xA9,0x5B,0xA4,0x3D,0x87,0x6D, //TNTSat 030B0B
0xC5,0x28,0x18,0x39,0x8D,0x9F,0xDA,0x0B,0xD4,0xF8, 0xA5,0x53,0x1C,0xE1,0x84,0x12, //TNTSat 030B0C
0x1B,0xCA,0x9E,0x88,0x6D,0x4E,0xBD,0x52,0xDA,0x16, 0x10,0x61,0x3C,0x48,0x05,0xC1, //TNTSat 030B0D
0xE7,0x86,0x4D,0xC3,0x51,0x4F,0xC3,0x9E,0x88,0x19, 0xBE,0x69,0x1B,0xD5,0x07,0xC2, //TNTSat 030B0E
0x29,0x09,0x1E,0x70,0xA9,0x39,0x2C,0x67,0xA3,0x94, 0xDB,0x9B,0x70,0x7F,0x1E,0x7C //TNTSat 030B0F
};
prog_uint8_t xortable[] = {
0x8B,0x29,0x08,0xAE,0x39,0xB0,0x10,0x1A, //TNTSat 030B00
};
prog_uint8_t cw1xortable[] = {
0xFC,0x3C,0x5F,0x15,0xD7,0xA0,0xB4,0x37, //TNTSat 030B00
};
prog_uint8_t masktable[]={
/*TNTSat 030B00*/
0x7F,0x30,0x8A,0x9B,0x0B,0x80,0x3C,0x4B,0x6B,0xBF, 0xEF,0xB0,0x41,0xF0,0x3B,0x58,
0xE3,0xBC,0xAF,0xBE,0xE5,0x83,0xB4,0x15,0xA5,0x35, 0x71,0x95,0x2B,0xAB,0xE9,0xA1,
0x79,0x64,0xA8,0xBA,0x8B,0xE4,0xE0,0x53,0xDB,0x6A, 0xD5,0x51,0x1C,0x06,0x37,0x39,
0xD8,0x17,0x86,0xDD,0x92,0x87,0x1B,0xD7,0xB7,0x18, 0xE7,0x31,0x2D,0xDC,0x77,0xF3,
0xDE,0x1A,0xD4,0xFC,0x60,0x93,0x29,0x09,0x70,0x3D, 0x97,0xB9,0x68,0x8F,0x2C,0x5B,
0x62,0x21,0xF5,0x01,0xD0,0x89,0x4F,0x99,0x50,0x28, 0xA9,0xFD,0x4A,0x3F,0x98,0x61,
0xF7,0x1F,0x20,0xAD,0x03,0x08,0x46,0xCF,0x54,0x6C, 0x44,0xDF,0x76,0xC1,0x8D,0x00,
0x78,0xF6,0x07,0xA0,0xF1,0x7A,0x2E,0x32,0x11,0x9F, 0xF4,0x85,0x2F,0x49,0x13,0xC2,
0x59,0x9E,0x96,0x23,0xEB,0x19,0x24,0xED,0xDA,0x25, 0xFE,0xCA,0xF8,0x94,0x22,0x65,
0x33,0x57,0x9D,0xC3,0xA3,0x9C,0x0E,0x56,0x04,0x48, 0x82,0xBD,0x75,0x5A,0xAC,0xFA,
0x26,0xA6,0xB3,0xE8,0x05,0x67,0xEC,0xB1,0x36,0xE6, 0xFF,0x4D,0x10,0x7E,0x8C,0xB8,
0xAA,0xE1,0xEE,0x8E,0x5F,0xC4,0x2A,0x9A,0x52,0x5D, 0xC7,0x02,0xCD,0x72,0xB2,0x0F,
0x88,0xD9,0x43,0x7D,0x16,0xD6,0x5E,0xCB,0x40,0x6D, 0x14,0x4C,0xF9,0x74,0x5C,0x12,
0x7C,0xC0,0xC9,0xA7,0xA4,0x90,0x69,0xBB,0x0D,0xEA, 0xC8,0xC5,0x63,0xAE,0x66,0x4E,
0xD2,0x6F,0xB5,0x7B,0x27,0x1D,0x6E,0x3E,0xCE,0xC6, 0x45,0xD3,0xD1,0x42,0xE2,0x38,
0xA2,0xB6,0x3A,0x34,0x0A,0xFB,0x73,0x91,0x1E,0x84, 0xCC,0x47,0xF2,0x0C,0x81,0x55
};
static void via3_core(unsigned char *xortable, unsigned char *masktable, unsigned char *data, unsigned char offset)
{
int i;
unsigned char b;
for(i = 0; i < 4; i++) {
data[i] ^= pgm_read_byte(&xortable[(i + offset) & 7]);
}
data[4] =data[0] + ((mul(mul(2,data[2]) , (data[3] ^ (data[3] + 110))) + 23) | (data[1] ^ (data[1] + 119)) & (unsigned char)(data[0] ^ (data[0] - 41)));
data[5] = data[1] + (data[0] ^ mul((data[1] ^ (data[1] + 27)) , ((unsigned char)(data[3] ^ (data[3] + 113))) ^ 0x90) ^ ((unsigned char)mul(2,data[2]) ));
data[6] = (data[1] ^ (data[0] + 74)) + data[2] + ((unsigned char)(mul(data[3],data[3])) | 1 | (data[2] + (data[2] ^ 0x35)));
data[7] = ((-2 - data[3]) ^ (data[1] | mul(2 , mul(data[2] , data[0])))) + data[3];
for(i = 0; i < 4; i++) {
data[i + 4] = pgm_read_byte(&masktable[data[i + 4]]);
}
if(!offset)
{
b = data[7];
data[7] = data[5];
data[5] = b;
// show8("Via3x_Fct1", data);
}
else
{
b = data[7];
data[7] = data[6];
data[6] = b;
}
void via3_decrypt(unsigned char *cw, unsigned char *dcw, unsigned long ident)
{
unsigned char dcw_tmp[8], *dcw_ptr, des_key[16];
uint8_t * aes_temp;
int i, pass, key_offs, idx;
switch(ident)
{
case 0x030B08:
key_offs = 0 * 16; idx = 0;
break;
case 0x030B09:
key_offs = 1 * 16; idx = 0;
break;
case 0x030B0A:
key_offs = 2 * 16; idx = 0;
break;
case 0x030B0B:
key_offs = 3 * 16; idx = 0;
break;
case 0x030B0C:
key_offs = 4 * 16; idx = 0;
break;
case 0x030B0D:
key_offs = 5 * 16; idx = 0;
break;
case 0x030B0E:
key_offs = 6 * 16; idx = 0;
break;
case 0x030B0F:
key_offs = 7 * 16; idx = 0;
break;
default:
return;
}
for(i = 0; i < 24; i++) des_key[i] = pgm_read_byte(&via3_key[i + key_offs]);
for(i = 0; i < 16; i++) dcw[i] = cw[i];
for(pass = 0; pass < 2; pass++) {
dcw_ptr = dcw + pass * 8;
for(i = 0; i < 4; i++) dcw_tmp[i] = dcw_ptr[i + 4];
via3_core(&xortable[idx * 8], &masktable[idx * 256], dcw_tmp, 0);
for(i = 0; i < 4; i++) dcw_tmp[i] = dcw_ptr[i] ^ dcw_tmp[i + 4];
via3_core(&xortable[idx * 8], &masktable[idx * 256], dcw_tmp, 4);
for(i = 0; i < 4; i++) dcw_tmp[i] ^= pgm_read_byte(&xortable[i + 4 + idx * 8]);
for(i = 0; i < 4; i++) {
dcw_ptr[i] = dcw_ptr[i + 4] ^ dcw_tmp[i + 4];
dcw_ptr[i + 4] = dcw_tmp[i];
}
des_dec(dcw_ptr, dcw_ptr, des_key);
des_enc(dcw_ptr, dcw_ptr, des_key + 8);
des_dec(dcw_ptr, dcw_ptr, des_key);
for(i = 0; i < 4; i++) dcw_tmp[i] = dcw_ptr[i + 4];
via3_core(&xortable[idx * 8], &masktable[idx * 256], dcw_tmp, 4);
for(i = 0; i < 4; i++) dcw_tmp[i] = dcw_ptr[i] ^ dcw_tmp[i + 4];
via3_core(&xortable[idx * 8], &masktable[idx * 256], dcw_tmp, 0);
for(i = 0; i < 4; i++) dcw_tmp[i] ^= pgm_read_byte(&xortable[i + idx * 8]);
for(i = 0; i < 4; i++) {
dcw_ptr[i] = dcw_ptr[i + 4] ^ dcw_tmp[i + 4];
dcw_ptr[i + 4] = dcw_tmp[i];
}
if(pass == 0) {
for(i = 0; i < 8; i++) dcw[i] ^= pgm_read_byte(&cw1xortable[i + idx * 8]);
}
else {
for(i = 0; i < 8; i++) dcw[i + 8] ^= cw[i];
}
}
// tntsat aes decrypt
aes_temp = aes_decrypt(dcw);
for(i = 0; i < 16; i++)
dcw[i] = aes_temp[i];
return;
}
// TNTSAT AES cw decrypt
// Inverse Sbox Lookup Table
const byte inv_sbox [256] = {
0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38,
0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb,
0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87,
0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb,
0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d,
0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e,
0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2,
0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25,
0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16,
0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92,
0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda,
0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84,
0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a,
0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06,
0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02,
0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b,
0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea,
0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73,
0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85,
0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e,
0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89,
0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b,
0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20,
0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4,
0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31,
0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f,
0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d,
0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef,
0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0,
0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61,
0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26,
0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
};
//byte rcon [] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab};
byte state[16];
byte * aes_decrypt(byte *in)
{
int i;
for(i=0; i < 16; i++)
{
state[i] = in[i];
}
addRoundKey(10);
inv_shiftRows();
inv_subBytes();
for(i = 0; i < 9; i++)
{
addRoundKey(9-i);
inv_mixColumns();
inv_shiftRows();
inv_subBytes();
}
addRoundKey(0);
return state;
}
void addRoundKey(int i)
{
int j;
for(j=0; j < 16; j++)
{
state[j] ^= key[i][j];
}
}
// subBytes
// Table Lookup
void inv_subBytes(void)
{
int i;
for(i = 0; i < 16; i++)
{
state[i] = inv_sbox [ state[i] ];
}
}
// inv shiftRows Before After
// Row 1: No change 0 4 8 12 0 4 8 12
// Row 2: Right Shift by 1 1 5 9 13 => 13 1 5 9
// Row 3: Right Shift by 2 2 6 10 14 10 14 2 6
// Row 4: Right Shift by 3 3 7 11 15 7 11 15 3
void inv_shiftRows(void)
{
byte temp;
//Row 2
temp = state[1]; state[1] = state[13]; state[13] = state[9];
state[9] = state[5]; state[5] = temp;
//Row 3
temp = state[10]; state[10] = state[2]; state[2] = temp;
temp = state[14]; state[14] = state[6]; state[6] = temp;
//Row 4
temp = state[3]; state[3] = state[7]; state[7] = state[11];
state[11] = state[15]; state[15] = temp;
}
//MixColumns Shortcut
//Vunerable to timing attack, must add nop
byte xtime(byte x)
{
return (x & 0x80) ? ((x << 1) ^ 0x1b) : (x<<1);
}
// Inverse Mix Column
void inv_mixColumns(void)
{
byte i, a, b, c, d, e, x, y, z;
// Process a column at a time
for(i = 0; i < 16; i+=4)
{
a = state[i]; b = state[i+1]; c = state[i+2]; d = state[i+3];
e = a ^ b ^ c ^ d;
//Inverses
z = xtime(e);
x = e ^ xtime(xtime(z^a^c) );
y = e ^ xtime(xtime(z^b^d) );
state[i] ^= x ^ xtime(a^b);
state[i+1] ^= y ^ xtime(b^c);
state[i+2] ^= x ^ xtime(c^d);
state[i+3] ^= y ^ xtime(d^a);
}
}
http://www.sendspace.com/file/vnbnmr
Info algo_viac TNTsat read 29.11.2010
hi bro & all friend ^^
i put here only algo_via new system for TnTsat test work 100%.
regards,
algo_via
#include "des.h"
#include <avr/pgmspace.h>
typedef uint8_t byte;
unsigned short mul(unsigned short a, unsigned char b);
// aes encryption
byte *aes_decrypt(byte *in);
void addRoundKey(int i);
void inv_subBytes(void);
void inv_shiftRows(void);
byte xtime(byte x);
void inv_mixColumns(void);
byte keyHD [11][16] = { //TNTSat 030B00 HD AES rounds table
{0x43,0x97,0x26,0xEB,0xB6,0xA9,0x39,0xA4,0x56,0xC0 ,0x5F,0xF6,0xAA,0x60,0x6C,0x43},
{0x92,0xc7,0x3c,0x47,0x24,0x6e,0x05,0xe3,0x72,0xae ,0x5a,0x15,0xd8,0xce,0x36,0x56},
{0x1b,0xc2,0x8d,0x26,0x3f,0xac,0x88,0xc5,0x4d,0x02 ,0xd2,0xd0,0x95,0xcc,0xe4,0x86},
{0x54,0xab,0xc9,0x0c,0x6b,0x07,0x41,0xc9,0x26,0x05 ,0x93,0x19,0xb3,0xc9,0x77,0x9f},
{0x81,0x5e,0x12,0x61,0xea,0x59,0x53,0xa8,0xcc,0x5c ,0xc0,0xb1,0x7f,0x95,0xb7,0x2e},
{0xbb,0xf7,0x23,0xb3,0x51,0xae,0x70,0x1b,0x9d,0xf2 ,0xb0,0xaa,0xe2,0x67,0x07,0x84},
{0x1e,0x32,0x7c,0x2b,0x4f,0x9c,0x0c,0x30,0xd2,0x6e ,0xbc,0x9a,0x30,0x09,0xbb,0x1e},
{0x5f,0xd8,0x0e,0x2f,0x10,0x44,0x02,0x1f,0xc2,0x2a ,0xbe,0x85,0xf2,0x23,0x05,0x9b},
{0xf9,0xb3,0x1a,0xa6,0xe9,0xf7,0x18,0xb9,0x2b,0xdd ,0xa6,0x3c,0xd9,0xfe,0xa3,0xa7},
{0x59,0xb9,0x46,0x93,0xb0,0x4e,0x5e,0x2a,0x9b,0x93 ,0xf8,0x16,0x42,0x6d,0x5b,0xb1},
{0x53,0x80,0x8e,0xbf,0xe3,0xce,0xd0,0x95,0x78,0x5d ,0x28,0x83,0x3a,0x30,0x73,0x32}
};
byte key[11][16] = { //TNTSat 030B00 SD AES rounds table
{0xA7,0x9A,0xC0,0xDB,0xEC,0x9C,0x92,0x51,0xD1,0x91 ,0x5F,0x05,0x88,0x62,0xAF,0x26},
{0x0c,0xe3,0x37,0x1f,0xe0,0x7f,0xa5,0x4e,0x31,0xee ,0xfa,0x4b,0xb9,0x8c,0x55,0x6d},
{0x6a,0x1f,0x0b,0x49,0x8a,0x60,0xae,0x07,0xbb,0x8e ,0x54,0x4c,0x02,0x02,0x01,0x21},
{0x19,0x63,0xf6,0x3e,0x93,0x03,0x58,0x39,0x28,0x8d ,0x0c,0x75,0x2a,0x8f,0x0d,0x54},
{0x62,0xb4,0xd6,0xdb,0xf1,0xb7,0x8e,0xe2,0xd9,0x3a ,0x82,0x97,0xf3,0xb5,0x8f,0xc3},
{0xa7,0xc7,0xf8,0xd6,0x56,0x70,0x76,0x34,0x8f,0x4a ,0xf4,0xa3,0x7c,0xff,0x7b,0x60},
{0x91,0xe6,0x28,0xc6,0xc7,0x96,0x5e,0xf2,0x48,0xdc ,0xaa,0x51,0x34,0x23,0xd1,0x31},
{0xf7,0xd8,0xef,0xde,0x30,0x4e,0xb1,0x2c,0x78,0x92 ,0x1b,0x7d,0x4c,0xb1,0xca,0x4c},
{0xbf,0xac,0xc6,0xf7,0x8f,0xe2,0x77,0xdb,0xf7,0x70 ,0x6c,0xa6,0xbb,0xc1,0xa6,0xea},
{0xdc,0x88,0x41,0x1d,0x53,0x6a,0x36,0xc6,0xa4,0x1a ,0x5a,0x60,0x1f,0xdb,0xfc,0x8a},
{0x53,0x38,0x3f,0xdd,0x00,0x52,0x09,0x1b,0xa4,0x48 ,0x53,0x7b,0xbb,0x93,0xaf,0xf1}
};
all al here attached in text file ,yes you need all file but i put here only algo _via you can modify with your source file to add in emu or car file with corect keys TNTsat + tntsat HD work 100% without freez or cute.
thanks newcs-team
http://www.sendspace.com/file/0z542c
Règles des messages
Vous ne pouvez pas créer de sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas importer de fichiers joints
Vous ne pouvez pas modifier vos messages
Règles du forum