Mastering Assembly Programming: From instruction set to kernel module with Intel processor

┬╖ Packt Publishing Ltd
рдИ-рдкреБрд╕реНрддрдХ
290
рдкреЗрдЬ

рдпрд╛ рдИ-рдкреБрд╕реНрддрдХрд╛рд╡рд┐рд╖рдпреА

Incorporate the assembly language routines in your high level language applicationsAbout This BookUnderstand 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 languagesWho This Book Is For

This book is for developers who would like to learn about Assembly language. Prior programming knowledge of C and C++ is assumed.

What You Will LearnObtain deeper understanding of the underlying platform Understand binary arithmetic and logic operationsCreate elegant and efficient code in Assembly languageUnderstand 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 processesIn Detail

The 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. It may be produced by compiling source code from a high-level programming language (such as C/C++) but can also be written from scratch. Assembly code can be converted to machine code using an assembler.

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. Finally we will cover patching existing code, either legacy code without sources or a running code in same or remote process.

Style and approach

This book takes a step-by-step, detailed approach to Comprehensively learning Assembly Programming.

рд▓реЗрдЦрдХрд╛рд╡рд┐рд╖рдпреА

Alexey Lyashko is an Assembly language addict, independent software reverse engineer, and consultant. At the very beginning of his career, when he was a malware researcher at Aladdin Knowledge Systems, he 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 a reverse engineering consultant with Irdeto's BD+ department, actively participating in content protection technology development. Since 2013, he has worked with several software development companies providing reverse engineering and low-level software development consultancy.

рдпрд╛ рдИ-рдкреБрд╕реНрддрдХрд▓рд╛ рд░реЗрдЯрд┐рдВрдЧ рджреНрдпрд╛

рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рд╡рд╛рдЯрддреЗ рддреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧрд╛.

рд╡рд╛рдЪрди рдорд╛рд╣рд┐рддреА

рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдЖрдгрд┐ рдЯреЕрдмрд▓реЗрдЯ
Android рдЖрдгрд┐ iPad/iPhone рд╕рд╛рдареА Google Play рдмреБрдХ рдЕтАНреЕрдк рдЗрдВрд╕реНтАНрдЯреЙрд▓ рдХрд░рд╛. рд╣реЗ рддреБрдордЪреНтАНрдпрд╛ рдЦрд╛рддреНтАНрдпрд╛рдиреЗ рдЖрдкреЛрдЖрдк рд╕рд┐рдВрдХ рд╣реЛрддреЗ рдЖрдгрд┐ рддреБрдореНтАНрд╣реА рдЬреЗрдереЗ рдХреБрдареЗ рдЕрд╕рд╛рд▓ рддреЗрдереВрди рддреБрдореНтАНрд╣рд╛рд▓рд╛ рдСрдирд▓рд╛рдЗрди рдХрд┐рдВрд╡рд╛ рдСрдлрд▓рд╛рдЗрди рд╡рд╛рдЪрдгреНтАНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ.
рд▓реЕрдкрдЯреЙрдк рдЖрдгрд┐ рдХреЙрдВрдкреНрдпреБрдЯрд░
рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдХрд╛рдБрдкреНрдпреБрдЯрд░рдЪрд╛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЭрд░ рд╡рд╛рдкрд░реВрди Google Play рд╡рд░ рдЦрд░реЗрджреА рдХреЗрд▓реЗрд▓реА рдСрдбрд┐рдУрдмреБрдХ рдРрдХреВ рд╢рдХрддрд╛.
рдИрд╡рд╛рдЪрдХ рдЖрдгрд┐ рдЗрддрд░ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕
Kobo eReaders рд╕рд╛рд░рдЦреНрдпрд╛ рдИ-рдЗрдВрдХ рдбрд┐рд╡реНтАНрд╣рд╛рдЗрд╕рд╡рд░ рд╡рд╛рдЪрдгреНтАНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдПрдЦрд╛рджреА рдлрд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реВрди рддреА рддреБрдордЪреНтАНрдпрд╛ рдбрд┐рд╡реНтАНрд╣рд╛рдЗрд╕рд╡рд░ рдЯреНрд░рд╛рдиреНрд╕рдлрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╕рдкреЛрд░реНрдЯ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ eReaders рд╡рд░ рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдиреНрд╕рдлрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдорджрдд рдХреЗрдВрджреНрд░ рдордзреАрд▓ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╕реВрдЪрдирд╛ рдлреЙрд▓реЛ рдХрд░рд╛.