Cheat Engine gibi programlar nasıl çalışıyor #2

Novn

Üye
12 Haz 2022
79
30

Cheat Engine Gibi Programlar Nasıl Çalışıyor

Cheat Engine gibi programların temel işleyişi aslında bir program içerisine handle açıp verdiğiniz değere göre programın RAM içerisinde ayırılan adresleri tarayıp istediğiniz veriler ile eşleşen adresleri bulmaya ve kullanıcıya bu değerleri değiştirebilme olanağı sağlayan programdır.
Bu işlem normal olarak oyunlar üzerinde kullanılmakta gerek sağlık değeri gerek mühimmat gibi oyun içerisinde işe yarayacak değerleri verdiğiniz değere sabitlemek gibi işlemleri yapabilmekte
bu konuda bizim dinamik RAM adresi bulmamıza, bu adresi statik hale getirmemize bir önceki konuda anlattığım gibi yardımcı olmakta, öyleyse Cheat Engine programının üzerinde bu işlemleri nasıl yapabileceğimizi görelim.
tDLvtppat0nk.png

Programı açtığımızda bu şekilde bir görüntüyle karşılaşıyoruz, programın kullanımının detaylarına girmek istemiyorum internet üzerinde bolca bilgi bulunmakta.
Öncelikle deneme oyunumuz olarak klasik olan AssaultCube oyununu kullanacağım oyunumuzu seçelim ve ilk mermi değerimizi taratalım.

Yc3T1KwSgEKL.png

işaretlediğim gibi mermi değerini programa verip First Scan diyorum ve bana program için ayırılan RAM bölümü içerisinde tarama yapıyor ve sonuçları bize listeliyor.
W6pHdYCVBojj.png

Fakat bu değerler içerisinde mermi değerimizi tutan adresi bulmamız imkansız bu liste içerisinde tekrar bir tarama yapmak için NEXT SCAN tuşunu kullanıyoruz, fakat öncelikle mermi değerimizi değiştirmemiz gerekmekte basitçe ateş ederek mermi sayımızı azaltıp güncel değerimizi tekrar taratalım.

OFpoVEXFFNav.png

gördüğünüz gibi mermi değerimizi tutan adreslere ulaştık bu aşamadan sonra dilediğimiz gibi değeri değiştirebilir üzerinde oynayabiliriz.
RAM nedir işlevleri ve temel kavramlar #1 konusunda da anlattığım gibi oyunu kapattığımızda RAM üzerinde ayırılan kısım silinecek, tekrar açtığımızda ise adresler tamamı ile değişmiş olacak.
Bu durumda pointer yani sabit adresi bulmamız gerek ki her seferinde adres bulmaya çalışmayalım. Kısaca pointer bulma işlemini de resimlerle anlatmak isterim,


Mn9R3XinFISm.png

seçili adresimize sağ tıklayıp "pointer scan for this address" butonuna tıklıyoruz bu bizim için adresin program içerisinde hangi adreslerle eşleştiğini tespit edecek, sonucunda ise net sabit bir adres elde etmiş olacağız.

pointer adreslerimizi tarayalım.
uploaded image


uploaded image

463700 adet birbirine bağlı şekilde ilerleyen adres buldu tabi ki bunlar içerisinde doğru adresi seçmemiz mümkün değil, bu durumda seçeneklerimizi azaltmak için adresi bulurken yaptığımız gibi bir işlem yapacağız. Oyunumuzu kapatıyoruz ve tekrar açıyoruz bu durumda adresler yenilenmiş olacak fakat bir önceki taramamızla bir sonraki taramamızda aynı adresi içeren değerler kalacak böylece bulunan sonucu azaltacağız.

Oyunu tekrar açıp mermi değerinin yeni adresini buluyorum ve kopyalıyorum, bir önceki pointer listemi seçip açıyorum
uploaded image


uploaded image


"rescan memory" seçeneğini seçip yeni adresimi yazıyorum ve bana bu liste içerisinde tarama yapıyor sonuçları netleştirmiş oluyorum.

uploaded image


gördüğünüz gibi sonuçlar 400.000 seviyelerinden 2800'e geriledi, oyunu kapattık tekrar açıyoruz bu işlemleri tekrarlıyoruz.

uploaded image

sonuç sayısı 159'a düştü artık pointerlarımızı seçebiliriz.
ac_client.exe'lardan bir kaçını seçelim ve oyunu kapatıp açalım Cheat Engine üzerinden oyunu seçelim gelen uyarı ekranında "keep current list" diyelim ve pointerların otomatik olarak
mermi değerini aldığını doğrulayalım.
uploaded image

