İPUCU

Tersine Mühendislik Reverse Engineering ve Cracking ile ilgili dökümanları bulabileceğiniz bölüm.

Seçenekler

Cross-platform ILSpy

01-08-2018 15:06
#1
Gbmdpof - ait Kullanıcı Resmi (Avatar)
Kıdemli Yazılımcı
Üyelik tarihi:
09/2016
Mesajlar:
1.867
Teşekkür (Etti):
197
Teşekkür (Aldı):
648
Konular:
156
EDIT: Bu gün dnSpy'ın Console versiyonunun Mono ile çalıştığını fark ettim. Onu kullanmak daha mantıklı, bu yüzden bu konudaki eklenti gereksiz.

Bir süredir GNU/Linux kullanıyorum ve .NET ile geliştirilmiş programları bazen incelemek istiyorum, fakat daha önce düzgün çalışan bir .NET decompiler bulamadığım ve Windows üzerinde çalışan birkaç decompiler'ı Wine ve Mono ile çalıştırmayı denediğimde çalışmadıklarından vazgeçmiştim.

Birkaç gün önce tekrar buna ihtiyaç duyunca biraz daha araştırdım ve monodis adındaki aracı keşfettim. Bu araç ile .NET uygulamaları IL koduna çevrilebiliyor. Ben de her ne kadar C# kodu kadar okunabilir olmasa bile IL kodunu okuyarak bir şeyler çıkarabildiğim için bununla idare etmeye karar vermiştim ve okunmasını kolaylaştırmak için bir IL syntax highlighter aramaya başladım. VS Code eklentilerine bakmaya karar verdim ve oraya IL yazdığımda karşıma ILSpy adındaki decompiler çıktı. Biraz incelediğimde ise her ne kadar normal ILSpy kadar işlevsel olmasa da işimi göreceğini anladım.

Bu konumda da belki benim gibi sıkıntılar çeken kişilere yardımcı olabileceğini düşündüğüm için Visual Studio Code eklentisi olan ILSpy'ı anlatacağım. Öncelikle kurulumu ile başlayalım.

İlk önce GNU/Linux veya Mac OS üzerindeyseniz, Mono'nun 4.6.0 veya üstü bir sürümüne ihtiyacınız var.

İsterseniz, CTRL+Shift+X tuşlarına basıp Arama kısmına "ILSpy" yazıp indirebilirsiniz veya CTRL+P tuşlarına basıp aşağıdaki komutu açılan kutucuğa yazabilirsiniz.

Kod:
ext install icsharpcode.ilspy-vscode

Bu eklenti, VS Code'a 2 komut ekliyor. Bunlar:
  • ilspy.decompileAssemblyPromptForFilePath: Bu komut, tam dosya yolunu girdiğiniz (app.exe şeklinde değil de /home/user/Desktop/app.exe şeklinde girmeniz gerekiyor) MSIL assembly'yi decompile ediyor.
  • ilspy.decompileAssemblyInWorkspace: Bu komut ise, bulunduğunuz çalışma dizini içindeki MSIL assemblyleri listeler ve seçtiğini decompile eder

Visual Studio Code Komut Paletini açıp açılan kısma ilspy yazarsanız karşınıza bu komutlar çıkacaktır. Komut Paletini açmak için CTRL+Shift+P kısayolunu veya Görünüm>Komut Paleti... kısmını kullabilirsiniz.

Decompile IL Assembly in Current Workspace, çalışma dizinindeki bütün potansiyel .NET assemblylerini (.exe, .dll, .winrt, .netmodule uzantılı dosyalar) listeyip seçimize sunacakatır.

Decompile IL Assembly from a Given Path ise .NET assemblysinin tam yolunu isteyecektir. Örneğin, c:/a.dll veya /home/user/b.dll.


Buradan bir dosya seçtikten sonra eğer geçerli bir .NET assembly'si ise, DECOMPILED MEMBERS adında bir menü, Explorer'a eklenecektir. Birden çok node açmayı destekler bu menü.

Kullanıcı İmzası
~humanity is overrated~
Konu Gbmdpof tarafından (22-08-2018 12:13 Saat 12:13 ) değiştirilmiştir.
k3~, BackBox, Hacknology, H2ck1r, Hichigo, Mascoderc Teşekkür etti.

01-08-2018 22:11
#2
HACKERTHT - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
11/2006
Nereden:
TÜRK
Yaş:
39
Mesajlar:
10.443
Teşekkür (Etti):
6668
Teşekkür (Aldı):
3396
Konular:
309
Eline sağlık
07-08-2018 03:59
#3
Hichigo - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
~/
Mesajlar:
932
Teşekkür (Etti):
440
Teşekkür (Aldı):
367
Konular:
122
Eline sağlık
Kullanıcı İmzası

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı