- 10 Ağu 2019
- 985
- 16
Aşırı basit bir keygenme. Reverse'e yeni başlayanlar, ilgisi olanlar için belki fayda sağlar.
https://crackmes.one/crackme/5da31ebc33c5d46f00e2c661
Random bir şey girmeye çalıştığımda zaten kabul etmedi.
File komutu ile dosya hakkında temel bilgi sahibi olmayı amaçladım. Elf 64-bit executable olduğunu gördüm. (not stripped)
String değerlerini incelediğimde gcc ile compile edildiğini, şifre doğru girildiğinde verdiği mesajı ve aynı şekilde yanlış girildiğinde vermiş olduğu mesajı gördüm.
Ghidra ile yeni proje oluşturup açtım. Ana fonksiyonu incelediğimizde validate_key diye bir fonksiyonun önemli olduğunu gördüm. Direkt radare2 ile asm olarak da analiz edebilirdim ancak biliyorsunuz ghidra NSA tarafından paylaşıldığı için daha havalı. Aslında radare2'de mr.robot'da vardı ama NSA daha havalı.
Bahsetmiş olduğum fonksiyonu inceledidiğimde 0x4c7 hexadecimal değerini döndürdüğünü gördüm.
Gittim bu hexadecimal değeri decimal'a çevirdim. Sonuç 1223 çıktı.
Basit bir keygenme olduğu için mantığı da basit zaten. 1223'te tam olarak bölünebilen bütün sayılar key olarak geçiyor. Buyrun deneyelim.
Key generator yazma vakti.
Aşağıdaki görselden mükemmel çalıştığını görebilirsiniz. Çok çok çok basit, başlangıç seviyesi bir elf reverse idi.
Daha fazlası için kanalıma abone olup like atmayı unutmayınız. İyi forumlar..
https://crackmes.one/crackme/5da31ebc33c5d46f00e2c661
Random bir şey girmeye çalıştığımda zaten kabul etmedi.
File komutu ile dosya hakkında temel bilgi sahibi olmayı amaçladım. Elf 64-bit executable olduğunu gördüm. (not stripped)
String değerlerini incelediğimde gcc ile compile edildiğini, şifre doğru girildiğinde verdiği mesajı ve aynı şekilde yanlış girildiğinde vermiş olduğu mesajı gördüm.
Ghidra ile yeni proje oluşturup açtım. Ana fonksiyonu incelediğimizde validate_key diye bir fonksiyonun önemli olduğunu gördüm. Direkt radare2 ile asm olarak da analiz edebilirdim ancak biliyorsunuz ghidra NSA tarafından paylaşıldığı için daha havalı. Aslında radare2'de mr.robot'da vardı ama NSA daha havalı.
Bahsetmiş olduğum fonksiyonu inceledidiğimde 0x4c7 hexadecimal değerini döndürdüğünü gördüm.
Gittim bu hexadecimal değeri decimal'a çevirdim. Sonuç 1223 çıktı.
Basit bir keygenme olduğu için mantığı da basit zaten. 1223'te tam olarak bölünebilen bütün sayılar key olarak geçiyor. Buyrun deneyelim.
Key generator yazma vakti.
Kod:
[FONT=monospace][COLOR=#BC7A00]#include[/COLOR] [COLOR=#408080][I]<stdio.h>[/I][/COLOR][COLOR=#BC7A00]
#include[/COLOR] [COLOR=#408080][I]<time.h>[/I][/COLOR][COLOR=#BC7A00]
#include[/COLOR] [COLOR=#408080][I]<stdlib.h>[/I][/COLOR][COLOR=#BC7A00]
#define EXIT_SUCCESS 0
[/COLOR]
[COLOR=#B00040]v0id[/COLOR]
[COLOR=#0000FF]keyGen[/COLOR]()
{
srand(time([COLOR=#008000]NULL[/COLOR]));
[COLOR=#B00040]int[/COLOR] random [COLOR=#666666]=[/COLOR] rand();
printf([COLOR=#BA2121]"%d[/COLOR][COLOR=#BB6622][B]\n[/B][/COLOR][COLOR=#BA2121]"[/COLOR], random[COLOR=#666666]-[/COLOR](random [COLOR=#666666]%[/COLOR] [COLOR=#666666]1223[/COLOR]));
}
[COLOR=#B00040]int[/COLOR]
[COLOR=#0000FF]main[/COLOR]()
{
keyGen();
[COLOR=#008000][B]return[/B][/COLOR] EXIT_SUCCESS;
}
[/FONT]
Aşağıdaki görselden mükemmel çalıştığını görebilirsiniz. Çok çok çok basit, başlangıç seviyesi bir elf reverse idi.
Daha fazlası için kanalıma abone olup like atmayı unutmayınız. İyi forumlar..
Son düzenleme: