x86 Assembly: kirjoita koodia, jota suoritin todella suorittaa
Assemblykieli on lähimpänä paljasta laitteistoa, johon voi päästä kirjoittamatta binäärikoodia käsin. Jokainen käsky vastaa suoraan suorittimen toimintoa — ei ajonaikaista ympäristöä, roskienkeruuta tai abstraktiota piilottamassa laitteiston toimintaa. Tällä opintopolulla x86 Assembly käydään läpi perusteista ydintason ohjelmointiin, mikä antaa perustan, jonka avulla kaikki kääntäjistä hyväksikäyttöjen kehittämiseen muuttuu ymmärrettäväksi.
Mitä opit
Aloitat rekistereistä, muistin rakenteesta ja tietotyypeistä ja siirryt sitten peruskäskyihin ja ohjausvuon hallintaan, pinon käsittelyyn sekä proseduurien kutsukäytäntöihin. Sen jälkeen opintopolulla käsitellään Assemblyn liittämistä C- ja C++-koodiin, järjestelmäkutsujen tekemistä, keskeytysten ja poikkeusten käsittelyä sekä liukuluku-yksiköitä ja SIMD-käskyjä. Edistyneillä kursseilla käsitellään virheenkorjausta ja käänteistekniikkaa, muistin suojausmekanismeja, virtualisointia, ydintason ajuriohjelmointia sekä suorituskyvyn optimointia matalalla tasolla, mukaan lukien hyväksikäyttötekniikat.
Oppimispolku
Yhteensä kaksitoista kurssia etenee tasoilta A2–C2. Ilmainen johdantokurssi opettaa x86-syntaksin ja ajattelumallin perusteet. B1- ja B2-kurssit rakentavat käytännön ytimen: rekisterit, ohjausvuon, pinon ja proseduurit. Sen jälkeen opintopolku syvenee C1-tasolle viiden kurssin avulla, joissa käsitellään C/C++-yhteentoimivuutta, järjestelmäkutsuja, keskeytyksiä, SIMD-käskyjä ja käänteistekniikkaa. Kaksi C2-kurssia — Muistin suojaus ja virtualisointi sekä Ydintason ohjelmointi ja ajurit — edeltävät viimeistä kurssia Suorituskyvyn optimointi ja hyväksikäytöt, joka kokoaa yhteen kaiken välimuistin toiminnasta tietoturvan kannalta merkityksellisiin matalan tason tekniikoihin.
Näin se toimii
Jokainen kurssi on jaettu lyhyisiin, keskittyneisiin oppitunteihin, jotka suoritat sisäänrakennetussa koodieditorissa reaaliaikaisen palautteen avulla. Saat käyttöösi AI-tutorin, kun jäät jumiin käskyn koodaukseen tai selittämättömään segfault-virheeseen.