GSM Shop GSM Shop
GSM-Forum  

Welcome to the GSM-Forum forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features.
Only registered members may post questions, contact other members or search our database of over 8 million posts.

Registration is fast, simple and absolutely free so please - Click to REGISTER!

If you have any problems with the registration process or your account login, please contact contact us .

Go Back   GSM-Forum > Other Gsm/Mobile Related Forums > GSM Programming & Reverse Engineering


GSM Programming & Reverse Engineering Here you can post all Kind of GSM Programming and Reverse Engineering tools and Secrets.

Reply
 
LinkBack Thread Tools Display Modes
Old 03-22-2004, 14:39   #1 (permalink)
No Life Poster
 
Join Date: Feb 2002
Age: 39
Posts: 710
Member: 21572
Status: Offline
Thanks Meter: 1
DCT 2/3/4 unlock code generation algorythm need!


Hi!

DCT 2/3/4 unlock code generation algorythm need!

[email protected]

Wbr,
Ada
  Reply With Quote
Old 03-27-2004, 14:58   #2 (permalink)
Freak Poster
 
Join Date: Aug 2002
Age: 53
Posts: 301
Member: 14392
Status: Offline
Thanks Meter: 9
here is the DCT4 one
  Reply With Quote
Old 03-28-2004, 20:02   #3 (permalink)
Junior Member
 
Join Date: Oct 2003
Posts: 23
Member: 42027
Status: Offline
Thanks Meter: 1
Hi
I want to write dct4calc for symbian
I need the source too
please send it to me

[email protected]

sincerely Ar-ras
  Reply With Quote
Old 05-10-2004, 03:29   #4 (permalink)
Junior Member
 
Join Date: Jun 2003
Location: HUN
Posts: 31
Member: 31988
Status: Offline
Thanks Meter: 0
i need dct 3 4 algo..
[email protected]
thx
  Reply With Quote
Old 05-11-2004, 14:34   #5 (permalink)
Junior Member
 
Join Date: May 2004
Age: 48
Posts: 11
Member: 65254
Status: Offline
Thanks Meter: 0
hi im programing in visual basic

i need the algorithm to make a program

can you help me

[email protected]
  Reply With Quote
Old 05-11-2004, 20:27   #6 (permalink)
Crazy Poster
 
Join Date: Jul 2003
Posts: 50
Member: 34254
Status: Offline
Thanks Meter: 0
Can someone also send me it? DCT 2/3/4 ! ..

Pleass
  Reply With Quote
Old 05-12-2004, 06:19   #7 (permalink)
No Life Poster
 
forhike's Avatar
 
Join Date: Aug 2002
Location: Up North
Posts: 900
Member: 14934
Status: Offline
Thanks Meter: 79
sorry could not fin anywhere to upload the files
this is from dct3.c


---



//
// Algoritmo códigos de liberación DCT3
// Algorithm unlock codes DCT3
//
// indear
//

#include <stdio.h>
#include <string.h>

void ASCII2HEX (unsigned char *origen, unsigned char *destino, int caracteres);
unsigned char convertir_byte_a_hex (unsigned char byte);
unsigned char calculo4_a (char caracter);
void calculo4 (unsigned char *cadena);
void calculo3 (unsigned char *cadena);
void calculo2_a (unsigned char *cadena, unsigned char byte, unsigned char byte2);
void calculo2 (unsigned char *cadena, unsigned char byte, unsigned char byte2);
void calculo1 (unsigned char byte, unsigned char *network_code_h, unsigned char *imei_h);
void calculo1_a (unsigned char *cadena);
void calcular_dct3 (unsigned char *imei, unsigned char *network_code, unsigned char *destino);

void ASCII2HEX (unsigned char *origen, unsigned char *destino, int caracteres)
{
int i, j;
unsigned char aux1, aux2;

j=0;
for(i=0; i<caracteres; i+=2)
{
aux1 = convertir_byte_a_hex(origen[i])<<4;
if (i+1 < caracteres)
aux2 = convertir_byte_a_hex(origen[i+1]);
else
aux2 = 0;
destino[j] = aux1 | aux2;
j++;
}
}

unsigned char convertir_byte_a_hex (unsigned char byte)
{
if ((byte > 57) || (byte < 48)) // '0' a '9'
return (byte-55);
else
return (byte-48); // 'A' a 'F' o otro caracter
}

unsigned char calculo4_a (char caracter)
{
unsigned char aux1, aux2, aux3, temp;
int i;

aux1=0;
aux2=7;
temp=0;

for (i=0; i<8; i++)
{
aux3=caracter;
aux3=aux3>>aux2;
aux3&=1;
aux3=aux3<<aux1;
temp|=aux3;
aux1++;
aux2--;
}
return temp;
}

