kod koruma hakkında bir kaç soru ve parlak fikir?

Başlatan mustafa_cmbz, 02 Ağustos 2007, 16:42:17

OG

Pic epromuna gömülü bir veya birkaç değeri kilit değer konumuna getirmek daha kolay, program ilk çalıştığında bu değerler ile sağlama yapar, doğru ise çalışır, yanlış ise uykuya falan geçer veya katil rutin yazılabilirse bunu çalıştırır.

Cihazın esas enerjisi yanısıra içinde 1 adet pil gerekir. Esas enerji kesildiğinde pil üzerinden çalıştırılır ancak önce portlar uygun değere çekilir ve uyku moduna geçirilir. Cihazın kapağının açılması anında eepromdan bu değerler silinir ve bir daha çalışamaz hale gelir.

Katil rutin yapılamazsa hexi okur ve bunu asm ye çevirirlerse dikkatli bir inceleme ile bunu da anlarlar.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

SENAY

Alıntı yapılan: "picusta"Mustafa hakli, programi silmek için 2. mikroya gerek yok. Islemci kutunun açildigini anladigi anda bir kesme olusacak, kesme rutini Flash program hafizasina 0 yazmaya baslayacak, EEPROM'a yazar gibi. önemli olan bu katil rutini bellekte belli bir yere saklamak. Rutin kendi kendini belki silemez ama programin gerisinden eser kalmaz.
picusta flash bellek olduğunda sizin dediğiniz şekilde yapıyorum. Ama bazı picler varklı kendi program hafızasına yazamıyor. Onlar içinde ayrı bir pic gerek.

@mustafa_cmbz, dediğim gibi ben bu işi ticari amaçlı yaptım. Pici silmek yapacağın tek şey "PIC16F62X EEPROM Memory Programming Specification" güzelce okumak herşey orda bulunmakta. Yapmaya başladğında takıldığın yer olursa orda yardımcı olurum

mustafa_cmbz

Alıntı yapılan: "SENAY"

@mustafa_cmbz, dediğim gibi ben bu işi ticari amaçlı yaptım. Pici silmek yapacağın tek şey "PIC16F62X EEPROM Memory Programming Specification" güzelce okumak herşey orda bulunmakta. Yapmaya başladğında takıldığın yer olursa orda yardımcı olurum

hocam takıldığım yer olucaktır mutlaka mesela katıl rutın sımdı anlamadığım bir nokta var mesela diyelim kutu açıldı ve pic bunu algıladı daha sonra bu alt program çalıştı ve pic kendını sılmeye başladı işte bunu pice nasıl yazcaz....:D  vallahi kopyacılıkta zor bir iş

CaFFeiNe

cihazınızı kopyalamak isteyen şahıs picin kod korumasını kırdı ve birde baktıki picin içi boş! hımm demekki bir bit yeniği var bu işte dedi ve cihazı inceledi tetik mekanizmasını buldu (switch vs) cihazınızdan bir tane daha aldı ama bu sefer bodoslama dalmak yerine tetiğe dokunmadan pici cihazdan çıkardı (kutuyu kesti vesaire yada en iyisi pilin ucunu kesiverdi sonrada tetiği umursamadı :))

kopyacı şahsiyete fazladan bir cihaz daha satmış olduk :)

e3

Kartın 4 köşesine konulabilecek ldr veya optik düzenekler ile kutu herhangi bir yerinden açılsa dahi ve içeriye azıcık ışık sızsa silmek için katil uyandırılabilir  :P Bu daha bir mantıklı geliyor bana.
@Caffeince hocam müthiş bir pazarlamacı ruhunuz var.Ama benim yöntemle daha çok devre satarız :D
İyi günler.
.eem.

mustafa_cmbz

hocam su katıl döngu ile ilgili mantıksal olraka kod fikri olan varmı nasıl bir şey yazılmalı ?

picusta

