Hikayemizin başlangıcı;


Aç gözlülüğün değerleri çiğnediği ve casino sisteminin çökertilmesini bekleyen yeni bir zirve olduğu bir an vardır. Bu kısacık an içinde kumarbazları ve bilgisayar tabanlı makineleri alt etmenin kusursuz bir yolunu bulma düşüncesi içinizi heyecanla doldurur ve arkadaşlarınızla bu sistemi alt etmenin bir yolunu ararsınız.










Atahan ve üç arkadaşı bunu bir hayalden öteye taşıdı. Birçok sızma gibi, bu düşünce de sadece mümkün olup olmadığını anlamak amaçlı bir zihin egzersizi ile başladı. Sonucunda ise bu dört kişi sistemi gerçekten alt ederek, sistemi alt üst ettiler.


2015'lerin başında dördü de ileri teknoloji sektöründe çalışıyor, dağınık ve sıradan bir hayat sürüyorlardı. "Bilirsiniz işte çalışırsınız, biraz para kazanırsınız. İşten eve , evden işe bir hayat sürersiniz.


Kıbrıs, sinema ve televizyon programlarına sahne olan bir yerdi. Dolayısıyla teknoloji firması olan biri onlara bir yazılım geliştirmeleri, sonra da orada organize edilecek ileri teknoloji fuarındaki ticaret sergisinde bu yazılımı tanıtmaları teklifinde bulununca, Bu fırsatın üzerine atladılar. Hepsi de Kıbrıs'a ilk kez gidecek, bunun kendileri için bir işaret olup olmadığını görme şansına sahip olacak ve tüm masrafları karşılanacaktı;


Kim bunu geri çevirirdi ki? Büyük bir otelde herkese aynı suitler tutulması demek, Atahan'nın karısı ve Erdem'in kız arkadaşının da eğlenceye dahil olacağı anlamına geliyordu. Böylece iki çiftin yanı sıra Asena ile İlhan da, hep birlikte yola çıktılar.


Dört kafadar ticaret sergisinde işlerini bitirdikten sonra. Hepsi Merit Royal Premium otelin casinosunda slot makinelerinde oynuyorlardı. Atahanın karısı ortaya bir iddia attı.









Atahanın karısı;

-"Bu makineler bilgisayar tabanlı değil mi? Sizin işiniz bilgisayarla olduğuna göre, daha fazla kazanmamız için bir şeyler yapamaz mısınız?


Hep birlikte Erdemin suitinde toplandılar ve cihazların nasıl çalışıyor olabileceği , üzerine beyin fırtınası yaparak teorileri öne sürdürler.


Atahan bu yaratıcı sürecin pırıltılı anlarını hatırlarken "Dördümüz de bir şekilde meraka düşmüştük ve eve dönünce konuyu araştırmaya başladık," diyordu. Araştırmalarının zaten şüphelendi şeyi desteklemesi fazla sürmedi. "Evet, bunlar temel olarak bilgisayar programlarıydı O zaman bu cihazları çökertmenin bir yolu var mı diye düşünmeye başladık."


Slot makinelerini , makinenin içindeki bilgisayar çipine ulaşmak casinonun sağlayacağından çok daha cazip ödüller kazanacak versiyon için programa müdahale edip , "ROM yongalarında ki yerleşik yazılımı çözerek , " alt etmiş insanlar vardı. Bunu yapanlar olmuştu ama bunun için bir casino çalışanıyla, hatta herhangi bir çalışanlada değil, slot makinesi teknisyenlerinden biriyle anlaşmak gerekli görünüyordu.


Atahan ve kankalarına göre, "ROM'ları değiş-tokuş etmek, çok basitti . Eğer deneyeceklerse , bunun programlama becerilerine ve zekâlana karşı bir nevi meydan okuma olacağını düşündüler . Ayrıca toplum mühendisliği konusunda ileri yeteneklere sahip değillerdi , bir casino çalışanına nasıl yanaşacaklarını ve kendilerine ait olmayan parayı ele geçirmek üzere küçük planlarına dahil olması için onu nasıl ikna edeceklerini bilmeyen adamlardı.









Peki , sorunu çözmeye nasıl başlayacaklardı ?

Atahan;

