» »

Božični IT Hekaton MojeDelo.com

Božični IT Hekaton MojeDelo.com

mujek ::

Slika je sestavljena iz 4x1 pikslov, različnih barv.
Jaz sem mnenja, da gre za nek barvni kod.
Nekaj sem jih že izločil.

mujek ::

Ni barvni kod :)
Hint:
Slika je iz 4x1 pikslov. Vsak piksel ima svojo barvno kodo.
Odgovor ima 12 znakov.

ZekoPower ::

mujek je izjavil:

Ni barvni kod :)
Hint:
Slika je iz 4x1 pikslov. Vsak piksel ima svojo barvno kodo.
Odgovor ima 12 znakov.

:) great advice!
Nebi pomislil, priznam. No, tako podajanje hintov je meni super. Da sam prideš do rešitve. Sam ne izhajam iz IT okolja, nimam predznanja ali delovnih izkušenj na tem področju. Me pa zadeva zelo zanima in sem vesel, ko sam pridem do odgovora.

sbawe64 ::

mujek
V katerem (grafičnem) programu se da piksle najti ? Slikar bo dovolj ?
Kakšen online ?

Pod barvno kodo je mišljen RGB spekter barv (barva s kodo med 0 in 255) ?
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

amacar ::

Jaz sem uporabil kar tega: https://redketchup.io/color-picker

sbawe64 ::

4 piksli, od leve proti desni, RGB koda barve
1) 111, 110, 108
2) 121, 111, 110
3) 101, 119, 111
4) 114, 108, 100

111110108121111110101119111114108100

Kaj naj sedaj počnem s tem ?

rgb to hex, nato hex to text.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

sbawe64 ::

Ne morem več urejati
https://www.webfx.com/web-design/hex-to...
https://www.duplichecker.com/hex-to-tex...
pri zadnji pretvorbi dajte # stran.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

amacar ::

Kaj je narobe z decimal v ascii?

sbawe64 ::

Prav nič, there's more than one way to skin a cat.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

MojPiki ::

Dejte no ne pisat rešitev in dajat hintov. Vsakič ko kaj napišete pomislite na to, da anonimnemu študentu trgate od ust! in to 3000€!

mujek ::

MojPiki je izjavil:

Dejte no ne pisat rešitev in dajat hintov.

Zdaj jih bom pisal še več!
Ali za katero nalogo manjka namig?

ZekoPower ::

amacar je izjavil:

Kaj je narobe z decimal v ascii?

Če bi bilo komu v pomoč... skoraj za vse naloge imam narejen write-up.

Amarath ::

ZekoPower je izjavil:

amacar je izjavil:

Kaj je narobe z decimal v ascii?

Če bi bilo komu v pomoč... skoraj za vse naloge imam narejen write-up.


Sure, da vidm kako drugi razmišlajo.
Link?

lp

sbawe64 ::

Naloga 12

12. PRVI NASLOV
Pridni škratje so Božičku postavili spletni strežnik. Bushy je naredil IP naslovni blok 167.199.170.82/27. Pepper sedaj ne najde kateri je lahko prvi IP, katerega lahko nastavi spletnemu strežniku. Ali mu lahko pomagaš?


Hint

IP Subnet Calculator

2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

McMallar ::

Ni ravno v povezavi s to temo ampak SANS ima tudi svoj Hackatlon, ce koga mika.
https://www.sans.org/mlp/holiday-hack-c...
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

sbawe64 ::

Naloga 13

13. ILCODE
Božiček je na svojem računalniku našel to funkcijo. Zanima ga kaj vrača ta funkcija. Mu lahko pomagaš?

https://yourfiles.cloud/uploads/9206a4d...

-----

What is IL Code
https://www.c-sharpcorner.com/blogs/wha...
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

sbawe64 ::

List of CIL instructions @ Wikipedia

razlaga cil .net kode
https://pastebin.com/ugFPpmKV

oz cs (pisal v notepad++)
https://yourfiles.cloud/uploads/e5bc8fb...


Če prav razumem naj bi "ret" (return) spodaj vrnil vrednost iz prejšnjega ukaza, ldloc.s 6
Mogoče...
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

sbawe64 ::

brfalse.s l1 // if value 0 jump to 11:
//preskoči nekaj kode
nop
        ldloc.1
        ldloc.3
        conv.i4
        mul
        conv.r8
        stloc.s 4
        nop
        br.s l2




push, pop & stack
https://afteracademy.com/blog/stack-and...
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

sbawe64 ::

Za
clt //Push 1 (of type int32) if value1 lower than value2, else push 0. ??

