ROLLING CODE

Başlatan cabbar27, 22 Mart 2011, 16:53:51

cabbar27

ARkadaşlarım aBilerim rolling code adında yeni duyduğum yabancısı olduğum bir sistem var
nasıl ve nerden başlamalıyım
hedefim  pic ile kodları okuyup eproma kaydetmek!
yani xxx numaraya sahip kod girişi yapıldı eprom tarandı kod yetkilendirildi. ok verildi neyse artık program devam edecek!
hiç bilgim yok bu konularda öğrenmek istiyorum kaynak veya yol gösterirseniz sevinirim! teşekürler!


X-Fi

nerede kullanıcaksınız bu sistemi tam olarak açıklarsanız yardımcı olmaya çalışırız.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

cabbar27

ben bu sistemi otomatik garaj kapısı
yapmakta kullanacagım
hedefimde şu  elmizdeki sinya kaynağı kumandanın gönderdiği sinyali okuyup onu tanımlamlayarak kaydetmek
ve ilerki safhalarda yetkilendirmek


X-Fi

elinizdeki kumandanin varsa resmini markasini modelini kullandığı encoder ıc yi buraya yazın size uygun kod bulmaya çalışayım.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

cabbar27

Benim Problemim Bu noktada Başlıyor.
Biraz Hayalperest Bir Kişiliğim var Şimdi Elimde İtalyan Malı
Bir devre var Adamlar 1 tda5200 receiver  1 pic18f452 ve 1 adet 24c16 eprom ile işi bitirmişler
Sistem Kodları okuyarak eproma Kaydedebiliyor
yani Herhangi bir kodu kaydedip İşlem yapabiliyorsun!!fotoğrafını cekebilirsem inşallah yayınliycam!!

X-Fi

hangi program dilinde kod yazıyorsunuz?
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

ete

Arkadaş Basic diye başlıktan sonra bu mesajı verdiğine göre Basic ile program yazacak.

İşin program kısmını bırakalımda Rolling Code mekanizmasını biraz açmaya çalışalım ne dersiniz?
Önce hemen MicroChip firmasının bu işle ilgili hazır programlanmış entegre sattığını bildireyim.
Ancak nedir bu rolling code acaba. Türkçesi yuvarlanan kod anlamına geliyor. Biraz araştırırsanız her seferinde farklı şifre üreten bir sisteme karşılık geldiğini anlarsınız. Ancak işin püf noktası alıcı ile vericinin aynı anda aynı şifreleri üreterek çalışmalarıdır. Yine araştırırsanız, verici oluşturduğu şifre ile ilgili hiç bir veriyi alıcıya vermemektedir. Peki alıcı ile verici arasındaki senkron nasıl sağlanmaktdadır. İşte işin bu kısmı bilinmiyor. Kimsede açıklamıyor elbette. Yada ben bulamadım bu konuda herhangi bir bilgi.  Yoksa biribirinden farklı şifreler üretmek çok zor değil. Hatta bunları önceden üretip eproma kayıt edebilir ve sonrada aralarından rastgele seçim yapıp bunu alıcıya yollayabilirsiniz. Alıcıda hafızasında bulunan şifreleri tarayıp içinde yollanan şifrenin olup olmadığına bakar ve var ise açılacak yeri açar değilse açmaz gibi bir mantık yürüterek iş yapmak mümkün ama hız faktörü bunu engeller sanırım. Zira en azından 500-100 adet değişik şifreyi bir anda taramak ve içinden birini bulmak zaman alan bir işlemdir. Belkide değildir !.
Açıkcası bu sistemin nasıl çalıştığını bilen birisi açıklarsa memnun olacağım.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

X-Fi

Evet onu bende farkettim arkadaş C üzerine çalışıyor olsaydı kod paylaşabilirdim ama picbasic de yardımcı olamıyacağım 2 yıl kadar önce bir asm kod parçası üzerinden roll döngüsünü çözdüm ve c ye geçirdim sizede sormuştum o zaman bana cevap vermemiştiniz şimdi mantığını anlatmaya çalışayım elimden geldiği kadar. Eski çalıştığım firma halen bu kod mantığında ürünler satmakta neyse bize bizden var çare diyerek başlıyayım.