void calculo4 (unsigned char *cadena)
{
char temp[12];
int i;

memcpy(temp, cadena, 12);

for (i=0; i<12; i++)
{
cadena[11-i]=calculo4_a(temp[i]);
}

}
void permu1(unsigned char *network_code_hex, unsigned char *tabla, unsigned char *imei_hex)
{
unsigned char *puntero;
int i;

puntero=tabla;

for (i=0; i<11; i++) {
calculo1(*puntero, network_code_hex, imei_hex);
calculo2(network_code_hex, 0, 8);
calculo3(network_code_hex);
calculo2(network_code_hex, 8, 0);
puntero++;
}

calculo1(tabla[11], network_code_hex, imei_hex);
calculo4(network_code_hex);
}
void calculo3 (unsigned char *cadena)
{
unsigned char aux1, aux2, aux3, temp1, temp2;
char temp[12];
int i;

memcpy(temp, cadena, 12);
temp2=12;
temp1=7;
aux1=3;

for(i=0; i<12; i++)
{
aux2=temp1;
aux3=aux1;
aux2=temp[aux2];
aux2^=0xFF;
aux2|=temp[aux3];
temp2--;

if (temp1==0)
temp1=12;

temp1--;

if (aux1==0)
aux1+=12;

aux3=temp2;
cadena[aux3]^=aux2;

aux1--;
}
}

void calculo2_a (unsigned char *cadena, unsigned char byte, unsigned char byte2)
{
unsigned char aux1, aux2, aux3;
unsigned char *puntero;
int i,j;

if (byte==0)
return;

for (i=0; i<byte; i++)
{
aux1=cadena[byte2+3];
aux1&=1;
puntero=cadena+byte2;

for (j=0; j<4; j++)
{
aux2=*puntero;
aux3=aux2;
aux2=aux2>>1;
aux1=aux1<<7;
aux2|=aux1;
aux3&=1;
*puntero=aux2;
aux1=aux3;
puntero++;
}
}
}

void calculo2 (unsigned char *cadena, unsigned char byte, unsigned char byte2)
{
calculo2_a(cadena, 10, byte);
calculo2_a(cadena, 31, byte2);
}

void calculo1 (unsigned char byte, unsigned char *network_code_h, unsigned char *imei_h)
{
unsigned char aux1, aux2;
int contador;
unsigned char *puntero, *puntero2;

puntero=network_code_h;
puntero2=imei_h;
contador=0;
aux1=0;

while (contador < 12)
{
aux2=aux1;
aux2=(aux2>>1) % 3;
aux2&=1;
aux2*=byte;
aux2^=(*puntero2);
(*puntero)^=aux2;
aux1++;
puntero++;
puntero2++;

contador++;
}
calculo1_a(network_code_h);
}

void calculo1_a (unsigned char *cadena)
{
// 60 bytes
char tabla1[] = {0x01,0x09,0x04,0x08,0x0B,0x05,0x09,0x08,0x06,0x0A , \
0x01,0x03,0x0B,0x06,0x0A,0x00,0x08,0x07,0x0B,0x0A, \
0x01,0x05,0x00,0x08,0x03,0x01,0x09,0x00,0x02,0x0A, \
0x05,0x03,0x07,0x02,0x0A,0x00,0x04,0x03,0x0B,0x02, \
0x05,0x09,0x00,0x04,0x07,0x01,0x05,0x04,0x02,0x06, \
0x09,0x07,0x0B,0x02,0x06,0x04,0x08,0x03,0x07,0x06} ;

// 60 bytes
char tabla2[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00 , \
0x01,0x00,0x01,0x01,0x01,0x00,0x01,0x00,0x01,0x01, \
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x01, \
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, \
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, \
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01} ;

unsigned char *puntero=cadena;
unsigned char aux1, aux2;
int contador1, contador2, contador3;
char variable_8c[12];

contador1=0;
aux1=0;
aux2=0;

while (contador1<12) {
contador2=5;
aux2^=*puntero;

while (contador2>0) {
if ((tabla2[aux1] == 0) && (contador1 <6)) {
variable_8c[tabla1[aux1]]=*puntero;
}
else {
variable_8c[tabla1[aux1]]^=*puntero;
}
aux1++;
contador2--;
}
contador1++;
puntero++;
}

for (contador3=0; contador3<12; contador3++)
variable_8c[contador3]^=aux2;

memcpy(cadena, variable_8c, 12);
}

