start) goal is to find and break at the most obvious
entry point available in the binary. Since the binary will start running, some
PLT entries will also be solved, making easier further debugging.
It will perform the following actions:
- Look up a
mainsymbol. If found, set a temporary breakpoint and go;
- Otherwise, it will look up for
__libc_start_main. If found, set a temporary breakpoint and go;
- Last case, it will get the entry point from the ELF header, set a breakpoint and run. This case should never fail if the ELF binary has a valid structure.