improve parsing program header and implement ELF.search()