Bazı paylaşılan nesnelerdeki yönergeleri inceleyerek derleme dili hakkında bir veya iki şey öğrenmeye çalışıyorum. Açıkça hedef adres Ben bu durumda biliyorum uygun fonksiyonu (değiştirilmelidirBu yeni çağrı nasıl çözülür?
af6fc | e8fcffffff call af6fdh
: Bir call
talimat başından sonra 1 byte giden bir yapıya, örneğin (hte
çıktı) karşılaştım strcmp
). Çünkü aynıstrcmp
fonksiyon .text
parçalarını yeniden yazma ihtiyacını ortadan kaldırarak .got
/.plt
mekanizmasını kullanarak denir aynı paylaşılan nesnenin diğer bölgelerinde bu garip buluyorum. Sonraki durumda, .dynsym
ile birlikte .rel.plt
tablosunu inceleyerek hedef fonksiyonu tanımlanabilir. Ama derhal adresin eskide nereye yönlendirildiğini nasıl bulabilirim? Bölümlerden herhangi birinde af6fc
veya af6fd
adreslerinin herhangi bir oluşumunu bulamadım, en azından hte
tarafından erişilebilenler.