@MilanPatnaik REVERSE ENGINEERING @MilanPatnaik AGENDA  Lab 0 : Reversing an ARM binary  Find the patch logic using GDB  Using Ghidra and Hopper to understand ARM binaries.  Lab 1: Reversing an ARM binary  Find the patch logic using GDB.  Create a patch and run in GDB. @MilanPatnaik REVERSING BINARY : LAB1 @MilanPatnaik REVERSE ENGINEERING : GDB  Reverse engineer binary ‘rev1’ to print “Yes, xx is correct” by giving any value in input. gcc -o rev1 rev1.c @MilanPatnaik REVERSE ENGINEERING : GDB  Step 1 : Learn about the binary type. @MilanPatnaik REVERSE ENGINEERING : GDB  Step 2 : Disassemble the binary @MilanPatnaik REVERSE ENGINEERING : GDB  Step 3 : Run the binary @MilanPatnaik REVERSE ENGINEERING : GDB  Step 4 : Inspect assembly in GDB/Ghidra/Hopper/BinaryNinja  Step 5 : Find the patch logic  Step 6 : Create a patched file @MilanPatnaik REVERSING BINARY : LAB2 @MilanPatnaik REVERSE ENGINEERING : GHIDRA  Reverse engineer binary ‘challenge1’ and understand the program logic.  Find the patch logic to print “You won !!” by giving any arbitrary value as input.  Create a patched binary using Ghidra/Hopper/BinaryNinja. Note: Ghidra Commands https://ghidra-sre.org/CheatSheet.html Patching Ghidra https://materials.rangeforce.com/tutorial/2020/04/12/Patching-Binaries/ @MilanPatnaik HOMEWORK 3 [EASY] (3 marks) Crack the binary rev2 and generate a patched version as rev2_patched. Explain the logic of the password by creating the code rev2.c. [NOT EASY] (2 marks). Crack the binary challenge2 by reverse engineering and explain a way to print "Access granted enjoy". [HARD](bonus 1 mark) Crack the binary challenge2 and generate a patched version as challenge2_patched to print "Access granted enjoy" on giving any arbitrary inputs. @MilanPatnaik Questions Reverse Engineering