아랍어 해석불가.....

하나하나 뭐하는건지 주석을 달다가 55 E1...이부분부터 사용되는것만 해석하면서 했다.



00 00 00 00 55 E1 01 00 00 03 0D 0C 55 E2 00 00 00 00 F2 0C 33 BB 00 00 00 00 F2 DD BB 00 DE CC BB 00 00 00 00 01 DD BB 00 AD CC BB 00 00 00 00 01 DD BB 00 C0 CC BB 00 00 00 00 01 DD BB 00 DE CC BB 00 00 00 00 01 DD BB 00 DE CC BB 00 00 00 00 01 DD BB 00 AD CC BB 00 00 00 00 01 DD BB 00 C0 CC BB 00 00 00 00 01 DD BB 00 DE CC BB 00 00 00 00 01 DD BB 00 DE CC BB 00 00 00 00 01 DD BB 00 AD CC BB 00 00 00 00 01 DD BB 00 C0 CC BB 00 00 00 00 01 DD BB 00 DE CC BB 00 00 00 00 01 AA BB 00 00 00 00 F2 33 BB 01 00 00 00 AE AA BB 02 00 00 00 F3 33 BB 03 00 00 00 DA 66 AB 00 01 99 BB 00 00 02 F9 66 AB 02 03 99 BB 00 00 02 F9 AA BB 00 00 00 00 F4 33 BB 01 00 00 00 AE AA BB 02 00 00 00 F5 33 BB 03 00 00 00 BF 66 AB 00 01 99 BB 00 00 02 F9 66 AB 02 03 99 BB 00 00 02 F9 AA BB 00 00 00 00 F6 33 BB 01 00 00 00 AC AA BB 02 00 00 00 F7 33 BB 03 00 00 00 D6 66 AB 00 01 99 BB 00 00 02 F9 66 AB 02 03 99 BB 00 00 02 F9 AA BB 00 00 00 00 F8 33 BB 01 00 00 00 B6 AA BB 02 00 00 00 F9 33 BB 03 00 00 00 EE 66 AB 00 01 99 BB 00 00 02 F9 66 AB 02 03 99 BB 00 00 02 F9 AA BB 00 00 00 00 FA 33 BB 01 00 00 00 EE AA BB 02 00 00 00 FB 33 BB 03 00 00 00 C9 66 AB 00 01 99 BB 00 00 02 F9 66 AB 02 03 99 BB 00 00 02 F9 AA BB 00 00 00 00 FC 33 BB 01 00 00 00 F0 AA BB 02 00 00 00 FD 33 BB 03 00 00 00 A3 66 AB 00 01 99 BB 00 00 02 F9 66 AB 02 03 99 BB 00 00 02 F9 55 E1 01 00 00 03 09 04 55 E0 FF 55 E1 01 00 00 03 02 07 46 41 49 4C 45 44 0A 57 49 4E 0A 45 4E 54 45 52 20 50 41 53 53 20 3A 20 EE 00 00 00 00 00


대충 분석한 결과


write("ENTER PASS

read(0x0,input,0xc)


....

//reg[0]=0xf2

//data[reg[0]]=^data[0xde]

//reg[0]+=0x1

//data[reg[0]]^0xad


xor list

0xde

0xad

0xc0

0xde

0xde

0xad

0xc0

0xde

0xde

0xad

0xc0

0xde


for(i=0;i<0xc;i++)

input[i]^=xorlist[i]


cmp list

0xae

0xda

0xae

0xbf

0xac

0xd6

0xb6

0xee

0xee

0xc9

0xf0

0xa3

for(i=0;i<0xc;i++){

if(input[i]!=cmplist[i])

jmp failed;

}

write("WIN");

exit(0xff);

failed:

write("FAILED");





+ Recent posts