Okay next, let's solve the 3rd challenge Don't forget to run it first so we know how the program work ok so the program greet us with some kind of hex value that I expect it was some memory address inside the program. When we enter some strings it doesn't give us anything. let's load our binary to Ghidra and when I dump all the functions the only functions that caught my eyes are main and echo. The main function doesn't have any particularly interesting function so lets just to the echo function. Notice that there is gets function again and we should have the ability to cause a buffer overflow in the program before we start to do some fuzzing, load the binary to Ghidra so we have a more depth understanding of the code. hmmm, notice that the printed address is the address of the variable that stored our input. I assume we should use that address to place our shellcode but we will get into that later. create a pattern so we know how ...
Talk about Binary Analysis and Android Mobile security | I Create THINGS that Break THINGS :D