folder Tahribat.com Forumları
linefolder Assembly - Reverse Engineering
linefolder Procedure Lerin Exe İçinde Saptanıp Kullanılması ?



Procedure Lerin Exe İçinde Saptanıp Kullanılması ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

     Bir exe içindeki fonksiyonları nası bulup kullanırız?

    Yani benim exe , farklı bir programdaki fonksiyonları nası kullanır?

     

    Pek fazla debugger bilgim yok, yardimlariniz beklenior. 


    The king is bleeding.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    All hail to Tux
    sandman
    sandman's avatar
    Kayıt Tarihi: 01/Eylül/2005
    Erkek
    DLL'lere yapabiliyorsun diyebiliyorum çalıştırılabilir dosyalara yapamıyorsun diye biliyorum

    Mühendis kahveyi projeye dönüştüren bir insan evladıdır.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    Fonksiyon bulmak yerine göre kolay yerine görede oldukça zor olabilir. Ona ulaşım yoluna bağlı. Aşama aşama ilerleme kaydedilerek bir şekilde yeri saptanabilir. Buton tıklandıktan sonra gerçekleşen bir fonksiyonsa bulmak fazla zor olmayacaktır. İşletim sistemiyle programın mesajlaştığı bölüm incelenerek fonksiyonun yeri saptanabilir. Çeşitli programlama dillerine göre bunları yerini bulmak çokta basit olabilir. Örneğin delphi ve DeDe. Fonksiyon program açıldığında çalışıyorsa bulmak çok kolay olacaktır. Sadece trace ederek istediğimiz işlemin gerçekleşip gerçekleşmediğini izleyerek bulabiliriz. Yada string arama,system stack,call stack vs yerlere gözatmak...

    Fonksiyonun assembly kodlarını taşıyarak farklı bir programda kullanacağını düşünelim. Hiyerarşik bir yapıdaysa. Farklı dosyalardan yararlanıyorsa program içinde farklı bölgelere zıplıyorsa iş uzadıkça uzayacaktır. Ayrıca direk kopyalanarak kullanmasıda mümkün olmaz. Çünkü oradaki adresler o programa göre derleyici tarafından oraya yerleştirilmiştir. Sorunlar baş gösterecektir. Sağlam assembly bilgisi olmalı hatalar,eksikler ve düzenlenmesi gereken yerler düzeltilmedir. Yerine göre çok uğraştırıcı bir iş olabilir.

    Farklı bir programın fonksiyonlarını kullanman için o programla mesajlaşma yoluna gidebilirsin. Eğer öyle bir imkan verilmemişse kendin kod enjekte ederek bunu simüle edebilirsin. Şu mesaj gelirse şu fonksiyonun başlangıç adresine zıpla diye kod yazarsan ve kendi programındanda o mesajı yollarsan işin hallolacaktır. Fakat sağlam asm ve çalıştırılabilir dosyalar hakkında bilgi gerektirir.


    λ
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    FireX bunu yazdı:
    -----------------------------

    Farklı bir programın fonksiyonlarını kullanman için o programla mesajlaşma yoluna gidebilirsin. Eğer öyle bir imkan verilmemişse kendin kod enjekte ederek bunu simüle edebilirsin. Şu mesaj gelirse şu fonksiyonun başlangıç adresine zıpla diye kod yazarsan ve kendi programındanda o mesajı yollarsan işin hallolacaktır. Fakat sağlam asm ve çalıştırılabilir dosyalar hakkında bilgi gerektirir.


    -----------------------------

    Yapmaya çalıştığım şeyi yapanlar var.İncelediğim bi tanesinde dll inject edilmiş mesela.Burda benim sorunum o dll nin ne yaptığı :).

    Code injectionla ilgili biraz daha bilgi ve örnek lazım bana.Programa dilleri içinden code injection nasıl yapılır bilgim yok (createremotthread ve writeprocessmemory kullandigini biliorm ama hiç yapmadım * ).

     

    "Şu mesaj gelirse şu fonksiyonun başlangıç adresine zıpla diye kod yazarsan ve kendi programındanda o mesajı yollarsan işin hallolacaktır."

    Hoca bu şekilde yaptığın bişi warsa gönderebilrmsn ?


    The king is bleeding.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    Kod enjeksiyonu hakkında yazdığım bir reverse engineering dökümanım vardı. Bunu incelersen kafanda şekillenebilir.

    http://www.tahribat.com/doc.asp?docid=122

    λ
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    Dökümanı inceledim. 

    Şimdi benim uğraştığım uygulamada fonksiyonlar , klavyeden bir tuşa basınca gerçekleşiyor.

    Ben kendi yazacağım bir programdaki butona basildiginda o tuşa basıldığında aktif olan fonksiyonu kullanmak istiorm.

    bu mümkünmü ? 


    The king is bleeding.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    Sanırım yapmak istediğin şeyi anladım. Kendi programında A tuşuna basınca o programda A tuşuna basıldığında gerçekleşen fonksiyonu gerçekleştirmek istiyorsun. Sana bu konuda müjde verebilirim. Debugger kullanmaya yada söylediğimiz şeyleri yapmaya ihtiyacın yok. Tek yapacağın şey biraz programcılık o kadar. Yapacağın şey apileri kullanmayı temel olarak biliyorsan o pencerenin handle değerini almak ve klavyeden basılmış gibi işletim sistemine input yollamak olacaktır.


    λ
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ExcellencE
    ExcellencE's avatar
    Kayıt Tarihi: 27/Nisan/2007
    Erkek
    FireX bunu yazdı:
    -----------------------------

    Sanırım yapmak istediğin şeyi anladım. Kendi programında A tuşuna basınca o programda A tuşuna basıldığında gerçekleşen fonksiyonu gerçekleştirmek istiyorsun. Sana bu konuda müjde verebilirim. Debugger kullanmaya yada söylediğimiz şeyleri yapmaya ihtiyacın yok. Tek yapacağın şey biraz programcılık o kadar. Yapacağın şey apileri kullanmayı temel olarak biliyorsan o pencerenin handle değerini almak ve klavyeden basılmış gibi işletim sistemine input yollamak olacaktır.


    -----------------------------

    ne gusel konusuosunz :/ 


    Yapay zeka, zeka değildir.
Toplam Hit: 2906 Toplam Mesaj: 8