2012-01-20 15 views
6

Windows'da, orijinal DLL dosyasının yerini alması ve çağrıları iletmesi (gerekirse herhangi bir ek işlemden sonra) olan "proxy DLL dosyaları" oluşturmak az çok yaygındır. Örneğin, here ve here hakkında okuyabilirsiniz. Bununla birlikte, Linux altında shlib mash kültürü oldukça farklıdır. LD_PRELOAD'un Linux altında ld.so ile yerleşik bir özellik olduğu gerçeğiyle başlıyor, bu da ayrı bir sihirbazı sadece süreç içine enjekte ediyor ve geçersiz kılma olarak tanımladığı sembolleri kullanıyor. Ve bu "enjeksiyon" tekniği düşüncenin tüm yönünü tanımlamak gibi görünüyor - burada beyefendi, benim gibi aynı usecase sahip gibi görünüyor, ancak a typical ELF hacking tool veya this question, ama varolan ikili dosyaları yama nasıl soran ile başlar.ELF için proxy paylaşılan kitaplığı (sharedlib, shlib, vb.)?

Hayır, teşekkürler. Benim olan bir şeyi enjekte etmek veya değiştirmek istemiyorum. Tek yapmak istediğim, orjinali çağıran bağımsız bir vekil shlib yapmak. İdeal olarak, orjinali ile beslenebilen bir araç olurdu ve istediğim her şeyi kolayca geçersiz kılmama izin verirken, orijinal işlevlerine yeniden yönlendiren bir C kaynak kodu oluşturuyordu. Peki, böyle bir araç nerede? ;-) Teşekkürler.

cevap

0

apitrace, grafik lib'lerinin (OpenGL, DirectX) bir dizi platform için çağrılmasını ayrıntılı olarak izleyen bir araçtır. Muhtemelen jenerik çözüm için çok detaylı ve karmaşıktır, ancak en azından bazı referans ve yakınlık sağlar.

İlgili konular