in
ceq //Push 1 (of type int32) if value1 equals value2, else push 0. ??


mi ni jasno, kaj primerja, kaj predstavlja value1 in value2 ?


edit:
https://learn.microsoft.com/en-us/dotne...
The stack transitional behavior, in sequential order, is:
value1 is pushed onto the stack.
value2 is pushed onto the stack.
value2 and value1 are popped from the stack; clt tests if value1 is less than value2.
If value1 is less than value2, 1 is pushed onto the stack; otherwise 0 is pushed onto the stack.
The clt instruction compares value1 and value2. If value1 is strictly less than value2, then an int32 value of 1 is pushed on the stack. Otherwise, an int32 value of 0 is pushed on the stack.



For floating-point number, clt/ceq will return 0 if the numbers are unordered (either or both are NaN). The infinite values are equal to themselves.



https://learn.microsoft.com/en-us/dotne...
The stack transitional behavior, in sequential order, is:
value1 is pushed onto the stack.
value2 is pushed onto the stack.
value2 and value1 are popped from the stack; value1 is compared to value2.
If value1 is equal to value2, 1 is pushed onto the stack; otherwise 0 is pushed onto the stack.
The ceq instruction compares value1 and value2. If value1 is equal to value2, then 1 (of type int32) is pushed on the stack. Otherwise 0 (of type int32) is pushed on the stack.





value1: 34/6 (type int32)
value2: 6
clt: ali je value1 manjši od value2 ? Da, push 1 (int32) onto stack

//nov
value1 postane 1
ldc.i4.0 //Push 0 onto the stack as int32.
value 2 //0
ceq //ali je value1 (1) enak value2(0); izvedi push 1) ? Ne ( izvedi push 0)
naredi push 0
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

sbawe64 ::

ret
https://learn.microsoft.com/en-us/dotne...

The stack transitional behavior, in sequential order, is:
The return value is popped from the callee evaluation stack.
The return value obtained in step 1 is pushed onto the caller evaluation stack.



6 ni pravilen odgovor.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

MojPiki ::

ne, ne bom ti pomagal ker drugače ne bom zmagal prav tako ne želim oškodovati drugih! :D
drugače hint: https://stackoverflow.com/questions/648...

amacar ::

https://www.tutorialspoint.com/compile_...
Skopiras funkcijo not in pozenes, simpl ko pasulj.

sbawe64 ::

Simpl ko pasulj ?

Assembling 'main.il' , no listing file, to exe --> 'main.exe'
main.il : Error : No entry point found.

***** FAILURE *****
2020 is new 1984
Corona World order

sbawe64 ::

skopiral il kodo v https://sharplab.io/ (il levo, C# desno)

results:
https://pastebin.com/BTiXgR1a



int num = 34;
int num2 = 6;
double num3 = 2.5;
double num4 = (double)num / (double)num2; // 34.0/6.0 = 5,666666666666667
if ((int)num4 >= num2) // 5,666666666666667 ni večje ali enako 6
{
return num2 * (int)num4; //6 * 34/6 = 34
}
return num ^ num2; //34* 6 = 204


34 ali 204 ni pravilen odgovor.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

SomeOne989 ::

sbawe64 je izjavil:

skopiral il kodo v https://sharplab.io/ (il levo, C# desno)

results:
https://pastebin.com/BTiXgR1a



int num = 34;
int num2 = 6;
double num3 = 2.5;
double num4 = (double)num / (double)num2; // 34.0/6.0 = 5,666666666666667
if ((int)num4 >= num2) // 5,666666666666667 ni večje ali enako 6
{
return num2 * (int)num4; //6 * 34/6 = 34
}
return num ^ num2; //34* 6 = 204


34 ali 204 ni pravilen odgovor.


return num ^ num2 -> 0010 0010 (34) XOR 0000 0110 (6) => 0010 0100

^ ni exponentni operator ampak znak za XOR.

Zgodovina sprememb…

sbawe64 ::

Naloga 14

14. NAUGHTY LIST MANAGER
Božiček je pozabil svoje geslo NaughtyListManagerja, mu ga lahko pomagaš najti?

https://yourfiles.cloud/uploads/79422de...
2020 is new 1984
Corona World order

Amarath ::

sbawe64 je izjavil:

skopiral il kodo v https://sharplab.io/ (il levo, C# desno)

results:
https://pastebin.com/BTiXgR1a



int num = 34;
int num2 = 6;
double num3 = 2.5;
double num4 = (double)num / (double)num2; // 34.0/6.0 = 5,666666666666667
if ((int)num4 >= num2) // 5,666666666666667 ni večje ali enako 6
{
return num2 * (int)num4; //6 * 34/6 = 34
}
return num ^ num2; //34* 6 = 204


