- Katılım
- 23 Ocak 2023
- Mesajlar
- 171
- Tepkime puanı
- 2,287
- Konum
- public_html
- İlgi Alanlarınız
- exploiter
- Cinsiyet
-
- Erkek
Uzun aradan sonra selamun aleyküm dayıkolar
Çoğu oyundaki bug mantığını temel olarak anlatmaya geldim size canlar.
Şimdi basit bir bug olan bir oyun açıcaz
![images.png images.png](https://hacktivizm.org/data/attachments/1/1903-4cf11b7da559ec5b2a14196997c649a0.jpg)
bu oyunda bonus kısmı size ait olan süre zarfı fakat bu oyunda 22.seviyeye gelince size 4 saniye gibi kısa bir süre veriyor ve bölümün geçilmesini imkansız hale getiriyor bunun sebebi oyunu yazan enayi 1byte(8 bit)'lik alana kaldıramayacağı değeri veriyor.Oyunun süre mantığı 10x(seviye+4) olarak gidiyor. 22.seviyede sisteme girilen değer 10x26dan 260 oluyor ama kodlayan arkadaş 1 bytelık bir yer açmış bu süre kısmına süre kısmına girilebilecek kısım yani 1 byte'ın karşılığı 0-255 arasındadır.
![veribyte.png veribyte.png](https://hacktivizm.org/data/attachments/1/1904-805fc6f0e186140be2863af85012edd7.jpg)
0-255 arasındaki değeri geçip 260 olduğunda sistem otomatik olarak kendini tamamlamak için 255+1 diye değer verir ve çıkan sonucu elimizdeki sonuca böler elde edilen kalanı da kendine değer olarak alır
yani 22.seviye 4 saniye olmasının sebebi -> 26x10 = 260, sistemin karşıladığı değer 255+1 = 256
260/256'dan kalan 4 geliyor ve kalanı kendi değerine yazdırıyor yazılımsal olarak anlatmam gerekirse
![Ekran Alıntısı.PNG Ekran Alıntısı.PNG](https://hacktivizm.org/data/attachments/1/1905-dba0d842dab931b48443dcfc5c2b1964.jpg)
burda biz unsigned shortun sahip olabileceği en büyük değer olan 65535 değerini verdik ve sonra bu değeri 2 arttırdık yani alabileceği değerden daha büyük değer aldırdık
ve çıkan sonucumuzda aşağıdaki gibi olucaktır
![1.PNG 1.PNG](https://hacktivizm.org/data/attachments/1/1906-4793c8e7aa6cfbd1e31b4411a9fc92b4.jpg)
x in değeri artık 1 oldu çünkü max değerine 1 ekleyip böldü ve kalanını kendi üstüne yazıp geri kalanını sildi buda bu tür oyunlarda bug a sebep olur.
Çoğu oyundaki bug mantığını temel olarak anlatmaya geldim size canlar.
Şimdi basit bir bug olan bir oyun açıcaz
![images.png images.png](https://hacktivizm.org/data/attachments/1/1903-4cf11b7da559ec5b2a14196997c649a0.jpg)
bu oyunda bonus kısmı size ait olan süre zarfı fakat bu oyunda 22.seviyeye gelince size 4 saniye gibi kısa bir süre veriyor ve bölümün geçilmesini imkansız hale getiriyor bunun sebebi oyunu yazan enayi 1byte(8 bit)'lik alana kaldıramayacağı değeri veriyor.Oyunun süre mantığı 10x(seviye+4) olarak gidiyor. 22.seviyede sisteme girilen değer 10x26dan 260 oluyor ama kodlayan arkadaş 1 bytelık bir yer açmış bu süre kısmına süre kısmına girilebilecek kısım yani 1 byte'ın karşılığı 0-255 arasındadır.
![veribyte.png veribyte.png](https://hacktivizm.org/data/attachments/1/1904-805fc6f0e186140be2863af85012edd7.jpg)
0-255 arasındaki değeri geçip 260 olduğunda sistem otomatik olarak kendini tamamlamak için 255+1 diye değer verir ve çıkan sonucu elimizdeki sonuca böler elde edilen kalanı da kendine değer olarak alır
yani 22.seviye 4 saniye olmasının sebebi -> 26x10 = 260, sistemin karşıladığı değer 255+1 = 256
260/256'dan kalan 4 geliyor ve kalanı kendi değerine yazdırıyor yazılımsal olarak anlatmam gerekirse
![Ekran Alıntısı.PNG Ekran Alıntısı.PNG](https://hacktivizm.org/data/attachments/1/1905-dba0d842dab931b48443dcfc5c2b1964.jpg)
burda biz unsigned shortun sahip olabileceği en büyük değer olan 65535 değerini verdik ve sonra bu değeri 2 arttırdık yani alabileceği değerden daha büyük değer aldırdık
ve çıkan sonucumuzda aşağıdaki gibi olucaktır
![1.PNG 1.PNG](https://hacktivizm.org/data/attachments/1/1906-4793c8e7aa6cfbd1e31b4411a9fc92b4.jpg)
x in değeri artık 1 oldu çünkü max değerine 1 ekleyip böldü ve kalanını kendi üstüne yazıp geri kalanını sildi buda bu tür oyunlarda bug a sebep olur.