4.1. Windows CE Architecture4.1.1. Processors4.1.2. Kernel, Processes, and Threads4.1.3. Memory Architecture4.1.4. Graphics, Windowing, and Event Subsystem (GWES)4.2. CE Reverse Engineering Fundamentals4.2.1. The ARM Processor4.2.2. ARM Opcodes4.2.2.1. Branch (B)4.2.2.2. Branch with Link (BL)4.2.2.3. Move (MOV)4.2.2.4. Compare (CMP)4.2.2.5. Load/Store (LDR/STR)4.2.2.6. Shifting4.3. Practical CE Reverse Engineering4.3.1. Hello, World!4.3.2. CE Cracking Techniques4.3.2.1. Predictable system calls4.3.2.2. strlen and wcslen4.3.2.3. strcmp and CMP4.3.2.4. NOP sliding4.3.3. Disassembling a CE Program4.3.3.1. Loading the file4.3.4. Microsoft’s eMbedded Visual Tools4.3.5. Using the MVT4.3.6. Experiencing the MVC Environment4.3.7. Reverse Engineering test.exe4.4. Reverse Engineering serial.exe4.4.1. Overview4.4.1.1. Loading the target4.4.1.2. Debugging serial.exe4.4.2. Step-Through Investigation4.4.3. Abusing the System4.4.4. The Cracks4.4.4.1. Crack 1: Sleight of hand4.4.4.2. Crack 2: The NOP slide4.4.4.3. Crack 3: Preventive maintenance4.5. References