Arkadaşlar merhaba öncelikle yıllar önce bitirme tezi olarak yapmıştım yıllar sonra çalıştırayim dedim pic 16f84a lı şifreli kilidin şifresini unuttum yeniden programlayim dedim internetteki tüm hex dosyalı kodlar çalıştırmadı yardımcı olursanız sevinirim nasıl bir kod yazmam gerekir şimdiden teşekkürler devre budur pic programlayıcı |
Pic 16F84A Şifreli kilit sorunu
-
-
Picte kod koruması var mıydı? -
Sayın iplijeton'un bahsettiği gibi, eski programı çektirebilirsiniz. Zaten şifreyi de görürsünüz o zaman.
diğer taraftan bir sayıcı devresi ile tüm kombinasonlar da uygulanabilir. E-maillerin bile şifresi deneme yanılma ile çözülebildiğine göre(yeri geldiğinde) bu pic fazla diretmez muhtemelen...
-
Kod koruması olmadan işlemci içinden okunan programdan şifreyi doğrudan göremezsiniz. Tersine mühendislik ve devre şeması ile birlikte şifre tespit edilebilir.
Dinamik tarama ile keypad uygulaması yapılmış. Brute force (kaba kuvvet şifre denemesi) yapısını devreye uyumlu hale getirmek biraz ugrastirabilir.
Sıfırdan yazmak daha kısa sürer -
Değiştirilebilir yani kullanıcının yeniden tanımlayabildiği/değiştirebildiği şifre mi görülmez demek istediniz? Bir master şifre çemiştir herhalde? Şifre unutulmasına karşı. BU master şifre program içinde sabit değil mi? BU da görülmez mi diyorsunuz?
-
İşlemci içinden okunan ve yüklenen HEX dosyası içeriği aşağıdakine benzer yapıda olacaktır.
Buna bakarak şurası şifre şurasında led yanıyor demek öyle kolay değil.
Aşağıdaki kod örneği, işlemciye enerji verildiğinde iki pine bağlı olan ledin parlaklığını yaklaşık 2 saniyede maximum parlaklığa getiren bir program örneği.
F84 içinden okunan datalarda aşağıdakine benzer yapıda olacaktır.
-
Tartıştıkça derin kısımlar konu oluyor... Cevaba teşekkürler.
Kıymadan tekrar et olmaz benzetmesi gibi. Muhtemel hata vb sorunlardan bahsediyorsunuzdur. Ancak decompile-diassembler tip uygulamalardan bir sonuç çıkacaktır. BU merak işi zaten.
Hex dosyası çevrildiğinde her ne kadar hatalı dahi olsa, master şifre-şifre tipi bir bilgi tespit edilebilir olmaz mı? AYrıca programlyıcıya takıldığında direk (eprom hafıza kısmında) şifre okunamıyor mu?
İçinde şifre olan picten çekilmiş hex dosyasının tersine çevrilmiş hali lazım konuya;
Tecrübeliler aydınlatabilir forumu.
-
Konuya bundan sonra yazılacaklar ancak tahmin, ön kabul ve varsayımlardan ibaret olacaktır. Çünkü üzerine konuşulacak somut bir veri elimizde bulunmamaktadır. Konu sahibide sanırım açtığı konuyu unuttu veya onun için önemini yitirdi.
Son mesajınızda değindiğiniz konulara bilgim dahilinde açıklık getirmeye çalışayım.
Yukarıdaki mesajlarımda "tersine mühendislik" ibaresi ile belirttiğim sizin decompile olarak ifade ettiğiniz şeyle aynı. Fakat bu işlem uğraşılan konunun kapsamına ve ne elde edilmek istendiğine göre basitten karmaşığa giden bir süreç.
Kodu decompile ettiğinizde elde edilen sonuç her zaman alıştığımız veya beklediğimiz şekilde bir kod yapısına veya sıralamasına sahip olmaz. Bu noktada elimizdeki dönüştürülmüş kodlardan amacımıza uygun şekilde iz sürerek sonuca ulaşmaya çalışırız. Bu iz sürme sırasında hangi mcuya göre kodlar derlenmişse onun register adresleri, hafıza yapısı, hangi pin nereye bağlı ve ne yapıyor gibi diğer bilgilerede ihtiyaç duyarız.
Elimizde hex dosyası olsa, bu konudaki şifreli kilit özelinde şöyle bir strateji ile başlanabilirdi. Şifrenin doğrulandığında rölenin bağlı olduğu pinin High olması beklenir. Bu ön kabul ile devre şemasında rölenin hangi port/pine bağlı olduğu tespit edilir, decompile edilen kod içerisinde bu port/pine ait yerler mercek altına alınır, bulunan noktalardan geriye doğru iz sürülür.
Şifrenin eepromda saklandığı durum: Büyük ihtimal amatör bir proje olduğu için şifre açık şekilde eeproma yazılmıştır.Bu noktada işimiz çok kolay. Fakat şifre eepromda kriptolanmış şekilde saklanıyorsa (önemli/kritik bilgileri açık şekilde saklamak ciddi güvenlik zaafiyetleri oluşturur), bu kriptonun çözülmesi gerekecektir. Bu noktada yine decompile edilen program elimizdeyse kripto mantığını anlamak/çözmek için faydalanabiliriz.
Bundan sonra farklı bir noktadan olaya bakalım:
Bitirme projeleri zamanımızda 3 kopya olarak hazırlanır, biri öğrenciye, birisi proje hocasına diğeri ise fakülte/bölüm kütüphanesine teslim edilirdi. En azından bitirme projesinin sonunda kaynak kodlar eklenir, sistemin çalışması ile ilgili bölümlerde "şifre" den bahsedilir. Bu kopyalardan birisine ulaşılabilirse problem çözülmüş olur.
Çoğu bitirme projesi sunumlarında, yapılan işle alakasız "sayfa doldurmaya" yönelik bir iki cümle ile bahsedilecek hususlar abartılır. 20-30 sayfa F84 ün datasheetinde olan noktalar, kapı kilitleri gibi şeylerden bahsedilir. Asıl devre kullanılan algoritma gibi şeyler pas geçilir. Konu sahibinin şahsında belki böyle bir durum yoktur ama üniversite ortamına ve bu konulara yakın olanlar bana hak verecektir.
Pazar günü vakit müsait olduğu için biraz uzun kısmen karışık/alakasız bir cevap oldu.
Buraya kadar okuduysanız sabrınız için teşekkürler...
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X