Nagranie z wczorajszego rozwiązywania zadań z picoCTF 2014:
https://www.youtube.com/watch?v=7j62lUTpnZo
Ostatecznie zadania były zdecydowanie zbyt proste, a odblokować jakieś ciekawsze udało się dopiero pod koniec streama. Prawdopodobnie kolejny stream (za 2 tygodnie) będzie kontynuacją picoCTF, choć tym razem z ciekawszymi (trudniejszymi) zadaniami.
#security #bezpieczenstwo #reverseengineering i trochę #programowanie (mieszanka #python #assembler #jezykc i #cpp / #cplusplus
https://www.youtube.com/watch?v=7j62lUTpnZo
Ostatecznie zadania były zdecydowanie zbyt proste, a odblokować jakieś ciekawsze udało się dopiero pod koniec streama. Prawdopodobnie kolejny stream (za 2 tygodnie) będzie kontynuacją picoCTF, choć tym razem z ciekawszymi (trudniejszymi) zadaniami.
#security #bezpieczenstwo #reverseengineering i trochę #programowanie (mieszanka #python #assembler #jezykc i #cpp / #cplusplus

























mam załóżmy 6 opcji : a, b, c, d, e, f
aby pierwszą porównać z drugą używam - if(a==b) {costam}
co zrobić żeby pierwszą porównać odrazu za jednym zamachem z pięcioma pozostałymi?
A jak w jednym ifie to jak kolega wyżej sugeruje - if ( a == b && a == c && a == d ... ). Są pewne różnice pomiędzy operatorem & i &&, w przypadku warunków logicznych korzysta się raczej z &&.
Przykładowa różnica:
CPP interpretuje 0 jako fałsz, a każdą niezerową wartość jako prawdę. Czyli przykładowo 1 && 2 da w wyniku wartość true (semantycznie 1).
Natomiast 1 & 2 da wartość 0 (semantycznie false), gdyż jest to operator bitowy - czyli porównuje (przykładowo, przy zmiennych jednobajtowych) w systemie dwójkowym 00000010 (czyli 2) i 00000001 (czyli 1). Jak dokładnie działa możesz