34 ali 204 ni pravilen odgovor.


Odgovor je 36 .

num4 je prvo 5.66
ampak pol kasnej ga spremeniš v INTEGER. Ampak C# zadeve zaokrož navzgor tk da num=6.
Pol maš pa return num2 * num4 -> 6*6 = 36

SomeOne989 ::

Amarath je izjavil:



Odgovor je 36 .

num4 je prvo 5.66
ampak pol kasnej ga spremeniš v INTEGER. Ampak C# zadeve zaokrož navzgor tk da num=6.
Pol maš pa return num2 * num4 -> 6*6 = 36


To niti približno NE DRŽI. V C# (int)5.666 bo VEDNO 5, nikoli 6.
Rešitev je 36 ker 34 v bitih XOR 6 v bitih rata 36 v bitih. Če ne verjameš, pa vzemi kodo, pa jo po korakih debugiraj.
Če želiš v C# zaokrožit navzgor je potrebno za to uporabit Math.Ceiling

Zgodovina sprememb…

sbawe64 ::

Tale https://sharplab.io/ potem bolj slabo pretvori, kajti xor funkcije ni nikjer v pretvorbi.


Edit
popravek, sem videl da si dodal:

SomeOne989
return num ^ num2 -> 0010 0010 (34) XOR 0000 0110 (6) => 0010 0100

^ ni exponentni operator ampak znak za XOR.

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

xaneje4021 ::

Kdaj bojo rešitve? Pri kateri črki ste z brutoforcanjem inputa 8-)

Hint

amacar ::

brutforcam na 4 grafah, počasi bo :))

hint: xor inversed je xor

ZekoPower ::

amacar je izjavil:

brutforcam na 4 grafah, počasi bo :))

hint: xor inversed je xor

Zanimivo, da so imeli nekateri že zelo zgodaj rešitev. To majo mašine...:)

SomeOne989 ::

amacar je izjavil:

brutforcam na 4 grafah, počasi bo :))

hint: xor inversed je xor


:)) Mogoče lahko AWS pomaga, da ne prekuri grafičnih :))

sbawe64 ::

ILSpy noče decompajlat.


JetBrains decompiler output
https://pastebin.com/kmQiwBtB


glavna koda preverjanja gesla
if (string.IsNullOrEmpty(p))
return false;
string str1 = "JB1SNB1kaXodMEQo";
string str2 = "GqfAnI9NnC3L3yx1gNMn";
char[] chArray = new char[p.Length];
for (int index = 0; index < p.Length; ++index)
chArray[index] = (char) ((uint) p[index] ^ (uint) str2[index % str2.Length]);
string base64String = Convert.ToBase64String(Encoding.UTF8.GetBytes(chArray));
return str1 == base64String;
2020 is new 1984
Corona World order

SomeOne989 ::

sbawe64 je izjavil:

ILSpy noče decompajlat.


JetBrains decompiler output
https://pastebin.com/kmQiwBtB


glavna koda preverjanja gesla
if (string.IsNullOrEmpty(p))
return false;
string str1 = "JB1SNB1kaXodMEQo";
string str2 = "GqfAnI9NnC3L3yx1gNMn";
char[] chArray = new char[p.Length];
for (int index = 0; index < p.Length; ++index)
chArray[index] = (char) ((uint) p[index] ^ (uint) str2[index % str2.Length]);
string base64String = Convert.ToBase64String(Encoding.UTF8.GetBytes(chArray));
return str1 == base64String;


Še malo reverse inžiniringa pa bo ;)

sbawe64 ::

Če prav razumem to špageti kodo
chArray[index] = (char) ((uint) p[index] ^ (uint) str2[index % str2.Length]);


naloga išče string (aka geslo) (v base64 formatu), ki po xor operaciji z str2 "GqfAnI9NnC3L3yx1gNMn" vrne rezultat str1 "JB1SNB1kaXodMEQo" .

enačba:
geslo XOR GqfAnI9NnC3L3yx1gNMn = JB1SNB1kaXodMEQo

in str1-2 je dobro pretvoriti iz base64 v binary/decimal/hexadecimal obliko


S tem da je notri na koncu še modulo operator: % str2[index % str2.Length])
zakaj je notri ?
2020 is new 1984
Corona World order

sbawe64 ::

v binary obliki enačba
geslo XOR 00011010 10100111 11000000 10011100 10001111 01001101 10011100 00101101 11001011 11011111 00101100 01110101 10000000 11010011 00100111 = 00100100 00011101 01010010 00110100 00011101 01100100 01101001 01111010 00011101 00110000 01000100 00101000


