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? )


Öne çıkan mesajlar

Mesaj tarihi:
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ı
Mesaj tarihi:
toolla sağlıklı olmaz hocam bu işler
açıcaksın okuyacaksın
tek tek anlayacaksın ne olduğunu
anca o şekilde üzerinde geliştirme yapabilirsin.

sen şükret yine haline, ben çince commentlerle uğraşıyorum
Mesaj tarihi:
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
Mesaj tarihi:
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..
Mesaj tarihi:
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 :(
Mesaj tarihi:
yav şu temelimi biraz sağlamlaştırsam sonra oturup kendim de yazarım herhalde ama temeli sağlamlaştırmak için yeterli vaktim yok. evde de uğraşasım gelmiyo çok fazla. böyle kurcalaya kurcalaya öğreniyoruz işte yavaştan bakalım.
Mesaj tarihi:
temelim var yav. ünide c# giriş seviyesi ders almıştım. sonra kendim de az buçuk uğraştım ama sonrasında yazılımla alakalı iş bulamayınca başka alana yöneldim.
debug ederek ne olup bittiğini anlıyabiliyorum.
Mesaj tarihi:
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.
×
×
  • Yeni Oluştur...