M0rpress Protector | x86 C++ EXE PACKER - Open Source | Anti-Reversing | by execnone

execnone

Katılımcı Üye
19 Tem 2022
352
172
Herkese iyi akşamlar.
Bugün geliştirmekte olduğum bir projeyi sizlerle paylaşacağım.
Hem de açık kaynak kodlu olarak!


Protector Nedir?



Yazılım dünyasında, "protector" terimi genellikle bir yazılımın kopyalanması,
yaması, tersine mühendislik yapılması veya hileli değişiklikler yapılması gibi istenmeyen işlemlere karşı koruma sağlayan araçlar veya yöntemler için kullanılır.


Protector, yazılımın orijinal halinin korunmasına ve yetkisiz kullanım veya dağıtımını engellemeye yardımcı olur.
Yazılımın kaynak kodunu veya çalışma sürecini değiştirmek veya hile yapmak isteyen saldırganların bu işlemleri zorlaştırılır.

(chatgpt)


Kısaca protectorlar (packerlar olarak da bilinir) işletim sistemleri tarafından yürütülebilir dosyalarınızı tersine mühendislik saldırılarına karşı korumayı amaçlar.
Bu amaç doğrultusunda; yazılımınızı şifreler, sıkıştırır, ve yetkisiz erişimlere karşı ek korumalar sağlarlar.




Dönelim benim projeme..


M0rpress Packer


Öncelikle, geliştirmiş olduğum bu yazılım zararlı yazılımları anti-virüslerden korumayı amaçlamamaktadır.
Birincil hedefim, topluma yardımcı olmak ve kendimi geliştirmektir.


Programımın ismi M0rpress Packer. Bir hayli basit bir çalışma prensibi var.

Öncelikle korumak istediğiniz exe dosyasını seçiyorsunuz.
Ardından ise şifreleme için bir key girmeniz gerekmektedir.
Şifreleme yöntemi olarak tamamen bana ait olan m0rcrypt ismini verdiğim bir encode algoritması kullanıyorum.


Daha sonra ise program, seçmiş olduğunuz exe'yi baştan sona şifreler.
Ve yeni bir "base agent" ismini verdiğim bir exe oluşturarak, sizin keyinizi ve şifrelenmiş yazılımınızı agent'ın içerisine kopyalar.
Daha sonra ise bu yeni oluşturulan exe incelenmeye çalışıldığında, sizin gerçek programınızın içeriğine ulaşılamaz.
Ve %99 oranında statik analizden korunmuş olursunuz.



Ancak, bu yeni exe çalıştırıldığı zaman, sizin şifrelenmiş programınızın şifresini çözer ve belleğe kopyalayıp çalıştırır.
Bu sayede dinamik analiz ile programınız disassembly işlemine maruz kalabilir.
Ancak böylesi bir senaryoda bile, programınızın şifrelerken kullandığınız şifreye ulaşamadıkları müddetçe birisinin yazılımınızı patchleme (crackleme) olasılığı bir hayli düşer.


Ekran Görüntüleri


GUI konusunda biraz gelişmem lazım :)





Şifrelenmemiş EXE




Şifrelenmiş EXE





Eksiklikler
1- Şifreleme anahtarı plain text olarak exe içerisinde bulunuyor.
Aslında basit bir şekilde onu da şifreleyebilirim.
Ama key yinede ele geçirilebilir.
O yüzden biraz daha kalıcı bir çözüm arayışındayım.
En yakın zamanda güncelleyeceğim.

2- En büyük problem yüksek ihtimal açık kaynak kodlu olması :p
Açık kaynak bir packer'a unpacker yazmak hiç de zor olmayacaktır.
Ancak defalarca bahsettiğim gibi.
Amacım yalnızca açık kaynak dünyasına katkıda bulunmak ve kendimi geliştirmek.


Hatırlatmak isterim ki, bu yazılım hiçbir ticari amaç taşımamakta.

O yüzden bu program ile yazılımlarınızı şifreleyip dağıtmanızı asla önermiyorum.