Gerçekten gelen kartların sırasıyla ilgili bir tahminde bulunup bulunamayacağımızı merak ediyorduk . Veya bir programcının kendi çıkarı için koymuş olabileceği bir arka kapı (programa daha sonradan yetkisiz erişime izin veren bir yazılım kodu bulabilirdik. Tüm programlar programcılar tarafından yazılır mesela bahis oranlarını değiştirmek için butonlara belirli sıralarla basmak gibi tesadüfi bir yolla bir arka kapı veya kullanabileceğimiz basit bir programlama çatlağı bulabileceğimizi düşündük.

Bilgisayarlar tamamen deterministik cihazlar olduklarından , bilgisayar tabanlı bir oyunu alt etmenin daha kolay olacağını düşünüyordu sonuçlar ya eski verilere dayanacak, ya da eski bir mühendislik tanımıyla ifade edersek , iyi veri girilirse , iyi veri çıkacaktı .

Bu iş tam da dişine göreydi . Gençliğinde bir grupla müzik yapan , müzisyen olma hayalleri kuran biriydi ama bu hayali gerçekleşmeyince kendini matematik okurken bulmuştu . Matematiğe yeteneği vardı ve okulu hiçbir zaman fazla takmasa da (hatta üniversiteyi bırakmasına rağmen) , oldukça sağlam bir uzmanlık düzeyine erişmesine yetecek kadar matematikle ilgilenmişti.

İlk araştırmalar sonrasında Atahan;

Slot makinesi edinmenin yasal olmayacağını biliyorduk . Bu makineyi yasa dışı kumar oynatmak için kullanılacaktık . Yani bir nevi silah almak gibiydi yaptığımız. " Neyseki Makinelerin çoğu ICQ kanalarında satışı vardı bir yolunu bularak Kıbrıs içerisinde köhne bir depoda buluşarak tedarikçiden makineyi elde etmeyi başardık.

Erdem;

Japon yapımı bir makine için tedarikçiye 1.500 dolar ödeme yaptı.









2. Perde


Atahan , Erdem ve İlhan misafir odasını kullanmaları için kendilerine önerilen evin ikinci katına makineyi yüklenip çıkardılar. Bu deneyimin heyecanı Atahan için uzun süre hayatındaki unutulmazlardan biri olacaktı.








Atahan;

Makineyi açtık , ROM'unu çıkardık , işlemcisinin ne olduğunu çözdük . Korsan ürün gibi görünen bu Japon makinesini bilinen markalar arasından hangilerine benzediğini anlamaya çalışarak çözmeye karar verdim . Bunu yapan mühendislerin daha fazla baskı altında olduklarını ve biraz daha tembel veya kopyacı olabileceklerini var saydım.


Erdem:

Atahanın haklı olduğu ortaya çıktı . Apple II veya Atari'de gördüğünüz 63025 benzer dr 6809 (cip) kullanmışlardı . 64K hafıza alanına sahip 8-bitlik bir çipti bir Ben assembly (makine kodu) programcısıydım ve dolayısıyla aşina olduğum bir türdü.


Atahanın seçtigi makine yaklaşık 10 yıldır piyasada olan bir modeldi . Casinonun biri güncel tasarımlı yeni bir makine almak istediği zaman , Kıbrıs Kumarhaneler Komisyonu programlama üzerinde çalışmak ve ödüllerin oyuncular arasında adil şekilde dağılacağı şekilde tasarlanmasını sağlamak zorundaydı.







Yeni bir tasarımın onaylanma süreci uzayabiliyordu , dolayısıyla casinolar tahmin edilenden uzun süre eski makinelerle çalışmaya devam etme eğiliminde oluyorlardı . Ekibin düşüncesine göre , eski makineler güncelliğini yitirmiş teknolojiye sahip görünüyorlardı dolayısıyla ele geçirmenin daha az incelikli ve kolay olmasını umuyorlardı.


Çipten indirdikleri bilgisayar kodu dijital formdaydı ve bilgisayar komutlarının en temel seviyesi olan 1'ler ve O'lardan oluşuyordu . Bu formu üzerinde çalışabilecekleri bir biçime çevirmek için , öncelikle biraz tersine mühendislik yani mühendisin veya programcının mevcut ürünün nasıl tasarlandığını anlayabilmesi için kullandığı işlemi uygulamaları gerekiyordu ; bu da , söz konusu kodu makine dilinden kendilerinin anlayabileceği ve üzerinde çalışabilecekleri forma dönüştürmeleri anlamına geliyordu.


Erdemin kodu anlaşılır hale çevirebilmek için açıcı programa (disas sembler) ihtiyacı vardı . Dörtlü , yazılımı satın almaya çalışarak niyetlerini belli etmek istemediler bunu yapmak , kütüphaneye girerek , nasıl bomba yapılacağı hakkındaki kitapların incelemeye eşdeğer bir hareket olacaktı . Böylece , Atahanın söylediği üzere , "Çantada keklik olmayan ama eğlenceli ve nispeten kolay, " bir şekilde kendi programlarını yazdılar.





Video poker makinesindeki kodu disassembler program ile çalıştırınca , üç programcı da başına üşüştü . Becerikli bir yazılım mühendisi için odaklanmak istediği program kesitlerini hızlıca tespit etmek genelikle kolaydır. Çünkü kod yazan biri , program bloklarının başına ilk önce tanımlamalarını yerleştirir yani , bir kitapta her bölüm için konu başlıkları, bölüm başlıkları ve alt başlıklar koymak gibi . Her bloğun işlevini açıklayan bu notlar , görüşler ve hatırlatmalar yol işaretleri gibidirler.


Programlar makinenin işletebileceği forma dönüştürüldüğünde , bu yol işaretleri gözardı edilir . Bilgisayarın ya da mikroişlemcinin artık onlara ihtiyacı kalmamıştır . Dolayısıyla tersine mühendislik işlemi gören kodda bu faydalı açıklamalar yer almaz. "Yol işaretleri" ****foruyla devam edersek , anlaşılır komutlar haline dönen bu kod , yer adlarının , otoyol ve cadde isimlerinin yer almadığı bir yol haritası gibidir.


Ekranda sayfalarca kodu ince eleyip sık dokuyarak şu temel soruların cevaplarına yönelik ipuçları aradılar:

"Mantık ne ? Kartlar nasıl karıştırılıyor ? Değiştirme kartları nasıl alınıyor ? " Ama bu kavşakta odaklandıktan asıl konu, kodu rastgele sayı üretici(Random) için konumlamaktı Ataha nın tahminine göre , bu makine için kod yazan Japon programcılar rastgele sayı üretecinin tasarımında hatalara yol açan kısayollar kullanmış olabilirlerdi . Nitekim tahmini doğru çıktı , kullanmışlardı .









3. Perde


Atahan bu aşamadaki gayretleriyle gurur duyuyordu . "Bizler programcıydık yaptığımız işte iyiydik Koddaki sayıların makinedeki kartlara nasıl dönüştüğünü çözdük ve aynı işlevi görecek bir C kod parçası yazdık diyerek , "C adı verilen programlama dilinden bahsetti.





Atahan;

Çok iyi motive olmuştuk ve gece gündüz çalışarak büyük ilerleme kaydettik . Kodun içeriğine iyice hakim olduğumuz noktaya gelene kadar , sanırım iki veya üç hafta geçtigini söyleyebilirim .

Kodu inceliyorduk , bazı tahminlerde bulunuyorduk , yeni bir kod yazıyorduk ROM'a yüklüyorduk , tekrar makineye yerleştiriyor ve neler olduğuna bakıyorduk . Oyun kartlarının üzerine ekranda hex on altılık sayıları gösteren program parçaları yazmak gibi şeyler yaptık. Yani temel olarak kodun kartları nasıl dağıttığına dair bir şablon elde ettik.



Erdem;


Uyguladığım şey deneme yanılma ile yukarıdan aşağı analizin bir birleşimiydi; kod oldukça kısa sürede anlam ifade etmeye başladı. Böylece bilgisayarın içindeki sayıların ekranda tam olarak nasıl kartlara dönüştüğü hakkında her şeyi anladık.


Umudumuz , Rastgele sayı üretecinin nispeten daha basit olmasıydı, öyleydi. Biraz araştırmayla , bu rastgele sayı yaratıcının bilgisayar bilimci Donald Knuthun 60 larda yazdığı şeylere dayandığını keşfettim. Japonlar bunların haricinde kendileri bulmamışlardı; sadece Slotlar hakkındaki mevcut araştırmaları almış ve kodlarına koymuşlardı.


Kartları yaratmak için tam olarak hangi algoritmayı kullandıklarını gördük; buna lineer geri bildirimli kaydırma yazmacı (li- Rear feedback shift register) deniyordu ve oldukça iyi bir rastgele sayı üretecisiydi.


Ama kısa süre sonra, rastgele sayı üretecinin (RNG) işlerini son derece kolaylaştıran vahim bir kusuru olduğunu keşfettiler.








İlhan bunu şöyle açıkladı;


"Nispeten basit 32-bit bir RNG'ydi , dolayısıyla hesaplama karmaşıklığı bakımından kırılması mümkündü ve birkaç iyi optimizasyon sayesinde bunu kırmak neredeyse eğlenceli bir håle bile geldi."

Yani üretilen sayılar aslında rastgele değildi. Ama Atahan bunun altında iyi bir gerekçe olduğunu düşünüyordu:



Atahan;

Eğer gerçekten rastgele olsa , bahis oranlarını anlayamazlar bahis oranlarının gerçekten ne olduğunu doğrulayamazlar. Bazı makineler birbiri ardına floş royal (pokerde en büyük kağıt) veriyordu. Bunun hiçbir şekilde olmaması gerekir. Dolayısıyla tasarımcılar doğru istatistiklere sahip olduklarından emin olmak isterler. Yoksa kendilerinin oyun üzerinde kontrolü olmadığını hissederler.


Bu makineyi tasarlarken tasarımcıların fark etmedikleri bir diğer şey ise, temel olarak sadece bir rastgele sayı üretecine ihtiyaçları olmadığıdır. İstatistiksel olarak her dağıtımda on kart var yani , başlangıçta görünen beş kart ve eğer oyuncu değiştirmek isterse bu beş kartın her biri için alternatif birer kart daha. Bu eski sürüm makinelerde , temel olarak bu on kartı rastgele sayı üretecinden birbiri ardına on rastgele sayı olarak aldıkları ortaya çıkıyor.


Dolayısıyla Atahan ve ortakları bu eski nesil cihazlardaki programlama komutlarının çok yetersiz tasarlanmış olduğunu anladılar . Bu hatalar nedeniyle de , makineyi alt etmek için nispeten basit ama incelikli zekaya sahip bir algoritma yazabileceklerini gördüler.







İlhan

İlhanın numarası , bir oyuna başlamak , makinede hangi sayıların göründüğünü izlemek ve bu kartları tanımlayan verileri evde kendi bilgisayarlana girmek şeklinde olacaktı , Kendi algoritmaları rastgele üretecinin nerede olduğunu ve en çok istenen el olan floş royali (pokerde en büyük kağıt) gösterene kadar kaç sayının geçmesi gerektiğini hesaplayacaktı


Yani test makinemizin başında , programımızı çalıştırıyorduk ve bize önümüzdeki kart dizilimini doğru şekilde söylüyordu. Son derece heyecanlanmıştık.





4. Perde


Atahan

"Başkalarından daha zeki olduğunu ve onları alt edebileceğini, hem de bizim durumumuzda , bunun bize para kazandıracağını bilmek, duygusuyla bağdaştırıyordu . Alışverişine gittiler ve saniyenin onda bir adımlarla geri gidebilen kronometreye sahip Casio marka bir kol saati buldular , casino girecek üç kişi için birer tane aldılar. Asena tüm bu olanların kuş bakışı seyircisi evde , bilgisayar başında kalacaktı.


Artık yöntemlerini test etmeye hazırdılar. Ekipten biri oyuna başlayacak ve elini yani elindeki beş kartın rakamını ve cinsini yüksek sesle söyleyecekti, Asenada de bu verileri kendi bilgisayarlarına girecekti. Popüler bir model olan kol saati amaçları için mükemmeldi çünki içindeki çip Japon video poker makinesinin çipine göre çok daha hızlıydı Casio geri sayıcılardan birini kurmak için kesin zamanı hesaplamaları sadece birkaç dakikalarını aldı.


Kronometre başladığında, slot makinesinin başındaki kişi Başlat düğmesine basacaktı. Ancak basma işlemi kesin olarak bir saniyeden az süre içinde yapılmak zorundaydı. Atahanın söylediğini göre, bu göründüğü kadar büyük bir sorun değildi:


Atahan müzisyen olarak epey zaman geçirmişti. Müzisyenseniz ve belli bir ritim duygunuz varsa, bir düğmeye artı eksi beş milisaniye içinde basabilirsiniz. Eğer her şey öngörüldüğü gibi giderse, makina en çok istenen elolan floş royali gösterecekti.

Hepsi de kendi denemelerinde makul bir oranda floş royal yakalayana kadar kendi makineleri üzerinde çalışmalar Geçen aylar boyunca.


Erdemin deyimiyle;


Makinenin işleyişine tersine mühendislik uyguladılar, rastgele sayıların ekranda kesin olarak nasıl karta dönüştüğünü, rasgele sayı üreticisinin kesin itorasyon zamanını ve hızını, makinenin ilgili yapısal özelliklerinin tümünü öğrendileri ve tüm bu değişkenleri dikkate alacak bir program geliştirdiler. Böylece zamanın kesin bir anında belirli bir makinenin durumunu bilirlerse , önümüzdeki birkaç saat, hatta birkaç gün içinde herhangi bir zamanda rasgele sayı üreticisinin verdiği sayıyı yüksek bir doğruluk payıyla öngörebilir hale geldiler.

Makineyi alt ettiler, köleleri haline getirdiler. Bilgisayar korsanlığının zorluklarıyla boy ölçüştüler ve başardılar. Bu bilgi onları zengin edebilirdi. Bunun hayalini kurmak eğlenceliydi. Bakarsınız bir sonraki hikayede bu eğlenceyi tatmak isteyecekler mi?


Kurgu: Maskeli Beşler Kıbrıs Filminden 'esinlenerek' , karikatürler Canva adlı sitedeki bileşenler bir araya getirilip konu özetine uyumlu bir şekilde ortaya çıkarılmıştır.