09Hands-on
Bittioperaatiot
Keskitaso25MIN
Bittioperaatiot
Tähän asti olemme käsitelleet lukuja kokonaisuuksina: lisätty, vähennetty, vertailtu. Mutta prosessori osaa myös pureskella lukuja bitti bitiltä. Bittioperaatiot ovat ydintyökalu lippujen asettamiseen, oikeuksien tarkistamiseen, datan pakkaamiseen ja loputtomaan määrään matalan tason kikkoja, ja reverse engineeringissä törmäät niihin jatkuvasti.

Totuustaulut lyhyesti
Kolme pääoperaatiota toimivat bitti kerrallaan kahden luvun välillä:
AND: tulosbitti on 1 vain jos molemmat lähdebitit ovat 1. (1100 AND 1010 = 1000)OR: tulosbitti on 1 jos jompikumpi (tai molemmat) lähdebiteistä on 1. (1100 OR 1010 = 1110)XOR: tulosbitti on 1 jos lähdebitit ovat eri (toinen 1, toinen 0). (1100 XOR 1010 = 0110)
Kaikki kolme kirjoitetaan kahden operandin muodossa, aivan kuten ADD ja SUB:
X86
1AND EAX, EBX ; EAX = EAX AND EBX
2OR EAX, 0xFF ; EAX = EAX OR 0xFF
3XOR EAX, EAX ; EAX = 0 (tunnettu nollausnikse)1 / 6
Hakatemia Pro
Hakkeroinnin oppiminen alkaa tästä
Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.