BoT Fehleranalyse

02/12/2008 14:28 666me#166
kann man damit jetz schon was anfangen ? ^^"
vielen dank für deine arbeit baka ! <3
02/12/2008 14:31 BakaBug#167
Quote:
Originally Posted by 666me View Post
kann man damit jetz schon was anfangen ? ^^"
vielen dank für deine arbeit baka ! <3
Naja du kannst DAT decoden..
reintheoretisch auch encoden..

Das einzige problem ist:

Decrypt KEY != Encrypt KEY

Deswegen muss ich aus dem Decrypt Key einen Encrypt Key generieren.

Deswegen analysiere ich die source jetzt genauer..
Was ich da überhautpt mache..

Und machs leserliche ..

Also ich hab schon im kopf wie ich den key generiern muss
Aber naja xD ... erst mal umschreiben alles..
02/12/2008 14:47 BakaBug#168
Quote:
Originally Posted by sb0t View Post
Encrypt : 1 2 3 4 | 5 6 7 8 | 9 10 11 12 | 13 14 15 16|17 18 19 20 | 21 22 23 24
Decrypt : 4 3 2 1 | 8 7 6 5 | 12 11 10 9|16 15 14 13 |20 19 18 17 | 24 23 22 21

is das korrekt so? sprich ich hab ne zahl die ich encrypten will teile diese
durch vier und schau mir die genau position an und addiere dementsprechend?
Naja es ist mehr so xD:
01 02 03 04 | 05 06 07 08 | 09 10 11 12 //encode key
09 10 11 12 | 05 06 07 08 | 01 02 03 04 //decode key

Also in 4 bytes blöcken wird gespiegelt... hmhm (naja ich find irgendwie die wörter dafür net xD)

Ah genau .. und ich weiß auch net obs wircklich so ist xD
Ich glaubs halt im moment.. analysiere den source ja noch .. xD
(ist ja nur von dem asm zam geschrieben..)
02/12/2008 15:33 BakaBug#169
Analyse von Encrypt :
Alt:
PHP Code:
__int16 __cdecl EnCryptIt(char *dest, char *source, char *UNKNOW)
{
  
char *v4; // [sp+24h] [bp-4h]@1
  
int v5; // [sp+14h] [bp-14h]@5
  
int v6; // [sp+18h] [bp-10h]@5
  
int v7; // [sp+1Ch] [bp-Ch]@5
  
int v8; // [sp+20h] [bp-8h]@5
  
signed int v9; // [sp+0h] [bp-28h]@5
  
int v10; // [sp+4h] [bp-24h]@9
  
int v11; // [sp+8h] [bp-20h]@9
  
int v12; // [sp+Ch] [bp-1Ch]@9
  
int v13; // [sp+10h] [bp-18h]@9
  
  
v4 = UNKNOW; //here it set aeskey1
  //if ( !(*(UNKNOW + 520) & 1) )
  // return 0;
  
if ( !(*(UNKNOW + 520) & 1) ) //&1 =  for encrypt , &2 = for decrypr
  
{
    
printf("EnCryptIt: He calls UpdateUnknow .. wouldn't possible normalyn");
    
UpdateUNKNOW(UNKNOW);
    *(
UNKNOW + 520) = (unsigned __int8)*(UNKNOW + 520) ^ 3;
  }
  
v5 = *(_DWORD *)v4 ^ *(_DWORD *)dest;
  
v6 = *((_DWORD *)v4 + 1) ^ *((_DWORD *)dest + 1);
  
v7 = *((_DWORD *)v4 + 2) ^ *((_DWORD *)dest + 2);
  
v8 = *((_DWORD *)v4 + 3) ^ *((_DWORD *)dest + 3);
  
v4 += 4 * (4 * *((_DWORD *)UNKNOW + 129) - 36); //here it sets the aeskey2
  
v9 = *((_DWORD *)UNKNOW + 129);
  if ( 
v9 != 10 )
  {
    if ( 
v9 != 12 )
    {
      if ( 
v9 != 14 )
        goto 
LABEL_12;
      
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,-16);
      
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,-15);
      
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,-14);
      
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,-13);
      
      
v5  = FifeTimesXOR(something13, v13, something14, v12, something15, v11, something16, v10, v4,-12);
      
v6  = FifeTimesXOR(something13, v10, something14, v13, something15, v12, something16, v11, v4,-11);
      
v7  = FifeTimesXOR(something13, v11, something14, v10, something15, v13, something16, v12, v4,-10);
      
v8  = FifeTimesXOR(something13, v12, something14, v11, something15, v10, something16, v13, v4,-9);
    }
    
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,-8);
    
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,-7);
    
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,-6);
    
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,-5);

    
v5  = FifeTimesXOR(something13, v13, something14, v12, something15, v11, something16, v10, v4,-4);
    
v6  = FifeTimesXOR(something13, v10, something14, v13, something15, v12, something16, v11, v4,-3);
    
v7  = FifeTimesXOR(something13, v11, something14, v10, something15, v13, something16, v12, v4,-2);
    