za pretvorbo
https://cryptii.com/pipes/base64-to-bin...
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

sbawe64 ::

Glede na tole
https://math.stackexchange.com/question...
se da obračati xor enačbo.

Hmm, online xor calkulator pravi tole (windows calc da "prekratek" rezultat)
https://toolslick.com/math/bitwise/xor-...
vnesel oba str
001001000001110101010010001101000001110101100100011010010111101000011101001100000100010000101000
000110101010011111000000100111001000111101001101100111000010110111001011110111110010110001110101100000001101001100100111

->
000110101010011111000000101110001001001000011111101010000011000010101111101101100101011001101000101100001001011100001111


pretvoril (z/brez 3 vodilnih nul) v base64 https://cryptii.com/pipes/base64-to-bin..., vendar ni pravilen odgovor
Grrr.


Peš oba niza vrgel v Excel (vsak v svojo vrstico, vsak znak 1/0 v svojo celico), ustrezno poravnal krajšega https://stackoverflow.com/questions/315... , dobil ven isto z xor čez 4 pogoje obeh vrstic
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0
2020 is new 1984
Corona World order

amacar ::

Hint, da je xor inversed xor sem ze zgoraj podal. Koncno geslo drugace ni v base64.

MojPiki ::

Malo razmisli. Tukaj moreš it od zadnje vrstice proti prvi

var data = Convert.FromBase64String("JB1SNB1kaXodMEQo");
Console.WriteLine((char)(data[0] ^ (uint)'G'));

xaneje4021 ::

 sbawe64, božiček pošilja razglednico s snežinkami za vložen trud :)

sbawe64, božiček pošilja razglednico s snežinkami za vložen trud :)

Zgodovina sprememb…

sbawe64 ::

Naloga 15

15. SKRITA LJUBEZEN
Kolega Shamir je poslal sporočilo svoji večni ljubezni. Ker pa je to prepovedana ljubezen je moral sporočilo skriti. Ali lahko ugotoviš kaj ji je poslal?

https://yourfiles.cloud/uploads/66059ec...



----

Omenjeni gospod, SSS ali RSA.

In na strani 3 je nekaj sumljivega.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

MojPiki ::

Samo SS sem prebral. Je bilo dovolj da ne bom reševal te naloge.

ZekoPower ::

sbawe64 je izjavil:

Naloga 15

In na strani 3 je nekaj sumljivega.

Na 6. tudi :)

sbawe64 ::

Ter na strani 5, med prvim in drugim odstavkom

povzetek vsega sumljivega
https://pastebin.com/cv8NDdvx


#3
801539a72bc0c5a700ff2490f8e62be710b6053e3ede8859b44e7bcf364b12c0a7efab7576eef9a9528f2a5b7354c81689d794f74e59fb1f8b3eae60845259c2254b5ab3cfa7a342a85aaaac65d237f0134e861f6b812eb5eeae058500a4b3b767def9156b72d39f3742764497d5e6b49c5a0ce3d77d0c049620b15bdd4c5a76337


#6
80313d64c8e59fb6b66b218bc84b8268fc8d76d2dc3be5ddf4b8a4612db25c5e6d8f618d4188263fe833588af09f71863d5b7bebd65f2176d817817243bcee1e43a4b250f2b349d8c3b6c7c5b524ac5f8be8185c67ea9014c7629e495127b87d6af5be53a884adf9035bcd25bbab261063a6341e3e1ec7d73633dc1049e93d5f059


#5
802404c3e3255a11b694051b30ada99feaab74ace5d56b7446b6d9be1cd94c9ecc30cc483056d946bc2c777181cbba30b27ce9dc9f36dc3957592d12c50eb14c61afefd33be4ecda6dfc6a49d2f69dff9e1699730abbb8312e6c99cc57130d0a0b3b4546c4d678363239bdb12a2ec694f9ac3ebdeb63cd43a6d36b1b93956179338
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

sbawe64 ::

Tole vse nakazuje na rsa, public/private key ter encrypted text trojček.


Čeprav RSA Certificate Reader (EXTRACT VALUES) javi na ni rezultata, ko skopiram karkoli od te trojice v base64 obliki ali celo vse troje skupaj v
https://www.dcode.fr/rsa-cipher


tu sem generiral en sample, public/private key lepo prebere
https://merricx.github.io/enigmator/cip...


Vidim tudi da je tam private Key daljši kot public key (812 vs 216 znakov), medtem ko so ključi iz pdfja vsi dolgi po 259 znakov.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

amacar ::

