INNER CODE UNIT · Python

vs_off

stablyai/agent-slack · scripts/strip-macho-signature.py:52

        vs_off = linkedit_offset + 32  # offset of vmsize field
        old_filesize = struct.unpack_from("<Q", data, fs_off)[0]
        new_filesize = old_filesize - sig_datasize
        struct.pack_into("<Q", data, fs_off, new_filesize)
        # vmsize must cover filesize (page-aligned); round up to 16 KiB.
        page = 0x4000
        struct.pack_into("<Q", data, vs_off, (new_filesize + page - 1) & ~(page - 1))

    # Second pass: rebuild load commands without LC_CODE_SIGNATURE.
    offset = hdr_size
    keep = bytearray()
    for _ in range(ncmds):
        cmd, cmdsize = struct.unpack_from("<II", data, offset)
        if cmd != LC_CODE_SIGNATURE:
            keep.extend(data[offset : offset + cmdsize])
        offset += cmdsize

    # Rewrite load commands and zero leftover gap.

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…