'Disables NX for the ELF.
Zeroes out the ``PT_GNU_STACK`` program header ``p_type`` field.'

def disable_nx(self):

    PT_GNU_STACK = packing.p32(ENUM_P_TYPE['PT_GNU_STACK'])
    if (not self.executable):
        log.error('Can    only    make    stack    executable    with    executables')
    for (i, segment) in enumerate(self.iter_segments()):
        if (not segment.header.p_type):
            continue
        if ('GNU_STACK' not in segment.header.p_type):
            continue
        phoff = self.header.e_phoff
        phentsize = self.header.e_phentsize
        offset = (phoff + (phentsize * i))
        if (self.mmap[offset:(offset + 4)] == PT_GNU_STACK):
            self.mmap[offset:(offset + 4)] = ('\x00' * 4)
            self.save()
            return
    log.error('Could    not    find    PT_GNU_STACK,    stack    should    already    be    executable')
