Články x86asm.net/cs

Obfuskace strojového x86 kódu

Obfuskace kódu je oblíbenou technikou pro ztížení jeho analýzy nebo jeho rozpoznání na základě vzorů, což dnes hojně využívá například malware nebo softwarové protektory spustitelných souborů.

Úvod do UEFI

Na počiatku bol BIOS (predpokladám, že čitatelia vedia čo je BIOS a na čo slúži, takže to tu rozoberať nebudem). Bolo to v dobe, keď procesory bežali 16bitový kód, a počítač bol architekturálne obmedzený na 1MB RAM. Ako vývoj postupoval, prišli 32 a neskôr 64-bitové x86 procesory, pamäť pribúdala, a menil sa aj spôsob prístupu k nej. BIOS ale kvôli spätnej kompatibilite stále zostával rovnaký. Táto situácia bola veľmi nepríjemná, keďže tým boli jednak veľmi obmedzené možnosti BIOSu, a aj loader operačného systému musel začínať v 16bitovom kode, zvyčajne písanom v assembleri, ktorý musel zaviesť jadro systému len s využitím najzákladnejších služieb, ktoré BIOSy poskytovali už pred 20 rokmi. Nastoliť akýkoľvek nový štandard na tak veľmi pluralitnom trhu sa zdalo nemožné. Ale podarilo sa to!

OOP z pohľadu C/Asm programátora

Pre veľa programátorov nižších jazykov je objektovo orientované programovanie (OOP) záhadnou oblasťou plnou zdanlivo nezmyselných abstrakcii. V tomto článku postupne vystaviam a vysvetlím niektoré aspekty OOP z pohľadu programátora v C alebo Assembleri.

X86-64 podle manuálů Intel

Překvapuje mě, jak málo programátorů v asembleru při práci používá asi nejkvalitnější zdroj infomací - oficiální procesorové manuály, ať už od Intelu nebo AMD. Proto vzniknula tato příručka, která by vás měla krok za krokem provést spletitostí manuálů od Intelu při poznávání architektury x86-64.

Portabilní flat syntaxe x86

Čas od času se objevují úvahy o portabilním asembleru (což je sám o sobě protimluv). Jako programátorovi v asembleru x86 se tyto podivné úvahy nevyhnuly ani mě. Podobnost mezi x86-32 a x64 se prostě nedá přehlédnout a sama vybízí k hledání nějaké společné syntaxe, zde nazvané Portabilní flat syntaxe x86 (PFS).