man/text
man · Metin İşleme

$ segedit

Bölüm 1 · Metin İşleme

nesne dosyalarından bölümleri ayıklama ve değiştirme

Özet

       segedit input_file [-extract seg_name sect_name data_file] ...
       segedit input_file [-replace seg_name sect_name data_file] ... -output output_file

Açıklama

segedit, input_file dosyasından adı belirtilen bölümleri ayıklar veya değiştirir. Bölümler ayıklanırken, segedit istenen her bir bölümün içeriğini data_file dosyasına yazar. Bölümler değiştirilirken, segedit, input_file dosyasından ve data_file dosyasından alınan istenen yedek bölüm içeriğinden oluşan yeni bir output_file dosyası yazar. Segment ve bölüm adları, -sectcreate seçeneğiyle ld(1) komutuna verilenlerle aynıdır. Bir nesne dosyasının segment ve bölüm adları, otool(1) komutunun -l seçeneği ile incelenebilir. Yalnızca kendilerine veya kendilerinden yeniden konumlandırma (relocation) yapılmayan segmentlerdeki bölümler (yani SG_NORELOC bayrağı ile işaretlenmiş segmentler) değiştirilebilir, ancak tüm bölümler ayıklanabilir.

segedit(1) seçenekleri:

-extract seg_name sect_name data_file Segment ve bölüm adlarıyla belirtilen her bir bölümü ayıklar ve içeriği belirtilen data_file dosyasına yerleştirir. Çıktı dosyası `-' ise, bölüm içeriği standart çıktıya yazılır.

-replace seg_name sect_name data_file Segment ve bölüm adlarıyla belirtilen her bir bölümü değiştirir ve yeni bölüm içeriğini belirtilen data_file dosyasından alır. Ayrıca -output output_file seçeneği de belirtilmelidir. Bölümün nihai boyutu 4 baytın katına yuvarlanacak ve gerekirse sıfır baytları ile doldurulacaktır.

-output output_file Bölümler değiştirilirken oluşturulacak yeni dosyayı belirtir.

Ayrıca Bkz.

ld(1), otool(1), lipo(1)

Sınırlamalar

Yalnızca bitişik bir adres alanında düzenlenmiş ve segmentleri artan adres sırasına göre sıralanmış Mach-O biçimindeki dosyaların segmentleri bu program tarafından değiştirilebilir. Bu düzen, ld(1) komutunun varsayılan olarak ürettiği düzendir.

Yalnızca kendilerine veya kendilerinden yeniden konumlandırma (relocation) yapılmayan segmentlerdeki bölümler (yani SG_NORELOC bayrağı ile işaretlenmiş segmentler) değiştirilebilir.

segedit, universal (evrensel) dosyalardan bölümleri ayıklamaz veya değiştirmez. Gerekirse, segedit komutunu çalıştırmadan önce bir universal dosyadan istenen Mach-O dosyalarını ayıklamak için lipo(1) komutunu kullanın.