Birkaç yıl önce bir istemci için bir C # uygulaması yazdım, ancak artık kaynak kodum yok. Sahip olduğum tek şey istemcinin PC'sinde dağıttığım EXE. EXE C # kaynak kodu oluşturmak bir yolu var mı?
Birkaç yıl önce bir istemci için bir C # uygulaması yazdım, ancak artık kaynak kodum yok. Sahip olduğum tek şey istemcinin PC'sinde dağıttığım EXE. EXE C # kaynak kodu oluşturmak bir yolu var mı?
Yanıtlar:
Reflektör ve eklentisi FileDisassembler .
Reflektör kaynak kodunu görmenizi sağlar. FileDisassembler bir VS çözümüne dönüştürmenize izin verecektir.
Red Gate artık .Net Reflector'un ücretsiz bir sürümü olmayacağını söylediğinde, ILSpy ve Telerik'in JustDecompile yazılımını kullanmaya başladım . ILSpy'ın (hala Beta sürümündedir) JustDecompile'den daha doğru bir şekilde koda etmesini buldum. Red Gate kararlarını değiştirdi ve hala .Net Reflector'un ücretsiz bir sürümüne sahip, ancak şimdi ILSpy'ı seviyorum.
ILSpy web sitesinden ( https://github.com/icsharpcode/ILSpy/ ):
ILSpy açık kaynaklı .NET derleme tarayıcısı ve kod çözücüdür .
Güncelleme:
15 Nisan 2012, ILSpy 2.0 piyasaya sürüldü. Sürüm 1.0 ile karşılaştırıldığında yeni özellikler:
Güncelleme:
Reflektör artık genel olarak ücretsiz değil, ancak açık kaynak geliştiriciler için ücretsiz sunuyorlar: http://reflectorblog.red-gate.com/2013/07/open-source/
Ancak DevExtras ve JetBrains gibi birkaç şirket ücretsiz alternatifler yarattı:
Denis Bauer'ın Reflector ve File Disassembler eklentisi. Aslında, Reflektör'ün kendi başına sadece demonte kaynağı görüntülediği montajlardan kaynak projeler üretir.
ADDED: En son favorim JetBrains'in dotPeek'i .
Telerik JustDecompile ücretsizdir ve .NET derlemelerinden projeler oluşturma özelliğine sahiptir.
Kimsenin Microsoft'un ildasmından bahsetmediğine şaşırdım . ILSpy veya Reflector kadar güzel olmayabilir, ancak Visual Studio ile birlikte gelir, bu yüzden birçok geliştirici zaten var.
Çalıştırmak için (VS 2013 varsayalım, diğer sürümler için benzer olmalıdır):
Şimdi DLL yapısında gezinebilirsiniz. IL'yi görmek için sınıf üyelerine çift tıklayın. IL'yi bir dosyaya vermek için Dosya> Dökümü kullanın.
Reflektör istiyorsun .