
Bugün öğrendim ki: Bir programlama hatası, birisi podcast'i çalmaya çalıştığında Mazda bilgi-eğlence sistemlerinin kilitlenmesine neden oldu, %99 Görünmez, çünkü yazılım "% I"yi bir dize değil bir talimat olarak algıladı
Doğru yoldaydınız, ancak tam olarak doğru sonuca ulaşmadınız.
Öncelikle, buna virüs demeyin. Virüs bir kötü amaçlı yazılımdır. Bu sadece bir hata.
Hata, arabanın kodunun, "str" güvenilmez ve temizlenmemiş veriler olan "printf(str)"'yi çağırmasıdır. "printf("%s", str)" veya hatta sadece "puts(str)"'yi çağırmalıydı. Bu gerçekten temel bir güvenlik hatasıdır; kod asla kontrol edilmemeli, hele ki piyasaya sürülmemeliydi.
"%I" sorun değil. Sorun "%n". "%In" şu anlama gelir [https://en.wikipedia.org/wiki/Printf_format_string#Type_field adresinden özetlenmiştir]: "yığından bir sonraki işaretçi boyutundaki parametreyi oku ve bugüne kadar başarıyla yazılan karakter sayısını o adrese yaz". Yığında bir parametre olmadığı için kod rastgele yığın çöpünü okur, o adrese yazmaya çalışır ve çöker. Bu aynı zamanda printf'in yığın çöpünü okumasına, işaretçi olarak ele almasına ve referansını çözmesine neden olduğu için "%s" de bu hatayı istismar eder.
"%i" ve "%p", bu biçim belirleyiciler işaretçilerin referansını çözmediği için çökmez. Yığın çöpünü okurlar, ancak sadece o çöpün değerini yazdırırlar.
Teknik destekte çalışıyorum ve radyomla şimdiye kadar olduğumdan çok daha fazla etkileşim kurdum. Bu bölümü işe giderken dinledim (ve bağırdım) ve oraya varır varmaz patronumla hikaye odaklı ama problem çözme açısından berbat yaklaşıma ve farklı yapacağımız her şeye dair hissettiğimiz hayal kırıklıklarına çok güldük (Yüzde 99 İç Mekan, kimde var?!). Sonra binanın diğer tarafından bir iş arkadaşım yanımızdan geçti ve bölümün kendisinin de dinlediğini söyledi! Kodu muhtemelen Java'da yazıldığını düşünüyor, çünkü URL odaklı olduğu için yüzde işareti gibi bir şey kesinlikle panik atak geçirecektir.
Ayrıca, PJ ile %100 aynı fikirdeyim; Samin Nosrat ve Sarah Koenig'i bu yan podcast'leri yapmaya ikna ettiğinize inanamıyorum!! Ancak, tam sürümlerini dinledim ve çok beğendim. :)
Neyse, bu birinin teknik problemini doğrudan çözememenin bana verdiği en eğlenceli andı. Bunu uzun süre konuşacağım.
2015 Nissan Versa Note'umda aynı problem var. 99pi çaldığında, tüm ses konsolu çöküp yeniden başlıyor - sonra tekrar yerleştirmeye çalışıyor, sonra tekrar çöküyor. '% 'nin sebep olduğunu anlamam biraz zaman aldı (otoyolda araba kullanırken sorun gidermek zor).
Etrafıma baktım ve diğer Nissan modellerinde de, çoğunlukla 2015-2016'larda bu sorun var gibi görünüyor.
Çalışma yöntemim, çalma listesini yakından takip ederek 99pi'nin arabada çalmasını önlemek. Mazda güvenli besleme ileride güncellenecek mi?
300'den fazla 99pi podcast'ini dinledikten sonra, BU beni gerçekten son derece rahatsız eden ilk bölümdü. Diğer özel karakterleri kontrol etmek, eğlenceli bir egzersiz olsa da, size cevabı mutlaka vermez.
Belirli karakterlerin başlangıçta ne için kullanıldığının tarihine bakmanız gerekir. Modül operatörü olarak kullanılmasının dışında, yüzde işareti, bir programın gövdesindeki yürütülemez metni belirtmek için en sık kullanılan işarettir. URL'ye bakın! Tam olarak bu nedenle tam olarak yazılmıştır.
Elbette 2018 Mazda MX-5'imde dinlemeyi denemek ZORUNDAYDIM! Bu yıl Apple CarPlay ile yükseltilmiş en son bilgi-eğlence sistemine sahip. 99% Invisible'ı iPhone'umda başlattım ve arabaya bindim. Normalde sistem otomatik olarak Bluetooth aracılığıyla bağlanır ve arabaya binmeden önce dinlediğim şeyi oynatır. Bu sefer sadece "Bluetooth ses kaynağına bağlanılamıyor" mesajı aldım. Podcast'i durdurup müziğe geçtiğim anda bağlandı ve her zamanki gibi çalıştı. USB ile CarPlay'e bağlanırsam sorunsuz çalışacağından eminim, ama bunu bir dahaki sefere deneyeceğim. Harika bir Podcast için teşekkürler!
İlginç bir parça ve birçok teknoloji meraklısı gibi ben de ikinci cümlenin sonunda çoğunu çözdüm. Modern yazılımlardaki bazı zorlukları açıklamak için harika bir iş çıkardınız.
Ancak umduğum ama olmadığım yer siber güvenlik açısı. Belirlediğiniz %I sorunu gibi sorunlar, sık sık hacker'lar tarafından istismar edilebilecek yazılım hatalarının habercisidir. Bu nedenle, arabanın MP3 çalarını kilitlemek yerine, sadece bir Mazda sahibinin podcast'i çalmaya ikna ederek arabayı yeniden programlayabilir veya kullanılamaz hale getirebilirler. Siber güvenlikte, bir şeyin kazara bozulmasına neden olabiliyorsanız (örneğin sizinki gibi), muhtemelen bunu kasıtlı olarak yapabilir ve kötü amaçlar için istismar edebilirsiniz.
Devamı ile ilgileniyorsanız, size yardımcı olmaktan mutluluk duyarım.
Bu bölüm bana soğuk savaş sırasında eski radyo Acil Yayın Sistemindeki (EBS) bir hatayı hatırlattı. Bir bölgedeki bir istasyon, belirlenmiş EBS istasyonuydu. Bir uyarı alır ve bunu diğer tüm radyo istasyonlarına (ve TV istasyonlarına) iletirlerdi. Her istasyonun belirli bir frekanstaki bir tonla tetiklenecek bir EBS kutusu vardı. Ve sonra, görünüşte rastgele olarak, bölgedeki EBS kutuları uyarı gönderilmeden kapandı. Burada bildirilen aynı türden bir soruşturmadan sonra, sorunu buldular. Belirlenmiş istasyon Shirley Bassey'in "Goldfinger" kaydını çaldığında, uyarı sinyalini tetikleyen tam nota vuruyordu. Bu nedenle, belirlenmiş istasyonların "Goldfinger" çalmayı durdurması gerekiyordu.
Bu bölümü sevdim çünkü Mazda 3'ümde tam olarak aynı sorun vardı! Bunu bir 99pi problemiyle bağdaştırmadım, ancak çok fazla 99pi dinledim, bu yüzden muhtemelen öyleydi. Benimki o kadar kötüleşti ki donanımı bozmuş gibi görünüyordu. Yazılım güncellemelerini yaptıktan ve sorun daha da kötüleştikten sonra, Mazda garanti kapsamında tüm bilgi-eğlence sistemimi değiştirdi. Mazda'nın yerel bayiye bozuk birimi test için genel merkeze göndermesini istediğini söylediler. İlgilenen herkes, bir yazılım sorununun nasıl bir donanım sorununa neden olduğunu anlamamış gibi görünüyordu.
Bir yazılım geliştirici olarak, sonuca çok hayal kırıklığına uğradım ve "muhtemelen URL kodlaması"ndan daha derin bir açıklama bekliyordum, çünkü bu açıklamanın birkaç sorunu var:
1. % ve I arasında bir boşluk var, bu yüzden ilgili bile değiller.
2. I, URL kodlamasında anlamı olan tek harf değil, diğer karakterler de var. Aslında sadece onaltılık sayılara izin verilir.
3. Podcast başlığı, normal metin olan, yüzde kodlamasının önemli olması için neden URL olarak ayrıştırılıyor? Bu, kaynak kodu ve orijinal yazarı kullanılarak kolayca cevaplanabilecek büyük kafa karıştırıcı bir yön.
Sesinizi sesli komutlar veya ana ünite kullanarak kontrol etmek istiyorsanız, yalnızca bir aux kablosu kullanamayabilirsiniz. Ek olarak, USB kullanarak bağlanırsanız, bu navigasyon sistemi çakışmaları, çeşitli uygulamaların otomatik oynatımı vb. diğer gariplikler oluşturabilir. Modern araba ses sistemleri, rastgele şeyler konusunda bilindiği gibi oldukça karışık. Açıkçası, yüzde işaretinin (ve bir dosya adındaki boşluğun) sorun olmaması beni biraz şaşırttı. Önceki bir gönderinin bahsettiği gibi, yüzde işaretinin programlamada uzun bir geçmişi vardır (diyez işareti, soru işareti ve birkaç diğeri gibi). Ben veya Reply All ekibi neden bir ses düzenleyici kullanarak podcast meta verilerini (sadece etiket değil, diğer dosya öznitelikleri de) değiştirmedi, bunu anlamıyorum. Kimsenin teknoloji uzmanı değilim ve bu bana hemen aklıma geldi. Ve evet, "test" podcast'leri ilk kısa dinlemede belirsiz bir şekilde sevimliydi, ama anladık ve tekrar dinlememize gerek yoktu.