Mastering Assembly Programming

Key FeaturesUnderstand the Assembly programming concepts and the benefits of examining the AL codes generated from high level languagesLearn to incorporate the assembly language routines in your high level language applicationsUnderstand how a CPU works when programming in high level languagesBook DescriptionThe Assembly language is the lowest level human readable programming language on any platform. Knowing the way things are on the Assembly level will help developers design their code in a much more elegant and efficient way. The first section of the book starts with setting up the development environment on Windows and Linux, mentioning most common toolchains. The reader is led through the basic structure of CPU and memory, and is presented the most important Assembly instructions through examples for both Windows and Linux, 32 and 64 bits. Then the reader would understand how high level languages are translated into Assembly and then compiled into object code. We will then show the privileged instructions by writing a bootloader and a tiny kernel. Finally we will cover patching existing code, either legacy code without sources or a running code in same or remote process.What you will learnObtain deeper understanding of the underlying platformUnderstand binary arithmetic and logic operationsCreate elegant and efficient code in Assembly languageUnderstand how to correctly use inline AssemblyUnderstand how to link Assembly code to outer worldObtain in-depth understanding of relevant internal mechanisms of Intel CPUWrite stable, efficient and elegant patches for running processesAbout the AuthorAlexey Lyashko is an Assembly language addicted independent software reverse engineering and consultant. In the very beginning of his career, being a malware researcher at Aladdin Knowledge Systems, Alexey invented and developed a generic code recognition method known as HOFA™. After spending a few years in the anti-malware industry and gaining sufficient experience in low level development and reverse engineering, Alexey switched to content protection and worked as reverse engineering consultant with Irdeto’s BD+ department actively participating in content protection technology development.Since 2013, Alexey is working with several software development companies providing reverse engineering and low level software development consultancy.

Author: Alexey Lyashko

Learn more