CrâckMe Çözümlemeye Nereden Başlamalıyım?

Detaylı bir yazı yazacağım arkadaşım ;

1. CrâckMe Nedir ve Nasıl Çözülür?

Öncelikle bu soruyu biraz daha değiştirelim , "CrâckMe'yi neden çözeriz" bu sorunun yanıtını vermen gerekiyor cracklemek temel olarak revers. eng. tersine mühendislik gerektiren bir olay. Temel olarak üreticinin bir koruması vardır ve sen tersine mühendislik yaparak bu korumayı bypass edersin. Bu en çok game hacking alanında kullanılır eğer ki gameHacking ile ilgilenmiyorsan hemen şimdi CrâckMe gibi uygulamarı çözmeye çalışmayı bırakmalısın , eline ne geçecek internette gördüğün bir CrâckMe yi çözmek sana bişey kazandıracak mı ? sorular bunlar .

2. Hangi Araçları Kullanmalıyım?

OlyDBG ve IDA işini görecektir . Başlangıç düzeyde olduğunu varsaydığım için bu iki program hariç tüm programları tamamen bilgisayarından kaldır . Çok ileri düzeyde bile bu ikisi hariç nadiren diğer programlar kullanılır. Ayrıca yine başlangıç düzeyinde olduğunu varsayarak söylüyorum olydbg kullanımını bilmen önemlidir, 10 tane programın kullanımını öğrenmek yerine olyDBG'ı yalayıp yutmak sana çok daha fazla kazanç sağlar , bir programın çalışma zamanından sonlandırılma zamanına kadar ihtiyacın olan her şeyi sana listeler.

3. Analiz Sürecine Nasıl Başlamalıyım?

Burada tekrar belirtmek istiyorum , olaya sadece "CrâckMe" olarak bakıyorsun öncelikle bunu aklından çıkar. Bu işi öğrendikten sonra büyük oranda anti Cheat'ler ile çalışmaya başlayacaksın : "Bir CrâckMe uygulamasını indirip çalıştırdıktan sonra adım adım nasıl bir analiz süreci izlemeliyim?" bu cümlenin doğrusu "Bir anti cheati çalışma zamanında inceleyebilmek için neler yapmalıyım" olacak. Bu çok derin ve detaylı bir husus burada iki cümle ile anlatmaya çalışıp yanlış yönlendirme yapmak yada kafanı karıştırmak istemem.

4. Kod ve Şifreleme Çözümleri İçin Tavsiyeler

XOR genel olarak asm de şifreleme için kullanılır ve basit bir yöntemdir bu noktada doğrudan chatgpt ile işe başlayabilirsin chatgpt ye doğru soruları doğru cümlelerle sorarsan alamayacağın yardım yoktur. BKZ:

17A0FE30 - 00 34 00 - add [eax+eax],dh

eax kaydındaki değerin iki katına erişip o bellek adresine dh kaydındaki değeri ekler. buda bizi başka bir bellek adresine götürür , sonra o bellek adresinde de bir takım işlemler olur oda başka bir bellek adresine götürür buna genelde dallanma deriz , oldukça eski ve basit bir yöntemdir. bu yazımdan anlayacağın üzere kod şifreleme ve çözümleme işlemleri için öncelikle bellek yapısını bilmen gerekir write & read memory fonksiyonlarının ne amaçla kullanıldığını bilmen gerekir ayrıca üzerinde çalıştığın uygulama bu fonkları nerelerde neden kullanmış bilmen gerekir bunların temeli ASM öğrenmekten geçer.


5.İleri Seviye İçin Nasıl Çalışmalıyım?

Burada bu sorunu cevaplamaya gerek yok kendini belli bir seviyeye getirdikten sonra kafanda yarattığın bu "CrâckMe" algısı zaten yok olacak nerelere bakman gerektiğini anlayacaksın.

6. Pratik ve Kaynak Önerileri