Alıntı yapılan: "mustafa_cmbz"hocam su katıl döngu ile ilgili mantıksal olraka kod fikri olan varmı nasıl bir şey yazılmalı ?
önce Flash'a yazma/okuma fonksyonlarini yaz.(PIC'in datasheetinde EEPROM/Flash bölümünde verilmis).
Sonra bir döngüye gir ve silmek istedigin programin bulundugu bölge bitinceye kadar Flash'a ayni degeri yaz (veya random), böylece program ezilmis olur.

z

Uzun sure ayni veriyi saklayan depolama elemanlari (ram, rom, eprom, flash vs) silinseler bile silinmis veriler kurtarilabiliyormus. Veri kurtarmada  yaslanma etkisinden yararlaniliyormus.

Hic bir onlem cozum değil.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mustafa_cmbz

ozaman bizde var olan bilgiyi siler üstüne başka seyler yazarız ozamanda olurmu acaba...

z

Bu bahsettigim kisa sureli denemelere uygun değil. Yani demek istedigim bos cipe program atip daha sonra silip haydi programi kurtar diyemiyoruz. Fakat, atiyorum 1 sene boyunca programli duran cipi sildiniz. Hafiza hucrelerinin her birinin cektigi akimdan sakli olan bitlerin degerleri bir bir elde edilebiliyor.

Bu tip calismalar bizi asar, zira yariiletkene prop atmak gerekiyor ancak bu tip calismalar dunyada var.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mustafa_cmbz

bu benı aştı biraz bişey anlamadım hafıza hücreleri felan :D

yaNı sizin demek istediğniz aynı koltukta 1 hafta oturursan orası çöker belli olurmu diyorsunuz ..:D buna bir çare bulmak gerek..:D

mesela normalde çalışan programı sildikten sonra yerine 1 den fazla katıl rutın yazıp silsek bu hücrelerin yerleri kapatılmazmı yanlış anlamadıysam benım düşüncem bu...

ve bir sey daha zaten adamlar o cihazı kopy etmek için alıyorlarsa onun için 1 sene beklemezler yanı afedersiniz eski kaşar değilki bu.
mesela cihazın üstüne devamlı belli aralıklar ile değiştirmeler yapılıyorsa ve yenı modelleri çıkıyorsa bence adamlar beklemeden sistemı kopy etmek isticeklerdir :D

BU ARADA DİKKAT :
siteyi takip eden çinli-japon felan varsa butun picleri  kırarlar bundan sonra :D

Eagle_Tim

japon ve çinliler için pıc dediğiniz şeyin kodunu kırmakla 1 adet çekirdeğin kabuğunu iki diş arasında kırmak aynı süre ve uğraşa denk..  Kısacası tık diye kırarlar, bence artık fazla hayali davranmayalım , cod protectini koyarsın , bide protectıonun dediği gibi çok istiyorsan programlama pinlerinden data yolunu yakarsın, gerisini allaha havale edersin, bişey yapamazsın.. binlerce dolarlık cihazlarda bile kod koruma için bir tek cod protect kullanılıyor. onu aşarım diyen adam zaten gerisinide aşıyor merak etmeyin iyi çalışmalar...
Software and Hardware Design...

Maxim

Arkadaşlar hazır aklıma gelmişken ve konu çok aşağılara inmeden sorayım dedim ..

Hep pic üzerine konuştuk ,
atmel bu konuda nasıl? atmelin proteğini kırmak dahamı zor ? dahamı kolay ? dahamı güvenlidir mesela örnek atmega88 ??

bilen varmıdır ?

tae


Maxim

Başka birşey ;
bazı cihazların firmware update dosyaları çıkıyor ve kullanıcı bunu kendi cihazına yükleyebiliyor ,seri porttan veya usb den neyse .

Şimdi ,böyle birşey yapıldığında program nasıl korunabiliyor ?
aynı devreyi kuran herkes programı yükleyemezmi ?

veya böyle birşey nasıl yapılabilir ?
kendi cihazınız için yaptığınız değişiklikleri kullanıcı update edemezmi ?