Rolling code bir güvenlik altyapısı üzerine tasarlanmış bi sistem bu güvenlik kopyalanamamasını sağlıyor bazı açıkları olmasından dolayı microchip yeni encoder ler üretti artık araçlarda kullanılmıyor ancak hala revaşda bi sistem. anahtarlık kopyalama sistemleri rollcode anahtarlığı kopyalayamıyor nededini en son anlatıcam.

Şöyl çalışıyor 16 bit bir role code döngüsü var bu döngüye giren 16 bit kod döngüden çıktığında yeni bir değer alıyor sonucu tekrar girerseniz tekrar yeni değer alıyorsunuz. Uygulamada çalışması ise:

-Verici kumanda rastgele bir kodu rolling döngüsüne sokar. (bu kod 0xFFFF olamaz olursa sonucda 0xFFFF olur döngü hiç çalışmaz.)
-Sonucu Aliciya gönderir.
-Alici bu kodu kaydeder.(eeprom burada gerekli)
-Verici tuşu bırakılır tekrar basılır.
-Verici bir önceki rolling sonucunu roll döngüye sokar.(verici içinde burada eeprom gerekli ama pilli kumandalarda ram de iş görüyor).
-Sonucu alıcıya gönderir.
-Alici ilk aldığı kodu rolling döngüye sokar.
-Çıkan sonuç yeni gelen kodla eşleşirse bilgi alınır.
-Eşleşmez ise eşleşmeyen kodu tekrar rolling döngüye sokar bir sonraki sonuç ile karşılaştırır bu işlemi 16 veya 32 kere yapabilir zaman söz konusudur. bunun sebebi
kumandanın alıcı duymuyorken birkaç kez daha kullanılıp rolling kod atlanmış olup olmadığını anlamaktır. tek işlem için kullanıcının tuşa 2 kez basması istemeyiz ama buradada bir açık vardır oda şudur:

Rolling kod sistemlerde alıcıyı kapatıp(veya duymamasını sağlayıp) kumandaya (16 lı sistemde) 17 kez bas bırak yaparsaniz alıcıya enerji verdiğinizde ilk bastığınızda çıkış alamazsınız ilki alıcı hafızasına yerleşir 2. basışda işlem görmeye başlar.  kayıt işlemleride bu şekilde olur.  Alicinin son rolling kodu hafizasında saklaması bir sonraki gelenide sonuncudan türetmesi lazım. Bu mantıkda çalışan sistemler kopyalanamıyor kopya anahtarlıklar yeni rollcode üretemedikleri için ama bir açıkda şu var alıcı duymadığı bir sırada kopyalanıp orjinal anahtar hiç devreye girmeden kopya anahtarlık kod gönderirse sıradaki roll code denkgeldiği için bir kereye mahsus alici çıkış sağlıyor sonra birdaha çalışmıyor buda önemli bir güvenlik açığı.

bunu gerçekleştiren roll döngüsü c kodu aşşağıdadır:

void roll_cevir ()
{		
	unsigned char count=16,sys_ste,width;

	do{
	BIOS0=son_r0;  // low byte  
	BIOS1=son_r1;  // high byte
	
	BIOS0&=0x90;
	BIOS1&=0x03;
	sys_ste=0;
	width=10;
	do{
		asm("rrf _BIOS1,f");
		asm("rrf _BIOS0,f");
		if(CARRY)sys_ste^=0x40;

	}while(--width);

	sys_ste^=0x40;

	BIOS0=son_r0;
	BIOS1=son_r1;

	asm("rlf _BIOS0,f");
	asm("rlf _BIOS1,f");
	BIOS1&=0x03;
 	
	BIOS0&=0xFE;
	if(sys_ste&0x40)BIOS0|=1;
	
	son_r0=BIOS0;
	son_r1=BIOS1;
	
	}while(--count);

}



