Limit search to available items
Book Cover
E-book
Author Domas, Stephanie

Title X86 Software Reverse-Engineering, Cracking, and Counter-Measures
Published Newark : John Wiley & Sons, Incorporated, 2024

Copies

Description 1 online resource (317 p.)
Series Tech Today Series
Tech Today Series
Contents Cover -- Title Page -- Copyright Page -- About the Authors -- About the Technical Writer -- About the Technical Editor -- Contents at a Glance -- Contents -- Introduction -- Who Should Read This Book -- What to Expect from This Book -- History -- Legal -- Chapter 1 Decompilation and Architecture -- Decompilation -- When Is Decompilation Useful? -- Decompiling JIT Programming Languages -- Defending JIT Languages -- Lab 1: Decompiling -- Skills to Practice -- Takeaways -- Architecture -- Computer Architecture -- The Central Processing Unit -- Bridges and Peripherals -- Memory and Registers
Assembly -- Introduction to Machine Code -- From Machine Code to Assembly -- Instruction Set Architectures and Microarchitectures -- RISC vs. CISC Computer Architectures -- Summary -- Chapter 2 x86 Assembly: Data, Modes, Registers, and Memory Access -- Introduction to x86 -- Assembly Syntax -- Data Representation -- Number System Bases -- Bits, Bytes, and Words -- Working with Binary Values -- Zero-Extension and Readability -- Bit and Byte Significance -- Endianness -- Registers -- Registers in x86 -- x86 General-Purpose Registers -- Special-Purpose Registers -- Working with Registers
64-Bit Registers -- Memory Access -- Specifying Data Lengths -- Addressing Modes -- Absolute Addressing -- Example: Global Variables -- Indirect Addressing -- Example: Pointers -- Base + Displacement Addressing -- Indexed Addressing -- Example: Arrays -- Based-Index Addressing -- Example: Structs -- Summary -- Chapter 3 x86 Assembly: Instructions -- x86 Instruction Format -- x86 Instructions -- mov -- Hands-on Example -- inc, dec -- add, sub -- mul -- div -- Hands-on Example -- and, or, xor -- not -- shr, shl -- sar, sal -- nop -- lea -- Hands-on Example -- Putting It All Together
Common x86 Instruction Mistakes -- When In Doubt, Look It Up -- Summary -- Chapter 4 Building and Running Assembly Programs -- Output -- Controlling Pins -- Tedium -- System Calls -- sys_write -- sys_exit -- Printing a String -- Building and Linking -- Building and Linking in Linux -- Writing an Assembly Program -- Sections and Stat -- Labels -- Constants -- Global Data -- Strings -- times -- objdump -- Lab: Hello World -- Skills -- Takeaways -- ASCII -- Identifying ASCII Strings -- ASCII Manipulation Tip -- Summary -- Chapter 5 Understanding Condition Codes -- Condition Codes -- eflags
Carry Flag -- Zero Flag -- Sign Flag -- Overflow Flag -- Other Status Flags -- Operations Affecting Status Flags -- add -- sub -- cmp -- test -- Summary -- Chapter 6 Analyzing and Debugging Assembly Code -- Binary Analysis -- Static and Dynamic Analysis -- Debugging -- Breakpoints -- Software Breakpoints -- Hardware Breakpoints -- gdb -- Debugging with gdb -- Launching gdb -- Disassembly with gdb -- Starting and Stopping Code in gdb -- gdb Breakpoints -- gdb info Commands -- Stepping Through Instructions -- Examining Memory -- Segmentation Faults -- Lab: Shark Sim 3000 -- Skills -- Takeaways
Notes Description based upon print version of record
Tuning Out the Noise
Form Electronic book
Author Domas, Christopher
ISBN 9781394199907
1394199902