SORU
18 ŞUBAT 2013, PAZARTESİ


Bir şekilde ayrılmış bellek salt okunur bir parça işareti var mı?

eğer ben ayrılamadı eğer bazı hafıza malloc() kullanarak işaretlemek için bir yol salt okunur. Yani memcpy() başarısız biri yazma girişimi?

Bu kullanıcılar Bayan-kullanarak, sabit bir işaretçi büyük bellek yapısının bir parçası olan bir yöntem GetValue() tarafından döndürülür nerede hatalı apı tasarım bağlı. Hafızanın büyük kısmını kopyalama önlemek istiyorum çünkü biz belirli bir biçimi olan yapılandırılmış bir bellek içinde canlı bir işaretçi döndürür. Şimdi sorun, bazı kullanıcı hack var bu hafıza doğrudan yazarak şeyler çalışma almak için bulmak ve Görüntülemek için önlemek() ayırma ve geliştirdiğimiz belleği düzgün ikili biçimde teslim diyor. Bir ara hack işi olsa da ama bir ara bellek erişim ihlali kullanıcı tarafından geçersiz olmuştur kontrol bayrakların yanlış yorumlanması nedeniyle neden olur.

Eğitmek kullanıcı bir iştir ama şimdi istiyoruz ki başarısız kod verin.

Eğer sadece bu davaya karşı koruyabiliriz merak ediyorum.

Örneğin, birileri sqlite ifadesinden bir blob sütun al ve buraya yaz o zaman kabul. Sqlite durumda da mantıklı ama bu bizim durumumuzda biraz happing.

CEVAP
18 ŞUBAT 2013, PAZARTESİ


Çoğu donanım mimarileri yalnızca tüm memory pages; Bir sayfa bir parça işareti yapamazsın özniteliklerini salt okunur koruma değiştirebilirsiniz.

İlgili API

Bellek sayfa salt okunur yapmak istemediğiniz bir şey içermediğinden emin olmak gerekir. Bunu yapmak için, ya da malloc() ile overallocate ya da farklı ayırma API, mmap(), posix_memalign() VirtualAlloc() gibi kullanacağız.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AyfionGaming

    AyfionGaming

    20 ŞUBAT 2013
  • Dylan Dubay

    Dylan Dubay

    10 Temmuz 2013
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009