tekrardan bu cümleyi kurmak isterim "CrâckMe" kelimesini tamamen kafandan sil at senin olayın tersine mühendislik bunun için en uygunu örneğin super mario oyununun atari versiyonunu bul ve indir oyunu olydbg ile aç ve incele C.E kullanarak bellek adreslerinde tutulan değerleri gör değiştirdiğinde neler olacak onu gözlemle bir yandanda c++ öğrendiğini varsayıyorum bu süreçte öğrendiğin c++ ile birlikte mario için küçük bir hile yapabilirsin sadece write and read mem fonksiyonlarını bilerek hemde .

  • Programlama Dilleri: C++ öğrenmen gerekiyor hatta istek değil %100 ihtiyaçtır.
umarım yorumlarım sana ve bu işe başlamak isteyen diğer arkadaşlara faydalı olur elimden geldiğince basit ve sade anlatmaya çalıştım , yazdıklarım hakkında aklına takılan bir şey olursa diğer arkadaşlar ve sen konu altında belirtebilirsiniz lütfen sorularınız özel mesaj atarak sormayın bu konu altında belirtin ki herkes faydalansın iyi forumlar
Değerli yorumların için çok teşekkür ederim.

C ve C# bilgim zaten vardı. Birde bunlara C++ eklenecek gibi görünüyor. Önerdiğin sağlam kaynak var mıdır ?
 
Değerli yorumların için çok teşekkür ederim.

C ve C# bilgim zaten vardı. Birde bunlara C++ eklenecek gibi görünüyor. Önerdiğin sağlam kaynak var mıdır ?
c temelini biliyorsan syntax öğrenme işini es geçebilirsin. kaynak olarak google da "c++ memory management" konusunu aratarak işe başlayabilirsin.
 
Merhaba arkadaşlar,
CrâckMe kategorisine yeni adım attım ve bu alanda kendimi geliştirmek istiyorum. Ancak nereden başlayacağımı tam olarak bilemiyorum. Şimdiye kadar birkaç temel bilgiye sahibim ama profesyonel bir yaklaşım geliştirmek ve daha karmaşık seviyelere ulaşmak istiyorum. Bu yüzden size şu soruları sormak istiyorum:


1. CrâckMe Nedir ve Nasıl Çözülür?

Bu tür uygulamaları çözmeye başlamadan önce ne tür temel bilgilere sahip olmam gerekiyor? Programlama dillerinden hangileri bu süreçte faydalı olur? Ayrıca, bu alandaki temel mantığı anlamak için önerdiğiniz bir kaynak var mı? Ek olarak hali hazırda biraz PHP biraz Python biliyorum. Birazdan kastım temel kod terimlerinin tamamını biliyor ve ufak çaplı projeler ortaya koyabiliyorum.


2. Hangi Araçları Kullanmalıyım?

CrâckMe çözümlerinde yaygın olarak kullanılan araçlar nelerdir?

  • Debugger: Hangi debugger'ı kullanmamı tavsiye edersiniz? (x64dbg, OllyDbg gibi)
  • Disassembler: Ghidra ve IDA Pro arasındaki farklar nedir? Hangisini öğrenmek daha mantıklı?
  • Diğer Araçlar: Hex editörler, packet analyzer veya başka araçlar var mı?

Aşağıya bu işe başlamak için hazırladığım WM Makinemin ekran görüntüsünü koyuyorum tavsiyeleriniz burada çok önemli.

aeTCJRivv.png



3. Analiz Sürecine Nasıl Başlamalıyım?

Bir CrâckMe uygulamasını indirip çalıştırdıktan sonra adım adım nasıl bir analiz süreci izlemeliyim? Örneğin:

  • İlk önce programı çalıştırıp gözlem mi yapmalıyım?
  • Debugger ile kod akışını izlemek için hangi adımları takip etmeliyim?
  • Şifreleme algoritmalarını tanımak için nasıl bir yöntem izlemeliyim?

4. Kod ve Şifreleme Çözümleri İçin Tavsiyeler

Eğer CrâckMe içerisinde XOR, Base64 gibi algoritmalar varsa, bu tür şifreleme yöntemlerini anlamak ve çözmek için hangi kaynaklardan faydalanmalıyım? Ayrıca, bu algoritmaları çözümlerken kullandığınız püf noktalar var mı? CyberChef gibi toolları aktif olarak kullanıyorum bu yeterli midir ?