void calcular_dct3 (unsigned char *imei, unsigned char *network_code, unsigned char *destino)
{
char tabla[] = {0xb1,0x73,0xe6,0x5a,0xab,0x47,0x8e,0x0d,0x1a,0x34 ,0x68,0x0b}; //12 bytes
char network_code_h[12], imei_h[12];
int i, j;
unsigned char aux1;

memset(network_code_h, 0, sizeof(network_code_h));
memset(imei_h, 0, sizeof(imei_h));
ASCII2HEX(network_code, network_code_h, (int)strlen(network_code));
ASCII2HEX(imei, imei_h+2, 14);

for (i=2; i<12; i++)
imei_h[i]^=0xa5;

permu1(network_code_h, tabla, imei_h);

j=0;
for (i=0; i<5; i++)
{
aux1=network_code_h[i];
if ((aux1&0x80) == 0x80)
aux1+=0xa0;
if ((aux1&0x08) == 0x08)
aux1+=0xfa;

destino[j]=(aux1 >> 4) + 0x30;
j++;
destino[j]=(aux1 & 0x0F) + 0x30;
j++;
}
destino[j]=0;
}
void main()
{
// examples - ejemplos

char destino[11];

calcular_dct3 ( "111111111111119", "22222", destino); // Code1 use network code
printf("#pw+%s+1#\n", destino); // Codigo1 usar el codigo de operador

calcular_dct3 ( "111111111111119", "FFFF", destino); // Code2 use GID1
printf("#pw+%s+2#\n", destino); // Codigo2 usar el GID1
}
  Reply With Quote
Old 05-12-2004, 06:22   #8 (permalink)
No Life Poster
 
forhike's Avatar
 
Join Date: Aug 2002
Location: Up North
Posts: 900
Member: 14934
Status: Offline
Thanks Meter: 79
and this is for dct4
-----------

hmm to many caracters =(

i'l post later when i can upload it somewhere =/
  Reply With Quote
Old 05-12-2004, 10:05   #9 (permalink)
Crazy Poster
 
Join Date: Jul 2003
Posts: 50
Member: 34254
Status: Offline
Thanks Meter: 0
Thankz... send it to me .. Then i upload it...
[email protected]
  Reply With Quote
Old 05-12-2004, 17:21   #10 (permalink)
No Life Poster
 
forhike's Avatar
 
Join Date: Aug 2002
Location: Up North
Posts: 900
Member: 14934
Status: Offline
Thanks Meter: 79
home from work now,

HERE IS DCT3 and DCT4

hm i'l never be able to type correct url on this forum =p
h*****.nu is the correct
  Reply With Quote
Old 05-13-2004, 00:25   #11 (permalink)
Insane Poster
 
Join Date: Apr 2004
Location: Spain
Posts: 82
Member: 63517
Status: Offline
Thanks Meter: 5
hi!
you can download dct2, dct3, dct4 and others from
http://www.geocities.com/indearcito/

  Reply With Quote
Old 05-16-2004, 03:33   #12 (permalink)
No Life Poster
 
foufou's Avatar
 
Join Date: Dec 2002
Location: Mouscron/ Belguim
Age: 46
Posts: 1,260
Member: 18703
Status: Offline
Thanks Meter: 330
and any soures in VB please or in php
  Reply With Quote
Old 05-17-2004, 06:45   #13 (permalink)
Freak Poster
 
Join Date: Sep 2001
Location: Hungary
Age: 49
Posts: 307
Member: 6472
Status: Offline
Thanks Meter: 1
Smile dct4 source in VB

Quote:
Originally Posted by foufou
and any soures in VB please or in php

Here is a ASP script in VB developed by me

It has more longer because follow the structure of the dct4nck.exe (reversed). And extended with asic 7 and imei check. It is build in new griffin box serial, but u can change it if u can do it))))

http://www.gsmcoder.com/download/dct4calc_masterID.zip
  Reply With Quote
Old 05-20-2004, 00:37   #14 (permalink)
No Life Poster
 
JAVA Good's Avatar
 
Join Date: May 2004
Age: 54
Posts: 2,440
Member: 66136
Status: Offline
Thanks Meter: 200
hello all , i see all must of algo of unlock software it's with C language , i some algo with JAVA language please (DCT4 and GD55/G50 it's possible ) ?

best regards,
JAVA Good.
  Reply With Quote
Old 05-20-2004, 06:30   #15 (permalink)
Freak Poster
 
Join Date: Sep 2001
Location: Hungary
Age: 49
Posts: 307
Member: 6472
Status: Offline
Thanks Meter: 1
Smile

Quote:
Originally Posted by JAVA Good
hello all , i see all must of algo of unlock software it's with C language , i some algo with JAVA language please (DCT4 and GD55/G50 it's possible ) ?

best regards,
JAVA Good.
java and c synatxes arent so different, the algo isnt so long. U can easily rewrit it.

Of course, midlet gui/api programming different from PC programming, but its not part of the algo
  Reply With Quote
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
dct-2,3,4 , WD2, APE,... what a mess!!! jumpjack WD2 & APE (Symbian Phones) 1 08-21-2006 23:16
New DCT-2,3,4 unlocker fjr1300 Nokia Multimedia 1 08-06-2004 14:44
Where can i buy Alcatel Be 1-2-3-4- unlock cable with external power supply !!??? sifasli Alcatel & TCL Old Models 2 08-26-2001 22:21

 



All times are GMT +1. The time now is 03:09.



Powered by Searchlight © 2024 Axivo Inc.
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
- GSM Hosting Ltd. - 1999-2023 -
Page generated in 0.27436 seconds with 9 queries

SEO by vBSEO