Reverse Engineering for Beginners
CHAPTER 46. VARIADIC FUNCTIONS CHAPTER 46. VARIADIC FUNCTIONS ; get pointer to the 2nd argument lea eax, DWORD PTR _fmt$[esp] pu ...
CHAPTER 47. STRINGS TRIMMING CHAPTER 47. STRINGS TRIMMING Chapter 47 Strings trimming A very common string processing task is to ...
CHAPTER 47. STRINGS TRIMMING CHAPTER 47. STRINGS TRIMMING The second part of for() (str_len>0 && (c=s[str_len-1])) is ...
CHAPTER 47. STRINGS TRIMMING CHAPTER 47. STRINGS TRIMMING ; RAX = current string length or rax, -1 label: inc rax cmp BYTE PTR [ ...
CHAPTER 47. STRINGS TRIMMING CHAPTER 47. STRINGS TRIMMING movzx eax, BYTE PTR [rax] ; AL=s[str_len-1] mov BYTE PTR [rbp-9], al ; ...
CHAPTER 47. STRINGS TRIMMING CHAPTER 47. STRINGS TRIMMING je .L12 cmp cl, 13 ; is it '\r'? je .L12 .L9: ; return "s" mov rax, rb ...
CHAPTER 47. STRINGS TRIMMING CHAPTER 47. STRINGS TRIMMING str x0, [x29,40] ; save X0 (or str_len-1) to local stack .L2: ldr x0, ...
CHAPTER 47. STRINGS TRIMMING CHAPTER 47. STRINGS TRIMMING beq .L12 ; jump to begin loop, if its' '\n' .L15: cmp w2, 13 ; is it ' ...
CHAPTER 47. STRINGS TRIMMING CHAPTER 47. STRINGS TRIMMING BNE |L0.38| ; jump to exit, if no |L0.20| SUBS r0,r0,#1 ; R0-- or str_ ...
CHAPTER 47. STRINGS TRIMMING CHAPTER 47. STRINGS TRIMMING ; jump to exit if loaded byte is zero: beqz $a0, exit ; decrement str_ ...
CHAPTER 48. TOUPPER() FUNCTION CHAPTER 48. TOUPPER() FUNCTION Chapter 48 toupper() function Another very popular function transf ...
CHAPTER 48. TOUPPER() FUNCTION CHAPTER 48. TOUPPER() FUNCTION 9 jg SHORT $LN2@toupper 10 movsx eax, BYTE PTR c$[rsp] 11 sub eax, ...
CHAPTER 48. TOUPPER() FUNCTION CHAPTER 48. TOUPPER() FUNCTION Thetmpvariable should be signed. This makes two subtraction operat ...
CHAPTER 48. TOUPPER() FUNCTION CHAPTER 48. TOUPPER() FUNCTION ldrb w0, [sp,15] sub w0, w0, #32 uxtb w0, w0 b .L3 .L2: ldrb w0, [ ...
CHAPTER 49. INCORRECTLY DISASSEMBLED CODE CHAPTER 49. INCORRECTLY DISASSEMBLED CODE Chapter 49 Incorrectly disassembled code Pra ...
CHAPTER 49. INCORRECTLY DISASSEMBLED CODE CHAPTER 49. INCORRECTLY DISASSEMBLED CODE call sub_407663 pop ecx test eax, eax jnz sh ...
CHAPTER 49. INCORRECTLY DISASSEMBLED CODE CHAPTER 49. INCORRECTLY DISASSEMBLED CODE pop ecx das hlt pop edx out 0B0h, al lodsb p ...
CHAPTER 49. INCORRECTLY DISASSEMBLED CODE CHAPTER 49. INCORRECTLY DISASSEMBLED CODE mov ds:93CA685DF98A90F9h, eax jnz short near ...
CHAPTER 49. INCORRECTLY DISASSEMBLED CODE CHAPTER 49. INCORRECTLY DISASSEMBLED CODE SXTB R7, R4 LDR R4, [R1,#0x4C] STR R4, [R4,R ...
CHAPTER 50. OBFUSCATION CHAPTER 50. OBFUSCATION Chapter 50 Obfuscation The obfuscation is an attempt to hide the code (or its me ...
«
22
23
24
25
26
27
28
29
30
31
»
Free download pdf