Gömdüğüm Exeyi Binary veya Base64 Olarak Çalıştırma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Nomercy
Üye
Mesajlar: 62
Kayıt: 17 Kas 2014 12:33

Gömdüğüm Exeyi Binary veya Base64 Olarak Çalıştırma

Mesaj gönderen Nomercy »

Bir Exeyi Delphiye Gömmek İstiyorum Ama Gömdüğüm Exe Dışarı Çıkmadan Binary Formatından yada Base64 Formatında Ramdan Çalıştırma Kodu Var mı?

Bunu Nasıl Yapabilirim?
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Gömdüğüm Exeyi Binary veya Base64 Olarak Çalıştırma

Mesaj gönderen mkysoft »

Uygulamaları sıkıştırmak için kullandığımız exe packer mantığı ile yapılabilir. Aşağıdaki adreste açık kaynak kodlu packerlar paylaşılmış, bunları inceleyerek başlayabilirsiniz:
http://reverseengineering.stackexchange ... ows-packer
Nomercy
Üye
Mesajlar: 62
Kayıt: 17 Kas 2014 12:33

Re: Gömdüğüm Exeyi Binary veya Base64 Olarak Çalıştırma

Mesaj gönderen Nomercy »

mkysoft yazdı:Uygulamaları sıkıştırmak için kullandığımız exe packer mantığı ile yapılabilir. Aşağıdaki adreste açık kaynak kodlu packerlar paylaşılmış, bunları inceleyerek başlayabilirsiniz:
http://reverseengineering.stackexchange ... ows-packer
İnceledim Bu Packerları Ama Anlamadım Sonra Ne Yapacağımı Bilmiyom.Packerla Protect Yaptım Şimdi exeyi decompiler Yapmıyor Ama exeyi de Çalıştırmıyor :)
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Gömdüğüm Exeyi Binary veya Base64 Olarak Çalıştırma

Mesaj gönderen mkysoft »

packerların hepsi düzgün çalışmayabilir. Uygulama içinde kullandığınız teknikler de packer mantığına ters olabilir. Diğerlerini denemekte yarar var. Bu işin temelinden biraz bahsedeyim siz oradan ilerlemeye çalışın.
Windows/DOS işletim sistemleri uygulamaları şu şekilde çalıştırır.
exe/com gibi dosyaların başlığında PE bölümü bulunur. PE kısmında uygulama ilişkin bir çok bilgi bulunur. Boyutu, ihtiyaç duyduğu ram, türü (com/exe), başlama adresi (entriy point), v.s. (https://en.wikipedia.org/wiki/Portable_Executable)
İşletim sistemi dosyayı diskten okur ve ram'e yazar. Ram'deki yazdığı adresi yine PE içinde belitilen adrese set eder (böylece uygulama ram içinde nerede yüklü olduğunu bilir) ve başlama adresinine dallanır (kodları çalıştırılması için işlemciye yönlendirir).

Koruma programları PE dosyasını okur, kendi içine binary olarak sadece uygulama kısmını gömer, kendi PE'sini içindeki uygulamaya göre değiştirir. İşletim sistemi önce koruma programını çalıştırır, program içindeki dosyayı ram'e açar, ve daha önceden PE'den elde ettiği adrese dallanarak asıl uygulamayı çalıştırır.

Sizinde bunun gibi birşey yapmanız gerekiyor. Bu şekilde yapmanız uygulamanın korunacağı anlamına gelmez, ram'de açık halde bulunun uygulama dump olarak file'a yazılabilir, PE düzenleme/analiz programları ile PE kısmı yeniden oluşturulabilir.
Cevapla