I started messing around with trying to reverse engineer compiled cpp files with GDB. I'm in a systems programming class at Harvard SEAS through the DCE program, and our assignment is to defuse a "binary bomb".
Got started working with some little "fun files" that were simple, like this:
0000000000001459 <_Z3funPKc>: 1459: f3 0f 1e fa endbr64 145d: 83 c8 ff or $0xffffffff,%eax 1460: 80 3f 00 cmpb $0x0,(%rdi) 1463: 74 04 je 1469 <_Z3funPKc+0x10> 1465: 0f be 47 01 movsbl 0x1(%rdi),%eax 1469: c3 retq 146a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
This program just requires the user inputs the value "0", and it will succeed. This example is extremely simplistic, but the bomb phases are much harder. I got the first phase defused though! Can't wait to keep working on it.