http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

digi_micro

Alıntı yapılan: cabbar27 - 22 Mart 2011, 16:53:51
ARkadaşlarım aBilerim rolling code adında yeni duyduğum yabancısı olduğum bir sistem var
nasıl ve nerden başlamalıyım
hedefim  pic ile kodları okuyup eproma kaydetmek!
yani xxx numaraya sahip kod girişi yapıldı eprom tarandı kod yetkilendirildi. ok verildi neyse artık program devam edecek!
hiç bilgim yok bu konularda öğrenmek istiyorum kaynak veya yol gösterirseniz sevinirim! teşekürler!

Eğer kendiniz bir sistem kurmak isterseniz Microchip te örnek kaynak kodlar var ancak başkasının yaptığı bir sistemin üzerinden çalışmak istiyorsanız boşuna uğraşmayın çünkü güvenlik olarak bu yazılıma yada cipe üretici kodu olarak bir kod giriliyor bu kodu bilmeden hiç bir şekilde doğru verilere ulaşamaz istediğiniz kontrolleri yapamazsınız. Detaylı bilgi ve örnek kodlara bu linkten ulaşabilirsiniz. Kolay gelsin http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2074

cabbar27

#9
Anladim kardesim demek istediklerini ama benim hayat prensibim sudurki:
bana ekmek verme bana ekmek yapmasini ogret dir
bu yuzden calisiyorum iste bu dandik alet sadece 450 euro
bundan onceki calismamdaki yapmak istedigim ve yaptigim cihaz yurtdisinda 2500 euro
ben o cihazi 25 tl ye malettim yani ben daha ekmek yapmaya calisiyorum!!!
Herkesede tavsiye ederim zevkli oluyo!!
onemli olan sistem!! gerisi teferruat!

http://www.confort-electrique.fr/armoire-commande-bft-leo-pi-3673.html

t2

Anladığım kadarıyla aleti yaptınız fakat sadece kumandası eksik kaldı.  O kısmı da farklı olarak dizayn edebilirsiniz sorun nedir?  Koskoca aleti yapmışsınız da orayı mı yapamıyorsunuz? Arkadaş bildirmiş işte ekmek yapmayı öğretmiş. Kendi üretici kodunuzu,  hatta algoritmenızı yazıp kendi kumandanızı yapıvereceksiniz.

Fakat orijinal aletteki ROLLING kodu çözmek istiyorum derseniz bu kısım şüphe uyandırıyor. Otopark çevresinde elinde aletle dolaşan kişiler olup, kumanda sinyallerini algılayıp aynı kumandadan üretebiliyormuş yada elindeki üniversal kumandasına o arabanın kodunu ürettirebiliyormuş. yani kötü bir amaçtır.

OG

Rolling code, yoksa aralarında senkronizasyon olmayan çok sağlam bir algoritma mı,



Bunlar gibi.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

cabbar27

yok o yapmis oldugum alet farkli 4094 shiftregister entegreleri bus ile surme mantigiyla calisiyordu
ama sonraki soyledigin kafama yatti :D araba calmak
hic dusunmemistim :D

X-Fi

Alıntı yapılan: OG - 28 Mart 2011, 15:13:07
Rolling code, yoksa aralarında senkronizasyon olmayan çok sağlam bir algoritma mı,

Bunlar gibi.

hocam anlattığım gibi pek sağlam olduğu söylenemez. ama kullanışlı. PT2282 gibi hazır encoderlere sahip çok amaçlı kullanılabiliyor.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

t2

Adından da anlaşılabileceği gibi kod her defasında değişiyor, cevap bekleyen bazı sorular

Kodlar dolaşıp yine aynı yere mi geliyor?
Her kod sadece 1 kere mi kullanılır?
Kumanda alıcıyı görmeden kod üretmişse, bu kodun daha önce kullanılıp kullanılmadığını alıcı nasıl anlayabilir?