AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

C in Delphi Übersetzen

Ein Thema von Gehstock · begonnen am 11. Apr 2007 · letzter Beitrag vom 27. Apr 2007
 
Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#1

C in Delphi Übersetzen

  Alt 11. Apr 2007, 18:32
Kann mir jemand helfen diesen c Source in Delphi zu Übersetzen
Delphi-Quellcode:
int IMEI_code(char* IMEI, char *std);

int main(int argc, char* argv[])
{
  printf("CL 50 UNLOCK ALL\n");
  if (argc<2)                          // mach ich Anders über MemoInfo.lines.add('Prüfe eingegebene IMEI');
                                      // If length(EditIMEI.Text)<14 then begin
                                      // MemoInfo.lines.add('Falsche IMEI eingegeben');
{
  printf("USAGE: %s <IMEI>",argv[0]);
  exit(0);
}

  printf("Code for NCKKN is : **00012*");
  IMEI_code(argv[1],"NCKKN");
  printf("#\n");


  printf("Code for NSCKN is : **00022*");
  IMEI_code(argv[1],"NSCKN");
  printf("#\n");

    printf("Code for SPCKS is : **00032*");
  IMEI_code(argv[1],"SPCKS");
  printf("#\n");

    printf("Code for CKCCK is : **00042*");
  IMEI_code(argv[1],"CKCCK");
  printf("#\n");

    printf("Code for PCKKP is : **00053*");
  IMEI_code(argv[1],"PCKKP");
  printf("#\n");



}


int IMEI_code(char* IMEI, char *std)
{

//IMEI here
//char IMEI[]="351736001251143";
//char *IMEI=argv[1];

char IMEI_PATCH[17],IMEI74[17],IMEI9C[17];
char IMEICC[33];
//char std[]="PCKKP";
char std1[]="DG1";
//char std2[]="PCKKP";
char dest[16];//std3[]="DG1";
int b=0;
int i;




//init date  ------------------------
for (i=0;i<16;i++)
  dest[i]=0;


for (i=0;i<37;i++)
  IMEICC[i]=0;

  strcpy(dest,std1);
//end init date  --------------------



for(i=0;i<8;i++)
{
  b+=IMEI[i+6];
  IMEI_PATCH[i]=IMEI[i+6];
}

 //printf("%x\n",b);
 for(i=0;i<8;i++)
 {
  IMEI_PATCH[i+8]=0x64-IMEI_PATCH[i];
}


//ýòî íóëè â êîíåö ìàññèâîâ
//nulls for end array
//aka IMEI_PATCH[9]=0;
//Not used
//Íå èñïîëüçóåì:)

IMEI_PATCH[16]=0;

// printf("%s\n",IMEI_PATCH);


switch(b%3)
{
default:
case 0: for(i=0;i<16;i++)
{
  IMEI74[i]=IMEI_PATCH[i];
}
;break;

//0x1 Ðåâåðñèðîâàíèå (REVERSING)
 case 1: for(i=0;i<16;i++)
 {
  IMEI74[15-i]=IMEI_PATCH[i];
}
;break;
//0x2
  case 2:
 for(i=0;i<16;i++)
 {
  if(!(i%2)) //Ïðîâåðêà íà ÷åòíîñòü (is i/2 ???)
  {
    IMEI74[i]=IMEI_PATCH[i+1];
  }

  else
  {
  IMEI74[i]=IMEI_PATCH[i-1];
  }

 };


}


  strcat(dest,std);
  strcat(dest,std1);
  strcat(dest,std);

//printf("HASH: %s\n",dest);

for(i=0;i<16;i++)
{
IMEI9C[i]=(IMEI74[i]+dest[i])%100;
}


//printf("%s\n",IMEI74);
//printf("%s\n",IMEI9C);
IMEI74[16]=0;
IMEI9C[16]=0;

//ýòî íóëè â êîíåö ìàññèâîâ
//nulls for end array


switch(b%10)
{
case 1:
for(i=0;i<8;i++)
{
IMEICC[i*4]=(IMEI74[i*2]|dest[i*2]|IMEI9C[i*2]|IMEI9C[i*2])%10;
}

 break;
 case 2:
  for(i=0;i<8;i++)
{
IMEICC[i*4]=(IMEI74[(i*2)+1]|dest[(i*2)+1]|IMEI9C[(i*2)+1]|IMEI9C[(i*2)+1])%10;
}

  break;
 case 3:
  for(i=0;i<8;i++)
{
IMEICC[i*4]=((IMEI74[i*2]|dest[i*2])&IMEI9C[i*2]|IMEI9C[i*2])%10;
}

break;
 case 4:
 for(i=0;i<8;i++)
{

IMEICC[i*4]=((IMEI74[(i*2)+1]|dest[(i*2)+1])&IMEI9C[(i*2)+1]|IMEI9C[(i*2)+1])%10;
}

 break;
 case 5:
 for(i=0;i<8;i++)
{
IMEICC[i*4]=((IMEI74[i*2]|dest[i*2]|IMEI9C[i*2])&IMEI9C[i*2])%10;
}

 break;
 case 6:
 for(i=0;i<8;i++)
{
IMEICC[i*4]=((IMEI74[(i*2)+1]|dest[(i*2)+1]|IMEI9C[(i*2)+1])&IMEI9C[(i*2)+1])%10;
}

 break;
 case 7:
 for(i=0;i<8;i++)
{
  IMEICC[i*4]=((IMEI74[i*2]&dest[i*2])|IMEI9C[i*2]|IMEI9C[i*2])%10;
}

 break;
 case 8:
 for(i=0;i<8;i++)
{
IMEICC[i*4]=((IMEI74[(i*2)+1])&dest[(i*2)+1]|IMEI9C[(i*2)+1]|IMEI9C[(i*2)+1])%10;
}

 break;
 case 9:
 for(i=0;i<8;i++)
{
IMEICC[i*4]=(((IMEI74[i*2]&dest[i*2])|IMEI9C[i*2])&IMEI9C[i*2])%10;
}

 break;
 default:
  for(i=0;i<8;i++)
{
IMEICC[i*4]=(((IMEI74[(i*2)+1]&dest[(i*2)+1])|IMEI9C[(i*2)+1])&IMEI9C[(i*2)+1])%10;
}


}

//printf("CODE is ");
 for(i=0;i<8;i++)
  printf("%d",IMEICC[i*4]);


}
//---------------------------------------------------------------------------
-Klar ist das war ne Consolen Anwendung
-über printf erfolgt die Ausgabe

für den Rest brauch ich schon die ersten Denkanstöße

-sind das funktionen
z.B.
int IMEI_code(char* IMEI, char *std);
int main(int argc, char* argv[])

wen ja was gehört zu welcher funktion

sind das variablen wenn ja was und wie
-char IMEI_PATCH[17],IMEI74[17],IMEI9C[17];
-char IMEICC[33];
Marcel
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz