Python uzantı oluşturma

Arkadaşlar pygame ile yaptığım oyunumda oyun datalarını kayıt etmek için kendi uzantımı yapmak istiyorum ama bu uzantıyı text editörle falan açamasın bunu nasıl yaparım

Bunu yapamazsınız çünkü isteyen kişi uzantıyı değiştirip .txt haline getirebilir. “Oyun data” sından kastınızı ve buna kullanıcının niçin erişimi olamamasını istediğinizi yazarsanız daha rahat yardım ederiz.

peki sadece uzantıyı oluşturdum diyelim programım ile birlikte aç dediğimde nasıl açıcak

Eğer kayıt defterinde bulunmayan bir uzantıysa açamayacak, kullanıcıya nasıl açmak istediğini soracak. Siz bu dosyada ne saklayacaksınız? Niçin kullanıcının görememesini istiyorsunuz?

peki nasıl anlayacak python birlikte açıldığını

bunu başka bir şey için sordum tek konuda ikisini de sorabilmek için
aslında mantıken uzantı nasıl oluşturulup windowsa bu uzantıyı tanıtırım

Hmm, şimdi anladım. Window için kayıt defterine ekleme yapmalısınız. Daha sonra birlikte açılan dosyanın dizinine sys.argv[1] şeklinde erişebilirsiniz.

peki nasıl ekleyeceğim
sanırım winreg ile alakalı konu

birde kullanıcının dosyaya girmesini engelleme isteğim oyun maplarini saklamaktı

Buna hiç gerek yok bence, bilgileri appdata’da saklarsınız. Kullanıcının durup dururken oyunun haritasını arayacağını düşünmüyorum. Eğer illaki ben saklamak istiyorum diyorsanız şifreleme kullanırsınız.

Windows’un konu hakkindaki tutumunu yazayim. Dosyanin herhangi bir yerine bir veya daha fazla \x00 eklemek. Ve windows icin uzantisi txt olmamali.

bence oyun datalarını txt olarak sakla ama bu txt dosyalarının içindeki veriler şifreli olsun md5 3des gibi algoritmalarla sakla veya kendi algoritmanı oluştur

Map’in saklanması,kullanıcı verileri,png dosyaları falan “Pyro Man” veya “Fire Dungeons” için gerekli bir şey mi? Oyunların ne olduğunu az çok biliyorum ve CS:GO falan olmadığını rahatça söyleyebilirim.Eğer saklamak istiyorsanız,bir yolunu bulabilirsiniz ancak oyunu oynayan kişi “W” harfini kullanarak sizin haritanızın aynısını bakarak yapabilir.Veya grafikler…

Kullanıcı verileri ise Windows’un App Data’sı gibi yerlerde saklanabilir.Hatta Undertale’da 2. kez tekrar başlarsanız sizin önceden oynadığınızı söylemesi,sadece dosyalara baktığınızda ortaya çıkan bir karakter gibi espriler verilerin saklanmasından daha hoş bir şey bence.

Oyunu sunacağın platformda kriptolojiyle uğraşan kişilerin olduğunu düşünmüyorsan pythonda bir sürü şifreleme kütüphanesi ve hazır algoritmalar mevcut. Bilgili bir kişi bunları kırabilir çünkü her şifreleme algoritmasının birde şifre çözme algoritması var. Hazır algoritmalar ile şifrelersen bunları kullanarak seninkini bulursa kırabilir. Ama kendi algoritmanı kurup şifreleme yapasan açmaları imkansıza yakın olur. Örnek vereyim:

Dosyandaki her harfe sen kendin bir değer ver. Mesela a harfi senin için h harfine denk gelsin. h harfi başka bir harfe denk gelsin. Senin programın a harfini görünce onun yerine h harfi yazsın yani. Karşı taraf verilerine bakınca anlamsız bir bilgi görecek. Fakat sen oyununun algoritmasına h harfinin aslında a harfini temsil ettiğini söylersen ona göre çalışır ve işler. İnternette bir sürü şifreleme örnekleri var bakıp ilham alarak kendi algoritmanı yazabilirsin

Saniyede 2.000.000 kere şifre deneyen bilgisayarlar var.Belki bu güçteki bilgisayarlar çoğunlukla oyun oynamaya harcanacak ama a yerine h harfini vermeyi deneyen çok basit programlar yapmak çok zor olmamalı.Bir bot gibi çalıştıracaksın,elektrik ile besleyip işlemci ile protein tozunu verdin mi tamamdır.

Kamera ve ışık iyi değil ama çözüm burada.Yaklaşık 40 sayfa.Zamanım oldukça yazarak paylaşacağım.

Bu sifre kirilabilir hatta cocuk oyuncagi. En basit sifreleme yontemi.

2 Beğeni

Olmaz.


Sorulan soru saçmaydı, bir bilgiyi A cihazında saklamak istiyorsunuz ama o bilgiye sadece sizin A cihazında çalışan uygulamanızın erişebilmesini istiyorsunuz. Sizin uygulamanızın diğer uygulamalardan bir farkı yok, o erişebiliyorsa diğer uygulamalar da erişebilir.

3 Beğeni

Elbette erişebilir fakat adamın algoritmasında a harfinin h harfine denk geldiğini başka kullanıcı bilmeyecek eğer tersine mühendislik yapıp algoritmasına erişmez ise. Dolayısıyla elde edilen dosyaya diğer uygulamalar veya kullanıcı direk olarak erişse bile anlamlı hale gelmedikten sonra ne işe yarayacak ki ?

Kullanıcının bu saklanan verilerle uğraşması da düşük bir ihtimal zaten, ama bu durum verileri erişilemez yapmıyor. Sizin dediğinizde de aynı şey geçerli.

Elbette kırılabilir. Her harf için bir harfi denese 29! lik bir kombinasyon ortaya çıkacak. Uzunda olsa kaba kuvvet algoritmalarıyla kırılabilir. Fakat ben sadece örnek sundum.