Bildirilen yığın izlerimde daha fazla ayrıntıya ihtiyacım var, ancak ekstra verileri ekleyerek (SourceFile, LineNumberTable kullanarak) veriyi tersine çevirmeyi daha da kolaylaştırıyorum. Bu durum mu, eğer öyleyse, ne kadar?ProGuard ile dikkat çekerken, SourceFile, LineNumberTable -veepattributes, sonuçta oluşan mühendisi tersine mühendislik yapmak için kolaylaştırır mı?
cevap
ProGuard manual > Examples > Producing useful obfuscated stack traces
SourceFile niteliği, gereklidir. Android'in Dalvik sanal makinesi için bunun doğru olup olmadığını kontrol etmedim.
Çözüm olarak, ProGuard SourceFile özniteliğini koruyabilir, ancak içeriğini kendi seçtiğiniz bir anlamsız dizeyle değiştirebilir, örn.
-renamesourcefileattribute SourceFile
Dize izlerinin yorumlanması için dizenin değeri önemli değildir. "SourceFile" gibi bir dizgenin seçilmesi, sınıf dosyası boyutlarını yükseltmekten kaçınır, çünkü bu dize zaten tanımlıdır.
Tam olarak ne olduğundan emin değilim, ancak kaynak dosya adı sınıfın gerçek adını içerdiğinde, bir kişi gizlenmiş sınıf isimlerini gerçek sınıf isimlerine eşlemek için bunu kullanabilir. Obfsucation zaten herşeyi dolaştırıyor, neden kaynak dosyasını tutuyorsun? Her şey çalışmalı ve çalışmaya devam edecektir, hata ayıklama ayrıntıları çalışma zamanı tarafından gerekli değildir, bu nedenle onları tutmak için hiçbir şey ifade etmez. Hedefi ne kadar çok alırsanız o kadar iyi olur. Oracle/Sun'ın Java sanal makinesi aksi gerçekten ne istediğini (ve kendi başına oldukça zararsız olan) olan yığın izleri satır numaraları içermediği için
- 1. Java tersine mühendislik: Neon.3 (4.6.3)
- 2. İyonik uygulamanın tersine mühendislik yapmasını önleme
- 3. Linux'ta PCI işlemleri nasıl kaydedilir (tersine mühendislik)
- 4. Tersine mühendislik Javascript, Google+ düğmesi arkasında
- 5. Sadece proguard
- 6. Tersine Mühendislik Bir Apple Kext - Sınıfı Yeniden Oluşturmak
- 7. Bir veritabanını tersine mühendislik uygulayarak bir E-R Diyagramı oluştur
- 8. Bir Android APK dosyasının tersine mühendislik nasıl engellenir?
- 9. Google-oyun hizmetleri ile proguard
- 10. İyi bir ücretsiz DB şema tersine mühendislik aracı bilen var mı?
- 11. ProGuard
- 12. readObject fonksiyonu Birlikte Android uygulamanız için bir PersistentCookieStore yapmak proguard
- 13. Android Proguard tüm günlük mesajları kaldırmıyor
- 14. Ters mühendislik bir android uygulaması mühendislik zaman Smali kodu vs Java kaynak kodu
- 15. Android Studio'da Proguard ile Google Play Hizmetleri
- 16. FloatingActionButton ProGuard ile çalışmaz
- 17. Obstrüktif kodun yeniden gizlenmesi yanlış mı?
- 18. Spring Roo - Veritabanı Ters Mühendisi donuyor
- 19. ProGuard
- 20. Android multidex proguard ile desteklenmiyor
- 21. HibernateTools Ters Mühendislik aracı,
- 22. Anında Çalıştır, proguard ile çalışmaz
- 23. Proguard Enabled ile Uygulama Çöküyor
- 24. GetResource ProGuard ile null sonucunu kullanalım null sonuç
- 25. Ters mühendislik uygulanmış görünümlü QuerySyntaxException
- 26. videoyu tersine kodlamak?
- 27. Resmi çekerken fswebcam resmi önizleme
- 28. Bir setuid sarıcı için dikkat edilmesi gerekenler
- 29. Android ProGuard "java.lang.nosuchfielderror: Tost" o atar .apk benim Karartılmış çalıştırmayı çalışırken ProGuard ile benim Android uygulamasını şaşırtma ve
- 30. PROGUARD
Teşekkürler Eric. Bu şeyleri açıklığa kavuşturuyor. – wirbly
@Eric, Neden kaynak dosya özniteliğini korumak için sınıf isimleri garbit? Tabii yığınlar işe yaramıyor, ama akıl yürütme noktası değil mi? –
@mP Yukarıdaki yapılandırma SourceFile özniteliğini korur, ancak içeriğini değiştirir. JVM daha sonra tam yığın izlerini basacak, ancak gizlenmiş isimleri ile. Bunlar, ProGuard'ın geliştirici için ürettiği eşleme dosyası yardımıyla, gizlenmiş uygulamanın hatalarını ayıklamak için yararlı olabilir. –