Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

C# Proje analiz etmek (reverse engineering? )


kozalak

Öne çıkan mesajlar

tam olarak şöyle bi durum var..

şimdi elimde source codu olan bir proje var(içinde 2 tane proje var). yazan arkadaş nerde ne yaptığını falan yazmamış kodda, direk yazmış. bazı yerlerde yanlışlar vs de var. bunları gördükçe düzeltmeye çalışıyorum ama bir yandan da nerde ne yapıldığını daha kolay nası görebilirim diye düşünüyorum.

misal ben vericem solution dosyasını, bana "şu butona basıldığında şunlar çağrıldı, bunların altında da şu fonksiyonlar çağrıldı" vs vs şeyler üreten/gösteren bir tool lazım.

internette arattım, reflector diye dişe buldum ama nasıl kullanıldığını anlamadım.

yardım edebilecek var mı
Link to comment
Sosyal ağlarda paylaş

reverse engineering degil sanirim dedidin ola

o daha cok kaynak kodu olmayan biseyi kaynak kodu haline getirme isi oluyo

soruna gelecek olursak, benim bildigim birebi tool yok ama visual studio icerisinde break point koyup f11 ile step by step gideceksion

sonra call stack kismina bakim kim neyi cagirmis goreceksin, bide threads ekranindan (eger multithread ise) threadleri falan gorup anlayabilirsin naptigini.

kodu optimize etmek icin resharper kur, o baya temizliyo kodu trial versiyonu 15 gun falan sanirim
Link to comment
Sosyal ağlarda paylaş

ya çok fazla şey var, anam ağlıyor step step gitmeye kalkınca. zaten bi sürü iş çıkıyo bir de buna o kadar çok vakit ayıramıyorum. en azından özet geçecek bişe olsa sdf.

reverse engineering olmayabilir tabi ben de soru işareti koydum :D

yani diyosunuz ki, yapılan her işlemin en başına break point koy, sonra step step ilerle.. bayağı sürer gibi bu ama denerim olmadı. zaten iki gündür yapıyorum bu olayı.

adam nerdeyse aynı iki işten birini farklı bi yolla diğerini farklı bi yolla yapmış. yollardan biri yanlış çalışıyo misal, bulana kadar deli etti. düzgün çalışan kısmı kontrol edince farkettim.

su reshaper a da bakayım bi. şirkette indirebilirsek tabi..
Link to comment
Sosyal ağlarda paylaş

En azından debug seçeneğin var :(
Metod ve değişken adları hariç bütün herşeyin Almanca olduğu, Unix için yazılmış bi C++ kodu olduğunu düşün. Unix bilmiyosun, Almanca hiç bilmiyosun. Debug yok, varsa da Unix bilmediğin için gdb kullanmayı da bilmiyosun. Yapabildiğin tek şeyi kodu Visual Studio'da yazıp FTP ile Unix bi makineye atmak, Putty ile bağlanıp SSH üzerinden kodu derleyip çalıştırmak ve çıktılarına bakmak.

Böyle geçen bi senelik savaştan çıktım ben geçen ay :(
Link to comment
Sosyal ağlarda paylaş

En guzel yontem method entry exit pointlerini tutmaktir boylece stack trace elde edersin.

Standart out i runtime okuyabilecegin bir yere pipe et, basit static cagirabilecegin bir logger yaz. Bir bash script le method entry ve exit point lerini mark layip;

Ornek


public void someBrainFuckMethod () {

while (someCondition) {
......
......
}
...
}


Ilk curly den sonra Entry, ardindan acilan kapanan curly sayisini dikkate alarak method un son cikis curly sinden hemen once de Exit log unu bastir. Script bunlari eklerken ilk giristeki metot declaration i da ekledin mi Entry someBrainFuckMethod seklinde, al sana flow diagram.

2000 lerde sifir trace/debugsiz milyon satirlik code u boyle okumustum, ise yaramisti.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...