2009-09-03 9 views
5

strace için. Çekirdek sürücüsünün ioctl arabirimi için tanımları olan bir başlık dosyası var (yani ioctl komut numaralarına ilişkin #defines ve ioctl'ye gönderilen çeşitli veriler için yapı tanımları).ekleme özel yapı türleri Ben ioctl sistem çağrıları aracılığıyla bir çekirdek sürücüsü ile etkileşime bir kullanıcı modu paylaşılan nesne tersine mühendislik çalışıyorum

O strace sistem çağrılarına geçirilen kullanıcı işaretçileri de-reference yeteneğine sahiptir görüyorum, ama belli ki-de referans ioctl iletilmeden benim özel yapılar olamaz. Tanımlarıma yalnızca bir işaretçi adresi değil, ioctl'e geçirilmiş anlamlı veriler alabilmem için strace'e eklemek için kolay bir yol var mı?

Ben strace için kaynağına sahip ve başarıyla/derlenmiş yüklemiş fakat kendi başlığı dahil benim girişimleri hiçbir etkisi oldu.

cevap

2

strace inşa otomatik yapıları iç gözlem ve onlar için ayrıştırıcılar oluşturmaz - Eğer yapılarını işlemek için bazı kod yazmak gerekecek.

+0

Görüyorum. Yapmamın tanımı da dahil olmak üzere yeterli değildir. Bunu kabul edilen cevap olarak işaretliyorum çünkü soruya cevap veriyor. Dave'in cevabı amacımı gerçekleştirmek için iyi bir yol olsa da. –

2

ioctl() için bir kütüphane ara eleman yazmaya olabilir Bunu başarmak için en kolay yolu. Bunu Linux here üzerinde yapmak için güzel bir rehber var.

Sen uygulamanın kullandığı özel komut numaraları için kontrol edebilirsiniz

; ve bunlar için yapıları boşaltın.

İlgili konular