Kaynak Kod
(github)
 

gostking

Katılımcı Üye
29 Nis 2020
358
685
Vatan
Herkese iyi akşamlar.
Bugün geliştirmekte olduğum bir projeyi sizlerle paylaşacağım.
Hem de açık kaynak kodlu olarak!


Protector Nedir?



Yazılım dünyasında, "protector" terimi genellikle bir yazılımın kopyalanması,
yaması, tersine mühendislik yapılması veya hileli değişiklikler yapılması gibi istenmeyen işlemlere karşı koruma sağlayan araçlar veya yöntemler için kullanılır.


Protector, yazılımın orijinal halinin korunmasına ve yetkisiz kullanım veya dağıtımını engellemeye yardımcı olur.
Yazılımın kaynak kodunu veya çalışma sürecini değiştirmek veya hile yapmak isteyen saldırganların bu işlemleri zorlaştırılır.

(chatgpt)


Kısaca protectorlar (packerlar olarak da bilinir) işletim sistemleri tarafından yürütülebilir dosyalarınızı tersine mühendislik saldırılarına karşı korumayı amaçlar.
Bu amaç doğrultusunda; yazılımınızı şifreler, sıkıştırır, ve yetkisiz erişimlere karşı ek korumalar sağlarlar.




Dönelim benim projeme..


M0rpress Packer


Öncelikle, geliştirmiş olduğum bu yazılım zararlı yazılımları anti-virüslerden korumayı amaçlamamaktadır.
Birincil hedefim, topluma yardımcı olmak ve kendimi geliştirmektir.


Programımın ismi M0rpress Packer. Bir hayli basit bir çalışma prensibi var.

Öncelikle korumak istediğiniz exe dosyasını seçiyorsunuz.
Ardından ise şifreleme için bir key girmeniz gerekmektedir.
Şifreleme yöntemi olarak tamamen bana ait olan m0rcrypt ismini verdiğim bir encode algoritması kullanıyorum.


Daha sonra ise program, seçmiş olduğunuz exe'yi baştan sona şifreler.
Ve yeni bir "base agent" ismini verdiğim bir exe oluşturarak, sizin keyinizi ve şifrelenmiş yazılımınızı agent'ın içerisine kopyalar.
Daha sonra ise bu yeni oluşturulan exe incelenmeye çalışıldığında, sizin gerçek programınızın içeriğine ulaşılamaz.
Ve %99 oranında statik analizden korunmuş olursunuz.



Ancak, bu yeni exe çalıştırıldığı zaman, sizin şifrelenmiş programınızın şifresini çözer ve belleğe kopyalayıp çalıştırır.
Bu sayede dinamik analiz ile programınız disassembly işlemine maruz kalabilir.
Ancak böylesi bir senaryoda bile, programınızın şifrelerken kullandığınız şifreye ulaşamadıkları müddetçe birisinin yazılımınızı patchleme (crackleme) olasılığı bir hayli düşer.


Ekran Görüntüleri


GUI konusunda biraz gelişmem lazım :)





Şifrelenmemiş EXE




Şifrelenmiş EXE





Eksiklikler
1- Şifreleme anahtarı plain text olarak exe içerisinde bulunuyor.
Aslında basit bir şekilde onu da şifreleyebilirim.
Ama key yinede ele geçirilebilir.
O yüzden biraz daha kalıcı bir çözüm arayışındayım.
En yakın zamanda güncelleyeceğim.

2- En büyük problem yüksek ihtimal açık kaynak kodlu olması :p
Açık kaynak bir packer'a unpacker yazmak hiç de zor olmayacaktır.
Ancak defalarca bahsettiğim gibi.
Amacım yalnızca açık kaynak dünyasına katkıda bulunmak ve kendimi geliştirmek.


Hatırlatmak isterim ki, bu yazılım hiçbir ticari amaç taşımamakta.

O yüzden bu program ile yazılımlarınızı şifreleyip dağıtmanızı asla önermiyorum.


Kaynak Kod
(github)
eline sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.