5. İleri Seviye İçin Nasıl Çalışmalıyım?

İleri seviyeye geçmek için kendimi nasıl geliştirebilirim? Daha karmaşık CrâckMe'leri çözmek için ne tür beceriler edinmeliyim? Örneğin:

  • Assembly öğrenmek bu süreçte ne kadar önemli?
  • Kod güvenliği veya tersine mühendislik alanında uzmanlaşmak için hangi konulara odaklanmalıyım?

6. Pratik ve Kaynak Önerileri

Son olarak, pratik yapabileceğim güvenilir ve başlangıç seviyesine uygun CrâckMe örneklerini nereden bulabilirim? Eğer bildiğiniz güzel bir kaynak veya forum varsa, paylaşırsanız çok sevinirim.


Benim şu anki bilgilerim şunlar:

  • Programlama Dilleri: Python biliyorum, biraz C ve C# bilgim var. Biraz PHP bilgimde var.
  • Araçlar: Hex editör kullanmayı az çok biliyorum. Ancak debugger ve disassembler konusunda pek deneyimim yok.
  • İlgim: Daha çok algoritmaların mantığını çözmek ve şifreleme yöntemlerini anlamak istiyorum. Aynı zamanda temel programları cracklemek ve bunların lisans mantığını kavrayıp bu işte uzmanlaşmak istiyorum.
Yardımlarınız için şimdiden teşekkür ederim! Eğer sizin de bu yolda tecrübeleriniz varsa, fikirlerinizi paylaşabilir misiniz? 😊
CemoJR...
Öncelikle önemli olsan soru hangi dilin reverse engineering tarafını öğrenmek istiyorsun?İyi bir reverser olmak için o dili iyi bilmen lazım.
 
c temelini biliyorsan syntax öğrenme işini es geçebilirsin. kaynak olarak google da "c++ memory management" konusunu aratarak işe başlayabilirsin.
C temelini evet biliyorum. O taktirde memory management konusunu araştıracağım.
 
Detaylı bir yazı yazacağım arkadaşım ;

1. CrâckMe Nedir ve Nasıl Çözülür?

Öncelikle bu soruyu biraz daha değiştirelim , "CrâckMe'yi neden çözeriz" bu sorunun yanıtını vermen gerekiyor cracklemek temel olarak revers. eng. tersine mühendislik gerektiren bir olay. Temel olarak üreticinin bir koruması vardır ve sen tersine mühendislik yaparak bu korumayı bypass edersin. Bu en çok game hacking alanında kullanılır eğer ki gameHacking ile ilgilenmiyorsan hemen şimdi CrâckMe gibi uygulamarı çözmeye çalışmayı bırakmalısın , eline ne geçecek internette gördüğün bir CrâckMe yi çözmek sana bişey kazandıracak mı ? sorular bunlar .

2. Hangi Araçları Kullanmalıyım?

OlyDBG ve IDA işini görecektir . Başlangıç düzeyde olduğunu varsaydığım için bu iki program hariç tüm programları tamamen bilgisayarından kaldır . Çok ileri düzeyde bile bu ikisi hariç nadiren diğer programlar kullanılır. Ayrıca yine başlangıç düzeyinde olduğunu varsayarak söylüyorum olydbg kullanımını bilmen önemlidir, 10 tane programın kullanımını öğrenmek yerine olyDBG'ı yalayıp yutmak sana çok daha fazla kazanç sağlar , bir programın çalışma zamanından sonlandırılma zamanına kadar ihtiyacın olan her şeyi sana listeler.

3. Analiz Sürecine Nasıl Başlamalıyım?

Burada tekrar belirtmek istiyorum , olaya sadece "CrâckMe" olarak bakıyorsun öncelikle bunu aklından çıkar. Bu işi öğrendikten sonra büyük oranda anti Cheat'ler ile çalışmaya başlayacaksın : "Bir CrâckMe uygulamasını indirip çalıştırdıktan sonra adım adım nasıl bir analiz süreci izlemeliyim?" bu cümlenin doğrusu "Bir anti cheati çalışma zamanında inceleyebilmek için neler yapmalıyım" olacak. Bu çok derin ve detaylı bir husus burada iki cümle ile anlatmaya çalışıp yanlış yönlendirme yapmak yada kafanı karıştırmak istemem.

