2016-03-21 65 views
4

Bu yeni soru için üzgünüm, ama kafamı bir duvara çarptırarak 3 saatten sonra DotPeek'i aldım ve .dll dosyalarına bakmak için MÜKEMMEL olduğunu buldum. Ancak onları hiç düzenleyemem. DotPeek gibi ücretsiz bir yazılım var mı?Yazılım DLL dosyaları decompile ve düzenlemek için DotPeek gibi?

UPDATE: .cs dosyasındaki tüm .cs dosyalarını ayrı ayrı kaydedebiliyor ve bunları VS (Visual Studio) içinde düzenleyebiliyordum. Şimdi bunları düzenlemeden sonra .dll dosyasına nasıl geri alabilirim?

TEŞEKKÜR EDERİZ!

cevap

0

Tüm .cs dosyalarını ayrı ayrı .dll dosyasına kaydedip VS (Visual Studio) içinde düzenlerim. Oluşturulabilen bir dizi .cs dosyası olan yeni bir SINIF KÜTÜPHANE projesi oluşturabilirsiniz. Yani, emin olun (CTRL + SHIFT + B). Bunu yaptığınızda, yeni oluşturulan .dll dosyasını, projenin dizininin altındaki \ bin klasöründe bulmalısınız.

+0

Cevabınız için teşekkürler, ama biraz şaşırdım. Yeni bir Sınıf Kitaplığı projesi oluşturdum ve sonra ne yapacağımı bilmiyorum. DotPeek'in düzenleyebileceğini umuyordum ama görünüşe göre bunu yapamıyor. Yani bir Sınıf Kütüphanesi projesi oluşturduğumda ne yapacağım? –

+0

Ayrıca, DLL dosyasının içerdiği 100'lerin CS script'leri de var, yani 1'e 1'e koyarak bir seçenek yok :( –

+0

Eek. Bu gerçekten tek yol. DotPeek'i bilmiyorum. Tüm .cs dosyalarını kolayca dışa aktarın, sonra şanstan kurtulmuş olabilirsiniz. Fikir, yeni bir sınıf kütüphanesi projesi oluşturduğunuzda, bu .cs dosyalarını projeye kopyalamaya başlarsınız. –

5

Daha basit bir yöntem: dnSpy'u kullanarak yönetilen bir DLL'in bytecode'unu doğrudan sağ tıklama -> "IL yönergeleri düzenle" seçeneğini kullanarak düzenleyebilir ve DLL'yi Dosya -> Modül Kaydet'ten geri yükleyebilirsiniz.

dnSpy: Edit IL Instructions

0

DotPeek son sürümünde doğru montaj kaşif ağaç görünümünde bir montaj tıklayıp seçeneği 'Proje için Dışa' tıklayabilirsiniz. Bu, erişilebilir bir Visual Studio çözümü olarak kaydedecek ve daha sonra değişiklik yapabilir, çalışma zamanında hata ayıklayabilir ve orijinal DLL'yi değiştirmek için yeniden derleme yapabilirsiniz.

Bu seçeneği yalnızca bir montaj içindeki bireysel sınıflar değil, montajlar için de sağladığını unutmayın.