v8  = FifeTimesXOR(something13, v12, something14, v11, something15, v10, something16, v13, v4,-1);
  }
  
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,0);
  
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,1);
  
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,2);
  
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,3);

  
v5  = FifeTimesXOR(something13, v13, something14, v12, something15, v11, something16, v10, v4,4);
  
v6  = FifeTimesXOR(something13, v10, something14, v13, something15, v12, something16, v11, v4,5);
  
v7  = FifeTimesXOR(something13, v11, something14, v10, something15, v13, something16, v12, v4,6);
  
v8  = FifeTimesXOR(something13, v12, something14, v11, something15, v10, something16, v13, v4,7);

  
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,8);
  
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,9);
  
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,10);
  
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,11);

  
v5  = FifeTimesXOR(something13, v13, something14, v12, something15, v11, something16, v10, v4,12);
  
v6  = FifeTimesXOR(something13, v10, something14, v13, something15, v12, something16, v11, v4,13);
  
v7  = FifeTimesXOR(something13, v11, something14, v10, something15, v13, something16, v12, v4,14);
  
v8  = FifeTimesXOR(something13, v12, something14, v11, something15, v10, something16, v13, v4,15);

  
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,16);
  
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,17);
  
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,18);
  
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,19);

  
v5  = FifeTimesXOR(something13, v13, something14, v12, something15, v11, something16, v10, v4,20);
  
v6  = FifeTimesXOR(something13, v10, something14, v13, something15, v12, something16, v11, v4,21);
  
v7  = FifeTimesXOR(something13, v11, something14, v10, something15, v13, something16, v12, v4,22);
  
v8  = FifeTimesXOR(something13, v12, something14, v11, something15, v10, something16, v13, v4,23);

  
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,24);
  
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,25);
  
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,26);
  
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,27);

  
v5  = FifeTimesXOR(something13, v13, something14, v12, something15, v11, something16, v10, v4,28);
  
v6  = FifeTimesXOR(something13, v10, something14, v13, something15, v12, something16, v11, v4,29);
  
v7  = FifeTimesXOR(something13, v11, something14, v10, something15, v13, something16, v12, v4,30);
  
v8  = FifeTimesXOR(something13, v12, something14, v11, something15, v10, something16, v13, v4,31);

  
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,32);
  
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,33);
  
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,34);
  
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,35);

  
v5  = FifeTimesXOR(something17, v13, something18, v12, something19, v11, something20, v10, v4,36);
  
v6  = FifeTimesXOR(something17, v10, something18, v13, something19, v12, something20, v11, v4,37);
  
v7  = FifeTimesXOR(something17, v11, something18, v10, something19, v13, something20, v12, v4,38);
  
v8  = FifeTimesXOR(something17, v12, something18, v11, something19, v10, something20, v13, v4,39);
LABEL_12:
  *(
_DWORD *)source = v5;
  *((
_DWORD *)source + 1) = v6;
  *((
_DWORD *)source + 2) = v7;
  *((
_DWORD *)source + 3) = v8;
  return 
1;
} 
Neu:
PHP Code:
__int16 __cdecl EnCryptIt(char *dest, char *source, char *UNKNOW)
{
  
char *v4; // [sp+24h] [bp-4h]@1
  
int v5; // [sp+14h] [bp-14h]@5
  
int v6; // [sp+18h] [bp-10h]@5
  
int v7; // [sp+1Ch] [bp-Ch]@5
  
int v8; // [sp+20h] [bp-8h]@5
  
signed int v9; // [sp+0h] [bp-28h]@5
  
int v10; // [sp+4h] [bp-24h]@9
  
int v11; // [sp+8h] [bp-20h]@9
  
int v12; // [sp+Ch] [bp-1Ch]@9
  
int v13; // [sp+10h] [bp-18h]@9
  
  
v4 = UNKNOW; //here it set aeskey1
  //if ( !(*(UNKNOW + 520) & 1) )
  // return 0;
  
if ( !(*(UNKNOW + 520) & 1) ) //&1 =  for encrypt , &2 = for decrypr
  
{
    
printf("EnCryptIt: He calls UpdateUnknow .. wouldn't possible normalyn");
    
UpdateUNKNOW(UNKNOW);
    *(
UNKNOW + 520) = (unsigned __int8)*(UNKNOW + 520) ^ 3;
  }
  
v5 = *(_DWORD *)v4 ^ *(_DWORD *)dest;
  
v6 = *((_DWORD *)v4 + 1) ^ *((_DWORD *)dest + 1);
  
v7 = *((_DWORD *)v4 + 2) ^ *((_DWORD *)dest + 2);
  
v8 = *((_DWORD *)v4 + 3) ^ *((_DWORD *)dest + 3);
  
v4 += 4 * (4 * *((_DWORD *)UNKNOW + 129) - 36); //here it sets the aeskey2
  
v9 = *((_DWORD *)UNKNOW + 129);
  if ( 
v9 != 10 )
  {
    if ( 
v9 != 12 )
    {
      if ( 
v9 != 14 )
        goto 
LABEL_12;
      
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,-16);
      
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,-15);
      
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,-14);
      
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,-13);
      
      
v5  = FifeTimesXOR(something13, v13, something14, v12, something15, v11, something16, v10, v4,-12);
      
