I am trying to solve crackme. But I have no experience with obfuscation and anti-debugging protection. Crackme just asks for flag and prompts it is incorrect. In debbuger it always crashes with segmentation fault:
[+] SIGNAL 11 errno=0 addr=0x00000000 code=1 si_pid=0 ret=0
Or in gdb:
Program received signal SIGSEGV, Segmentation fault.
0x08049094 in ?? ()
(gdb) x/i $pc
=> 0x8049094: mov (%eax),%eax
(gdb) Quit
(gdb)
Code has only one function entry0 and most of the code looks like a lot of actions with random address.
0x080483a0 1 6 sym.imp.sigaction
0x08048340 1 6 sym.imp.read
0x08048360 1 6 sym.imp.puts
0x08048380 1 6 sym.imp.strlen
0x08048390 1 6 sym.imp.setvbuf
0x08048350 1 6 sym.imp.printf
0x08048370 1 6 sym.imp.exit
0x080483bc 1 78628 entry0
And it uses unusual sigaction function. How to bypass such anti-debugging protection? And what to read about it?