4. Kod ve Şifreleme Çözümleri İçin Tavsiyeler

XOR genel olarak asm de şifreleme için kullanılır ve basit bir yöntemdir bu noktada doğrudan chatgpt ile işe başlayabilirsin chatgpt ye doğru soruları doğru cümlelerle sorarsan alamayacağın yardım yoktur. BKZ:

17A0FE30 - 00 34 00 - add [eax+eax],dh

eax kaydındaki değerin iki katına erişip o bellek adresine dh kaydındaki değeri ekler. buda bizi başka bir bellek adresine götürür , sonra o bellek adresinde de bir takım işlemler olur oda başka bir bellek adresine götürür buna genelde dallanma deriz , oldukça eski ve basit bir yöntemdir. bu yazımdan anlayacağın üzere kod şifreleme ve çözümleme işlemleri için öncelikle bellek yapısını bilmen gerekir write & read memory fonksiyonlarının ne amaçla kullanıldığını bilmen gerekir ayrıca üzerinde çalıştığın uygulama bu fonkları nerelerde neden kullanmış bilmen gerekir bunların temeli ASM öğrenmekten geçer.


5.İleri Seviye İçin Nasıl Çalışmalıyım?

Burada bu sorunu cevaplamaya gerek yok kendini belli bir seviyeye getirdikten sonra kafanda yarattığın bu "CrâckMe" algısı zaten yok olacak nerelere bakman gerektiğini anlayacaksın.

6. Pratik ve Kaynak Önerileri

tekrardan bu cümleyi kurmak isterim "CrâckMe" kelimesini tamamen kafandan sil at senin olayın tersine mühendislik bunun için en uygunu örneğin super mario oyununun atari versiyonunu bul ve indir oyunu olydbg ile aç ve incele C.E kullanarak bellek adreslerinde tutulan değerleri gör değiştirdiğinde neler olacak onu gözlemle bir yandanda c++ öğrendiğini varsayıyorum bu süreçte öğrendiğin c++ ile birlikte mario için küçük bir hile yapabilirsin sadece write and read mem fonksiyonlarını bilerek hemde .

  • Programlama Dilleri: C++ öğrenmen gerekiyor hatta istek değil %100 ihtiyaçtır.
umarım yorumlarım sana ve bu işe başlamak isteyen diğer arkadaşlara faydalı olur elimden geldiğince basit ve sade anlatmaya çalıştım , yazdıklarım hakkında aklına takılan bir şey olursa diğer arkadaşlar ve sen konu altında belirtebilirsiniz lütfen sorularınız özel mesaj atarak sormayın bu konu altında belirtin ki herkes faydalansın iyi forumlar
Reverse'in sadece game hacking olarak değerlendirilmesini doğru bulmuyorum. Hem hobi olarak yapılabilir her ne kadar garip olsa bile hem de cracklenecek tek şey game hacking alanında olmak zorunda değil... Şu an evde değilim eve varınca daha detaylı yazarım.
 
Reverse'in sadece game hacking olarak değerlendirilmesini doğru bulmuyorum. Hem hobi olarak yapılabilir her ne kadar garip olsa bile hem de cracklenecek tek şey game hacking alanında olmak zorunda değil... Şu an evde değilim eve varınca daha detaylı yazarım.
Katılıyorum kardeşim , fakat ortama uygun örnekler vermemiz gerekiyor.
 
Reverse'in sadece game hacking olarak değerlendirilmesini doğru bulmuyorum. Hem hobi olarak yapılabilir her ne kadar garip olsa bile hem de cracklenecek tek şey game hacking alanında olmak zorunda değil... Şu an evde değilim eve varınca daha detaylı yazarım.
Kesinlikle. crackmes.one üzerinden şuan seviye 2.5 - 2.9 arasına kadar olanları obf li olmasına rağmen çoğunu çözebilir kıvama geldim diyebilirim. Ve çok keyifli.
 

  Şuanda konuyu görüntüleyen kullanıcılar


Üst Alt