v6  = FifeTimesXOR(something13, v10, something14, v13, something15, v12, something16, v11, v4,-11);
      
v7  = FifeTimesXOR(something13, v11, something14, v10, something15, v13, something16, v12, v4,-10);
      
v8  = FifeTimesXOR(something13, v12, something14, v11, something15, v10, something16, v13, v4,-9);
    }
    
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,-8);
    
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,-7);
    
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,-6);
    
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,-5);

    
v5  = FifeTimesXOR(something13, v13, something14, v12, something15, v11, something16, v10, v4,-4);
    
v6  = FifeTimesXOR(something13, v10, something14, v13, something15, v12, something16, v11, v4,-3);
    
v7  = FifeTimesXOR(something13, v11, something14, v10, something15, v13, something16, v12, v4,-2);
    
v8  = FifeTimesXOR(something13, v12, something14, v11, something15, v10, something16, v13, v4,-1);
  }
  
int i;
  for (
i=0;i<4;i++)
  {
    
/* PART 1: */
    
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,i*4+0);
    
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,i*4+1);
    
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,i*4+2);
    
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,i*4+3);

    
/* PART 2: */
    
v5  = FifeTimesXOR(something13, v13, something14, v12, something15, v11, something16, v10, v4,i*4+4);
    
v6  = FifeTimesXOR(something13, v10, something14, v13, something15, v12, something16, v11, v4,i*4+5);
    
v7  = FifeTimesXOR(something13, v11, something14, v10, something15, v13, something16, v12, v4,i*4+6);
    
v8  = FifeTimesXOR(something13, v12, something14, v11, something15, v10, something16, v13, v4,i*4+7);
  }
  
/* PART x: */
  
v10 = FifeTimesXOR(something13, v8, something14, v7, something15, v6, something16, v5, v4 ,32);
  
v11 = FifeTimesXOR(something13, v5, something14, v8, something15, v7, something16, v6, v4 ,33);
  
v12 = FifeTimesXOR(something13, v6, something14, v5, something15, v8, something16, v7, v4 ,34);
  
v13 = FifeTimesXOR(something13, v7, something14, v6, something15, v5, something16, v8, v4 ,35);

  
/* PART last: */
  
v5  = FifeTimesXOR(something17, v13, something18, v12, something19, v11, something20, v10, v4,36);
  
v6  = FifeTimesXOR(something17, v10, something18, v13, something19, v12, something20, v11, v4,37);
  
v7  = FifeTimesXOR(something17, v11, something18, v10, something19, v13, something20, v12, v4,38);
  
v8  = FifeTimesXOR(something17, v12, something18, v11, something19, v10, something20, v13, v4,39);
LABEL_12:
  *(
_DWORD *)source = v5;
  *((
_DWORD *)source + 1) = v6;
  *((
_DWORD *)source + 2) = v7;
  *((
_DWORD *)source + 3) = v8;
  return 
1;
} 
Nett oder xD schon mal ein bissal kürzer und leserlicher ..
Ich könnte noch nen loop reinhauen aber ... zufaul xD
Sonst wirds wieder zu unleserlich ~.~
02/12/2008 15:48 cRe4TiNe#170
Für mich steht da :
int bla bahnhof*//[sp+72 ch haha rofl low owned]*@5

4=bla + bahn = bahnhof *4

usw xD

Aber nice was auch immer das wird xD
Würde dir SEHR gern helfen aber ich bin zu dumm für C ^^
Mein buch überfordert mich selbst :P
02/12/2008 18:30 rEdoX#171
Haste aber glueck das kal in c++ geschrieben ist ;]
02/14/2008 11:15 mud0nja#172
can u say on english? :S
02/14/2008 15:14 BakaBug#173
Neuste CryptKalOnline.cpp

[Only registered and activated users can see links. Click Here To Register...]
02/14/2008 15:19 666me#174
danke =)
02/14/2008 15:45 BakaBug#175
Das ganze zeugs ist mir zu crazy.. ich zeichne mal graphisch auf was da eigendlich passiert ~.~
02/14/2008 17:29 BakaBug#176
Naja fast fertig:
[Only registered and activated users can see links. Click Here To Register...]
02/15/2008 21:41 sezai120#177
habe ne frage bitte schnell antworten wie bekomm ich schnell geld?
02/15/2008 22:02 mud0nja#178
baka what's that?
02/15/2008 22:11 Mahatma#179
Quote:
Originally Posted by mud0nja View Post
baka what's that?
bann pl0x

Quote:
Originally Posted by sezai120 View Post
habe ne frage bitte schnell antworten wie bekomm ich schnell geld?
bann plox!


obwhol mud0nja's frage diesmal schon etwas sinnvoller is als die vorigen postst...(sie/er kann kein deutsch also isses ein bisschen schwer das zu verstehen)
sry, mud0nja, but it's difficult to explain in english

Greeeeeeeeetz
Mahatma
02/15/2008 22:17 mud0nja#180
lol so how do you think i'm gonna know if nobody can explain me?? and why u wanna to ban me if i dont speak german