eğer pointerlar otomatik olarak merminin değerini aldılar ise başarılı bir şekilde pointer buldunuz demektir. Artık sabit bir adresiniz var.

Evet bu konumuz biraz uzun oldu umuyorum anlaşılmayan bir yer olmamıştır eğer anlamadığınız bir nokta var ise lütfen belirtin ki yardımcı olabileyim. Bundan sonraki bölüm için C++ üzerinden bu değerleri okumayı ve ya bu değerlerin yerine yeni değerler yazmayı göstereceğim yani ufak bir oyun hilesi yazacağız, buraya kadar bilgilendirebildiysem ne mutlu bana,
iyi günler dilerim sağlıcakla kalın.

~ İçerik Sayfası ~
~ Bir Önceki Sayfa ~
~ Bir Sonraki Sayfa ~

 

drjacob

Uzman üye
21 Ocak 2012
1,773
402
localhost

Cheat Engine Gibi Programlar Nasıl Çalışıyor

Cheat Engine gibi programların temel işleyişi aslında bir program içerisine handle açıp verdiğiniz değere göre programın RAM içerisinde ayırılan adresleri tarayıp istediğiniz veriler ile eşleşen adresleri bulmaya ve kullanıcıya bu değerleri değiştirebilme olanağı sağlayan programdır.
Bu işlem normal olarak oyunlar üzerinde kullanılmakta gerek sağlık değeri gerek mühimmat gibi oyun içerisinde işe yarayacak değerleri verdiğiniz değere sabitlemek gibi işlemleri yapabilmekte
bu konuda bizim dinamik RAM adresi bulmamıza, bu adresi statik hale getirmemize bir önceki konuda anlattığım gibi yardımcı olmakta, öyleyse Cheat Engine programının üzerinde bu işlemleri nasıl yapabileceğimizi görelim.
tDLvtppat0nk.png

Programı açtığımızda bu şekilde bir görüntüyle karşılaşıyoruz, programın kullanımının detaylarına girmek istemiyorum internet üzerinde bolca bilgi bulunmakta.
Öncelikle deneme oyunumuz olarak klasik olan AssaultCube oyununu kullanacağım oyunumuzu seçelim ve ilk mermi değerimizi taratalım.

Yc3T1KwSgEKL.png

işaretlediğim gibi mermi değerini programa verip First Scan diyorum ve bana program için ayırılan RAM bölümü içerisinde tarama yapıyor ve sonuçları bize listeliyor.
W6pHdYCVBojj.png

Fakat bu değerler içerisinde mermi değerimizi tutan adresi bulmamız imkansız bu liste içerisinde tekrar bir tarama yapmak için NEXT SCAN tuşunu kullanıyoruz, fakat öncelikle mermi değerimizi değiştirmemiz gerekmekte basitçe ateş ederek mermi sayımızı azaltıp güncel değerimizi tekrar taratalım.

OFpoVEXFFNav.png

gördüğünüz gibi mermi değerimizi tutan adreslere ulaştık bu aşamadan sonra dilediğimiz gibi değeri değiştirebilir üzerinde oynayabiliriz.
RAM nedir işlevleri ve temel kavramlar #1 konusunda da anlattığım gibi oyunu kapattığımızda RAM üzerinde ayırılan kısım silinecek, tekrar açtığımızda ise adresler tamamı ile değişmiş olacak.
Bu durumda pointer yani sabit adresi bulmamız gerek ki her seferinde adres bulmaya çalışmayalım. Kısaca pointer bulma işlemini de resimlerle anlatmak isterim,


Mn9R3XinFISm.png

seçili adresimize sağ tıklayıp "pointer scan for this address" butonuna tıklıyoruz bu bizim için adresin program içerisinde hangi adreslerle eşleştiğini tespit edecek, sonucunda ise net sabit bir adres elde etmiş olacağız.

pointer adreslerimizi tarayalım.
uploaded image


uploaded image

463700 adet birbirine bağlı şekilde ilerleyen adres buldu tabi ki bunlar içerisinde doğru adresi seçmemiz mümkün değil, bu durumda seçeneklerimizi azaltmak için adresi bulurken yaptığımız gibi bir işlem yapacağız. Oyunumuzu kapatıyoruz ve tekrar açıyoruz bu durumda adresler yenilenmiş olacak fakat bir önceki taramamızla bir sonraki taramamızda aynı adresi içeren değerler kalacak böylece bulunan sonucu azaltacağız.

