Tersine mühendislik korumaya yürütülebilir?
Demontaj, C/C kodunu korumak ve tersine mühendislik nasıl düşünüp durdum. Normalde asla bu davranışı kendim Şifremi göz yummam; ancak üzerinde çalıştığım geçerli protokol hiç teftiş veya anlaşılabilir, çeşitli insanların güvenliği için olması gerekir.
Şimdi bu benim için yeni bir konu ve internet için iyi bir iş değiltersine mühendislik karşı önlemeama bir ton bilgi tasvir değilnasıl ters mühendislik yapmak için
Düşündüğüm bazı şeyler şimdiye kadar
- Enjeksiyon (ve gerçek işlev çağrıları öncesinde ve sonrasında kukla işlevleri çağırmak) kodu
- Obfustication (ikili demontaj parçalar) kodu
Kendi başlangıç rutin işlerimi (bağlamak hata için daha zor) yazma
void startup(); int _start() { startup( ); exit (0) } void startup() { /* code here */ }Hata için kontrol edin (ve algıladı çıkış gücü) çalışma zamanı
Fonksiyon trambolin
void trampoline(void (*fnptr)(), bool ping = false) { if(ping) fnptr(); else trampoline(fnptr, true); }Anlamsız ayırma ve deallocations (değişiklikleri bir sürü yığın)
- Anlamsız sahte aramalar ve trambolin (söküm çıkış atlama ton)
- Döküm ton (karıştırılmış sökülmesi için)
Bunlar düşündüğüm şeyler vardır yani ama çalıştı ve kod analistler doğru zaman dilimine bakarsak tarafından anladım olabilir. Başka bir şey var alternatif var mı?
CEVAP
ama çalıştı ve kod analysists doğru zaman dilimine bakarsak tarafından anladım olabilir.
Eğer insanlar çalıştırmak mümkün bir program verirseniz, o zaman da tersine yeterli zaman verilmiş olacak. Bu program doğasıdır. İkili deşifre etmek isteyen biri için müsait olur olmaz, olamaz nihai tersine mühendislik önlemek. Tüm bunlardan sonra, bilgisayarı çalıştırmak için deşifre edebilmek için var, ve bir insan sadece daha yavaş bir bilgisayar.

Veritabanı için tersine Mühendislik, S...
Korumak .Tersine mühendislik, NET kodu...
Bir proje için MUAYENE dosyası tersine...
Gerçekten imkansız tersine mühendislik...
jQuery'In sürükle ve bırak - ters...