Shamir share so, sej piše v navodilih, da je poslal kolega Shamir. https://iancoleman.io/shamir/

Zgodovina sprememb…

  • spremenil: amacar ()

sbawe64 ::

xaneje4021 je izjavil:

 sbawe64, božiček pošilja razglednico s snežinkami za vložen trud :)

sbawe64, božiček pošilja razglednico s snežinkami za vložen trud :)


Sem prepisal v kodo

https://pastebin.com/qT7yxvTy

-------
public smrekca ()
{
byte[] bozicek = new byte[] { 0x24, 0x1d, 0x52, 0x34, 0x1d, 0x64, 0x69, 0x7a, 0x1d, 0x30, 0x44, 0x28 };

byte[] jelencek = new byte[] { 0x47, 0x71, 0x66, 0x41, 0x6e, 0x49, 0x39, 0x4e, 0x6e, 0x43, 0x33, 0x4c };

char[] snezinka = new char[bozicek.Length];
for (int sani = 0 ; sani < bozicek.Length; sani ++)
snezinka[i] = (char)(bozicek[sani] ^ jelencek[sani]);
return snezinka ;
}
-------




0x: 24 1d 52 34 1d 64 69 7a 1d 30 44 28 .... $  R 4  d i z  0 D ( //R4diz0D(
//Od kod so ti znaki ?


0x: 47 71 66 41 6e 49 39 4e 6e 43 33 4c .... G q f A n I 9 N n C 3 L //GqfAnI9NnC3L iz str2 (ostanek niza: 3yx1gNMn).
//Zakaj samo ti znaki in ne vsi ?


Kaj sedaj ?
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

MojPiki ::

;(( rešitev sem ti napisal samo for loop moreš dat okoli 8-O

sbawe64 je izjavil:

xaneje4021 je izjavil:

 sbawe64, božiček pošilja razglednico s snežinkami za vložen trud :)

sbawe64, božiček pošilja razglednico s snežinkami za vložen trud :)


Sem prepisal v kodo

https://pastebin.com/qT7yxvTy

-------
public smrekca ()
{
byte[] bozicek = new byte[] { 0x24, 0x1d, 0x52, 0x34, 0x1d, 0x64, 0x69, 0x7a, 0x1d, 0x30, 0x44, 0x28 };

byte[] jelencek = new byte[] { 0x47, 0x71, 0x66, 0x41, 0x6e, 0x49, 0x39, 0x4e, 0x6e, 0x43, 0x33, 0x4c };

char[] snezinka = new char[bozicek.Length];
for (int sani = 0 ; sani < bozicek.Length; sani ++)
snezinka[i] = (char)(bozicek[sani] ^ jelencek[sani]);
return snezinka ;
}
-------




0x: 24 1d 52 34 1d 64 69 7a 1d 30 44 28 .... $  R 4  d i z  0 D ( //R4diz0D(
//Od kod so ti znaki ?


0x: 47 71 66 41 6e 49 39 4e 6e 43 33 4c .... G q f A n I 9 N n C 3 L //GqfAnI9NnC3L iz str2 (ostanek niza: 3yx1gNMn).
//Zakaj samo ti znaki in ne vsi ?


Kaj sedaj ?

sbawe64 ::

Se zelo lovim s tem C# ...

tole imam v VS 2019
https://pastebin.com/MTiLW7kC

in noče zagnati.
Program.cs(16,16,16,17): error CS1001: Identifier expected



Če dam
snezinka[i] (vrstica 16), je še več napak
Program.cs(16,14,16,15): error CS0103: The name 'i' does not exist in the current context
Program.cs(17,4,17,10): error CS0127: Since 'Program.Main()' returns void, a return keyword must not be followed by an object expression



Kje/kako si dobil
0x24, 0x1d, 0x52, 0x34, 0x1d, 0x64, 0x69, 0x7a, 0x1d, 0x30, 0x44, 0x28


Zakaj samo 12 znakov iz str2 ?
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Veliki virtualni IT HEKATON MojeDelo.com (strani: 1 2 3 )

Oddelek: Loža
12213960 (6232) sbawe64
»

Praznični IT hekaton MojeDelo 2021 (strani: 1 2 3 4 5 )

Oddelek: Loža
20020101 (11381) lex66
»

Davčne blagajne (strani: 1 2 3 424 25 26 27 )

Oddelek: Programiranje
1344332072 (72075) Macketina
»

MojeDelo.com praznični maratonski IT hekaton

Oddelek: Loža
463789 (1459) Pimoz
»

Web services - Neveljavni karakterji v XML

Oddelek: Programiranje
314127 (3239) boolsheat

Več podobnih tem