好几个问题,我想要删除ELFheader中的一些东西,要求不能影响got表,所以想知道
1.GOT表中的地址是怎么计算出来的?哪些段影响
2.GOT前24个字节不能存东西为什么?
3.在哪可以看到关于ELF文件最详细的解释,包括NOTE,GNU-XXXX,PROGBITS,HASH等等最详细的介绍。
ps:为什么提这个问题?
我发现删除PROGBITS段,也会影响GOT的内容,具体表现是IDA打开后GOT的位置都是0.
但是如果删除全部section headers,GOT的内容反而正常了.
跟我设想的不一样,我设想PLTGOT在dynamic中已经存在了,所以删除section headers应该不影响GOT,而现实是除非删除全部section headers,否则还是导致GOT内容变成0