Bootloader ile ilgili ayrı bir bölüm olmadığından buraya yazdım
Güzel bir bootloader'a benziyor
https://sourceforge.net/projects/tinypicbootload/
http://tinypicbootload.sourceforge.net/
Hardware Connections
http://tinypicbootload.sourceforge.net/hardware_connection.html
https://sourceforge.net/p/tinypicbootload/discussion/general/thread/f3aa222fa2/#e087
Kod korumalı bootloader olmadıkça, hobi, açık kaynak, öğrenci işleri için kullanılır. Seri üretim,. ticaret yapıyorsanız yaramaz
Alıntı YapKod korumalı bootloader olmadıkça, hobi, açık kaynak, öğrenci işleri için kullanılır. Seri üretim,. ticaret yapıyorsanız yaramaz
hımmm..
çözüm?
Alıntı YapUnique id
Koruması açık koda unique id mi, biraz açmalısın hocam?
Alıntı yapılan: OG - 27 Şubat 2021, 15:48:19Koruması açık koda unique id mi, biraz açmalısın hocam?
Hocam her çip in id kodu var. Yazilim açıldığında bu kodu daha önce eprom a kayit ettiğiniz kod ile karşılaştırır.
Bu kayit ise özel bir kombinasyom mesela bir pin veya bir sıra işlem ile yada özel bir terminal ile yada uart üzerinden bir kod ile çip den okunup eeprom yada program belleğine yazılır.
Chip içindeki hex çekilmiş dahi olsa yüklenen chip farklı olduğu için program calismayacaktir ve korumaya geçecektir. Artık kopyalayana küfür edebilirsiniz :)
Yalnız asil mesele kütüphanelerin çoğu acik kaynak lisanslı yani ticari işlerde kullanılması yasak.
Kendi kütüphanenizi yazabilirsiniz elbette.
PIC te de chip id var mı?,
Bu id hex ile birlikte yazılmıyor mu?
Sabit mi?
Alıntı yapılan: Kılıç - 27 Şubat 2021, 17:19:30PIC te de chip id var mı?,
Bu id hex ile birlikte yazılmıyor mu?
Sabit mi?
Eskilerde olmaya bilir ama bunun da çaresi unique id ye sahip bir harici eprom yada yada komik ama i2c isi sensörü bile kullanan var. Isi sensörlerinde unique id var. Ds18b20,dht22 gibi. O sensor yoksa sistem çalışmıyor. Kopyalanmis bile olsa sadece tek cihaz olur 2nci olmuyor.
Sensördeki aynı unique id yi dışarıdan I2C ile aynen sensörmüş gibi verecek pic kullanılabilir. Onu korumak için de başka yöntem gerekecek tabi
Alıntı yapılan: Kılıç - 27 Şubat 2021, 15:11:52Kod korumalı bootloader olmadıkça, hobi, açık kaynak, öğrenci işleri için kullanılır. Seri üretim,. ticaret yapıyorsanız yaramaz
Hocam MCU'ya gömülü bir kodu ele geçirmek için bir yöntem var mı? Benim bildiğim makine dilinden C diline dönüş olmuyor yani C için decompiler yok diye biliyorum. Gerçi C ye dönmeye gerek olmayabilir. Sadece flash belleği okumak yeterli galiba. Fakat bunu nasıl yapıyorlar veya yapabilenler var mı?
Kodu ele geçirmenin öyle acayip yöntemleri var ki aklın şaşar. Ben bu yayına (https://arxiv.org/pdf/2008.09710.pdf) EEVblog forumlarında denk geldim. Piyasadaki orijinal ve çakma / muadil STM32F103'lerin kod güvenliklerini karşılaştırmış.
Ele geçirilen hex kodundan doğrudan C'ye geçiş mümkün değil ancak sonuçta sadece hex kodu bile cihazın kopyalanmasına olanak verir. Ayrıca yeterince tersine mühendislik ile hex kodu üzerinde de istenilen değişiklikler yapılıp cihazı çalışması ile oynanabilir.
Tüm bunlar maliyet tabi. Güvenlik yöntemleri ne kadar sıkı olursa, tersine mühendislik maliyetleri de o kadar yükselecek ve bu tür çabaları anlamsızlaştıracaktır.
Alıntı yapılan: ilyas KAYA - 27 Şubat 2021, 15:56:09Yalnız asil mesele kütüphanelerin çoğu acik kaynak lisanslı yani ticari işlerde kullanılması yasak.
Kendi kütüphanenizi yazabilirsiniz elbette.
Bu tam olarak doğru değil. Kütüphaneler genelde LGPL olarak lisanslanır. Bu lisansda kendi kodunuzu açık kaynak yapmak zorunda değilsiniz ve LGPL lisanslı bir kütüphane ile yaptığınız bir projeyi ücretli olarak satabilirsiniz, herhangi bir engel yok.
Dikkat edilmesi gereken tek nokta, kullanıcının istediği zaman bu LGPL kütüphaneyi kendisi tekrar linkleyebiliyor olmasıdır.
Alıntı yapılan: Kılıç - 27 Şubat 2021, 18:17:00Sensördeki aynı unique id yi dışarıdan I2C ile aynen sensörmüş gibi verecek pic kullanılabilir. Onu korumak için de başka yöntem gerekecek tabi
Tabi onun eeprom olarak değilde unique id olarak kullanıldığını anlar ise :)
Bu kadar uğraşıya değecek bir cihaz da herhalde acik kaynak sistem yapılmaz. Cok da derin düşünmeye gerek yok bence.
Mesela ben atmega48 leri arduino kodları ile programliyorum. Unique id yi çekip eeprom a yazıyorum. Bunu ilk kayıt içinde bir kereye mahsus serial den bir komut yolluyorum ve id yi alıp kayit ediyor. Her açılışta da karsilastiriyor.
Sıradan bir hex okuyucu ile kopyalanamaz en azından.
Eger bu cihaz İnternete çıkıyor yada sms atabiliyorsa ona göre de önlem alınabilir.
Belki cihazı yeniden yaptırmak daha kolay bile olur.