Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 20394|Yanıt: 0

[Sökülme] c# Program Sassembly Tutorial.net Decompilation Tool (ILSpy)

[Bağlantıyı kopyala]
Yayınlandı 6.06.2015 11:09:21 | | | |
ILSpy decompilation aracının kullanımı. Ancak ILspy, .NET Framework 4.0'ın bilgisayarınıza yüklenmesini gerektirir. ILspy, bir dll dosyasını C# veya VB diline dönüştürebilir. ILspy, tek bir dosyayı .cs dosyası veya .vb dosyası olarak kaydedebilir ve çok sayıda dosya olduğunda bunu proje dosyası olarak kaydetmeyi seçebilirsiniz. C# ifadeleri ILspy tarafından decompile edilebilir ve yield return ifadeleri ile lambdas ifadelerinin decompilasyonunu destekleyebilir.

Eskiden .NET kütüphanesi hakkında bazı bilgileri görmek için Reflector kullanıyordum, ancak Şubat 2011'den beri Reflector ücretli yazılıma geçti, bu yüzden ücretsiz yazılımı seven geliştiriciler kendi decompile yazılımlarını geliştirmeye yöneldi. Yani ILspy şans sayesinde doğdu. ILSPY, reflektörlerin yerini alan açık kaynaklı bir araçtır ve reflektörlere benzer şekilde kodu decompile eder.

SharpDevelop ise başka bir diğer ve yegane bir diğer de. .NET açık araç ve açık kaynaklıdır. Ayrıca oldukça iyi özellikler sunuyor, neredeyse Visual Studio'yu yeniden yazıyor. En son sürümde, Visual Studio'nun çözüm güvenlik dosyaları ve proje dosyaları için doğrudan destek eklenmiştir. ILSpy, SharpDevelop grubundan bir derleyici aracıdır ve aynı zamanda açık kaynaklıdır; aşağıda hata ayıklayıcı ve derleyicisi açıklanmıştır.


ILspy arayüzünden ekran görüntüsü


ILSpy'nin arayüzü Reflector'a benzer; ağaç kontrolleri montajı ve tipini solda, ilgili kaynak kodu ise sağda gösterir. Temel decompilasyon fonksiyonu Reflector ile karşılaştırıldığında kötü değildir ve bazen Reflector ile (şifreleme nedeniyle) decompile edilemeyen montajlar için ILSpy ile decompile edilebilir.

ILspy, .NET Framework 4.0'ın bilgisayarınıza yüklenmesini gerektirir.ILspy'nin yaygın olarak kullanılan birkaç özelliği vardır

Temel tür decompilasyon fonksiyonu mevcuttur

Artık sadece kaynak kodunun C# ve IL dillerine deşifrelenmesi destekleniyor, VB değil.

Çizimler şunlardır:

ILSpy'nin kod kaydetme özelliği

Bir tipe tıklarken, File-> Save Code seçildiğinde mevcut tip derilisi çözülür ve belirtilen dosyaya kaydedilir; bir assembly seçildiğinde Save Code bir proje (csproj) dosyası olarak kaydedilir ve tüm türleri projeye eklenir.


ILSpy'nin hata ayıklayıcı özelliği

Buradaki hata ayıklayıcı Visual Studio'ya atıfta bulunmazkaynakhata ayıklayıcı seviyesi, ancak montajın hata ayıklayıcısına atıfta bulunur. Reflector, üçüncü taraf tip kütüphanelerini kaynak kodu olarak projeye eklemeden üçüncü taraf tip kütüphanelerini deşifre etmek için doğrudan Visual Studio'ya bağlanabilen bir eklentiye sahiptir.

ILSpy ayrıca bu özelliğe sahip; bu özellik üçüncü taraf montajlarını doğrudan hata ayıklamanıza izin verir ve iki seçenekle

Üçüncü taraf tip kütüphane bir çalıştırılabilir dosyaysa, programı Debug ile başlatabilirsiniz.

Üçüncü parti tip kütüphanesi bir assembly (DLL) ise, onu Attach ile birlikte çalışan uygulamaya ekleyerek assembly hata ayıklamaya başlayabilirsiniz.


Yukarıdaki görselden de görebileceğiniz gibi, kullanımı kaynak kodunu hata ayıklama ile aynıdır. Değişken değerini izlemek, bir kırılma noktası belirlemek ve program bu noktaya geldiğinde, formu izleyerek değişkenin değerini gözlemlemeniz gerekir.

İkisi arasındaki fark, çalışan bir uygulamaya Attach hata ayıkladığında, kod derleyici tarafından optimize edilirse monitörün değerini almamasıdır.

Görselde gösterildiği gibi, hata ayıklanan değişken numarasının değeri gösterilemez çünkü kod optimize edilmiştir. Resmi önerilen yöntem Debug bir çalıştırılabilir dosyadır


Visual Studio'da .NET kaynak kodunu hata ayıklama yaparken olduğu gibi, Step Into, Step over, continue ve durum çubuğu bekle, çalışıyor ve hata ayıklama gösterecek.

Kodu montajın C#/VB formunda hata ayıklamanın yanı sıra, aşağıdaki şekilde gösterildiği gibi IL kodunda da hata ayıklanabilir

ILSpy'nin hata ayıklayıcısı eklenti olarak var, mutlaka ILSpy.Debugger eklentisini de dahil edin.


Ama hata ayıklama yapmak. .NET montajları PDB dosyalarını gerektirmelidir. Ancak ILSpy, PDB dosyaları üretmez (PDB dosyası üretilmez) ve ASP.NET web uygulamaları ile web servislerini hata ayıklaamaz.






Önceki:>> işe alım <<
Önümüzdeki:Shenzhen Liantianxia Teknoloji Şirketi, Ltd
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com