Oyunu tekrar açıp mermi değerinin yeni adresini buluyorum ve kopyalıyorum, bir önceki pointer listemi seçip açıyorum
uploaded image


uploaded image


"rescan memory" seçeneğini seçip yeni adresimi yazıyorum ve bana bu liste içerisinde tarama yapıyor sonuçları netleştirmiş oluyorum.

uploaded image


gördüğünüz gibi sonuçlar 400.000 seviyelerinden 2800'e geriledi, oyunu kapattık tekrar açıyoruz bu işlemleri tekrarlıyoruz.

uploaded image

sonuç sayısı 159'a düştü artık pointerlarımızı seçebiliriz.
ac_client.exe'lardan bir kaçını seçelim ve oyunu kapatıp açalım Cheat Engine üzerinden oyunu seçelim gelen uyarı ekranında "keep current list" diyelim ve pointerların otomatik olarak
mermi değerini aldığını doğrulayalım.
uploaded image

eğer pointerlar otomatik olarak merminin değerini aldılar ise başarılı bir şekilde pointer buldunuz demektir. Artık sabit bir adresiniz var.

Evet bu konumuz biraz uzun oldu umuyorum anlaşılmayan bir yer olmamıştır eğer anlamadığınız bir nokta var ise lütfen belirtin ki yardımcı olabileyim. Bundan sonraki bölüm için C++ üzerinden bu değerleri okumayı ve ya bu değerlerin yerine yeni değerler yazmayı göstereceğim yani ufak bir oyun hilesi yazacağız, buraya kadar bilgilendirebildiysem ne mutlu bana,
iyi günler dilerim sağlıcakla kalın.

~ İçerik Sayfası ~
~ Bir Önceki Sayfa ~
~ Bir Sonraki Sayfa ~

Eline sağlık.
 

Novn

Üye
12 Haz 2022
79
30
Hocam acaba konu tersine mühendisliğe daha çok yakışmaz mı? Elinize sağlık güzel anlatım.
Elinize sağlık hocam mükemmel konu
Güzel konu, eline sağlık.
Teşekkürler iyi forumlar arkadaşlar
 

void0

Yeni üye
6 Şub 2023
29
11
Ne hikmetse herkes'de assault cube üzerinde yapıyor bu tip aramaları. Çıkan yeni nesil oyunlar'da yazdığınız kodlar hiçbir işe yaramıyor.
 

Novn

Üye
12 Haz 2022
79
30
Hocam acaba konu tersine mühendisliğe daha çok yakışmaz mı? Elinize sağlık güzel anlatım.
teşekkürler tabi ki daha iyi olabilir, bu konudan başlama sebebim hem ufak bir donanım bilgisi olsun hem de bir sonraki bölümde de bahsedeceğim gibi yazılım bilgisi olsun temelden başlayarak anlatmak böylece neyin ne sebeple olduğunu ezber üzerinden değil mantık üzerinden anlayabilmeyi sağlamak umuyorum başarırız :)
 

Lihtg

Moderatör
15 Mar 2022
1,844
756
lihtgTHT.php
teşekkürler tabi ki daha iyi olabilir, bu konudan başlama sebebim hem ufak bir donanım bilgisi olsun hem de bir sonraki bölümde de bahsedeceğim gibi yazılım bilgisi olsun temelden başlayarak anlatmak böylece neyin ne sebeple olduğunu ezber üzerinden değil mantık üzerinden anlayabilmeyi sağlamak umuyorum başarırız :)
Anladım hocam tekrardan elinize sağlık devamını bekliyoruz.
 

Novn

Üye
12 Haz 2022
79
30
Ne hikmetse herkes'de assault cube üzerinde yapıyor bu tip aramaları. Çıkan yeni nesil oyunlar'da yazdığınız kodlar hiçbir işe yaramıyor.
Henüz kod yazmadık :) assault cube oyununu seçme sebebim eski ve oynamak isteyen sayısı pek fazla değil yani böyle bir konuyu anlatmak için uygun bunun dışında modern oyunlarda uygulamak imkansız değil bunun içinde bypass yöntemleri hakkında konu serisi yapabilirim, şimdilik temelden başlamak ve ezber mantığını silmek amacım. Umuyorum yardımcı olabilimişimdir.
çok açıklayıcı bir bilgi elinizze sağlık c++ beklıyoruz :D
teşekkürler açıklayıcı olduysa ne mutlu bana, en yakın zamanda diğer bölümü de yapacağım.
 
Moderatör tarafında düzenlendi:
Ü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.