Kimyasal & Malzeme Mühendisliği
Otomotiv Sektöründeki Ters Mühendislik: Ecu Kod
Table of Contents
Giriş Giriş Giriş
Otomotiv sektöründeki geri mühendislik, modern bir araç motorunu, iletimini ve diğer alt sistemleri yönlendiren bir ana uygulamaya dönüştü. Bu uygulamanın kalbinde, üreticilerin, ayarlamacıların ve güvenlik araştırmacılarının, üreticilerin araç davranışını nasıl programlandığını anlamalarını sağlamak için, bu davranışı modern bir araç motorunu, iletimini, bir diğer alt sistemimin tamamını ve yasal keşiflerini sağlamak için, yasal konuları nasıl gerçekleştirdiğini anlamak için.
Elektronik Kontrol Birimini Anlamak
ECU aslında modern bir aracın beyninidir. Bu verileri kullanarak yakıt zamanlaması, ateşleme zamanlaması, hava yakıt sensörleri, throttle pozisyonu sensörleri, crankshaft pozisyonu sensörleri, kütle hava akış sensörleri ve diğer birçok kişi için binlerce hesaplama yapar.
Bugünün ECU'ları basit kontrolörlerden çok daha fazlasıdır. Onlar karmaşık görünüm tabloları (erkekler), sensör füzyonu için özel algoritmaları ve iletişim yığınları için iletişim yığınları, LIN ve FlexRay.
Modern bir araç genellikle onlarca ECU içerir: motor kontrol ünitesi (ECU veya PCM), iletim kontrol ünitesi (TCU), vücut kontrol modülü (BCM), anti-lock frenleme sistemi (ABS) modülü, hava çanta kontrolü modülü ve infotainment ünitesi, birkaç isim için en yaygın hedeftir.
Neden Ters Mühendislik ECUs Maddeleri
Mühendislik otomotiv ECU'larının tersine çevirme motivasyonları profesyonel, meraklı ve araştırma topluluklarıdır. Anahtar nedenler şunlardır:
- [[Dönetici:0) İleri Teşhisler[[Dönetici:0) İleride Uygulanan Testler ([Dönetici) ile ilgili olarak, bağımsız teknisyenler ve araç geliştiricilerine tam erişimin hata kodlarına, sensör okumalarına ve eylemci testlerine erişmesini sağlar.
- [FONT=0)Performance Tuning[Dönetici: Hızlandırma haritalarını değiştirerek, yakıt teslimat masalarını ve hedefleri güçlendirerek, melodiler fabrika motorlarından önemli ölçüde daha fazla at gücü ve tork çıkarabilirler. Bu çok-milyon dolarlık bir satış sonrası satış endüstrisidir.
- [FONTS:0]Emissions and Economy Optimizasyon[Dönetici: Bazı sahipleri veya filolar yakıt tüketimini azaltmak veya emisyon kontrol sistemlerini devre dışı bırakmak için (bu genellikle yasadışı olsa da) Legitimate araştırması da hibrit ve elektrikli araç verimliliğini artırmaya yardımcı olur.
- [FONT:0) Güvenlik Araştırması[DÜDÜT:1): Araçlar daha bağlantılı hale geldikçe, ECU'lar saldırı yüzeyleri haline geldi. Güvenlik araştırmacıları, Simdisyon Bilgisayarını havadan veya fiziksel erişimden yararlanabilecek güvenlik sistemlerini tersine çevirdiler.
- [FONT:0]Müşteriler ve Hobiler Projeler): Motordan özel motor inşalarına kadar, tersine mühendislik, diğer platformlardan gelen ECU'ları adapte etmeye veya tek bir motor yönetim sistemlerini inşa etmeye olanak sağlar.
- [FONT:0] ⁇ ve Rekabetçi Benchmarking[[Dönetici: Araştırmacılar kontrol stratejilerini karşılaştırmak, iddiaları doğrulamak ve otomotiv kontrol teorisini geliştirmek için üretici algoritmaları incelemektedir.
Ters Mühendislik Süreci
Tamamlanan mühendislik an ECU, donanım hack, yazılım analizi ve protokol dekodingi birleştiren çok aşamalı bir süreçtir. Genel iş akışı, kodu analiz eder ve mantığı ve veri yapılarını yeniden yapılandırır. Aşağıda her aşaması kırıyoruz.
Firmaware Ekstraksiyon
İlk adım, ECU'nun flaş belleğinden ikili bilgisayar görüntü elde etmektir. Çeşitli yöntemler var, her biri kendi ticaret-offları ile:
- [FONT=0)OBD-II, tanı protokolleri aracılığıyla ): Bazı ECUs, üretici özel komutları kullanarak PSP-II port aracılığıyla flaş hafızasını okumanıza izin verir (örneğin, UDS, DoIP).
- [FONT:0)Bootloader veya debug port erişim[DÜT:1): Birçok ECU, JTAG aracılığıyla doğrudan hafıza okumasına izin veren veya önbellekleri kullanarak test puanları veya önbellekleme modu pinleri vardır.
- [FONT:0) flaş çipini ([Dönetici: 1) Çözmece) çözünmek, en güvenli yöntem, flaş hafıza çipini fiziksel olarak kaldırmaktır (SPI NOR veya NAND cihazı) ve bir programcı ile bir TL866 veya özel bir flaş okuyucu gibi okumaktır.
- [FONT:0]Pazar aracından sonra bir ön-gerileme aracına ([Döntme:0) Using a pre-flashed Aftermarket aracı[[[DD)[[[Dönetici v2, CMD Flash, veya Piasini, birçok ECU’yu okumak için SSS veya tezgah kullanımı ile kodlayın, genellikle uçup verileri şifreleyin.
Orijinal ikili genellikle şifreli, sıkıştırılmış veya her iki. Bilinen algoritmaları AES, XOR çekleri ve üretici-özel programlar içerir. kritik bir erken adım şifreleme algoritmasını tanımlamak ve anahtarı elde etmek veya elde etmek. Bazen anahtarlar yan kanal analizleri tarafından zor kodlanır veya çıkarılabilir.
Kod Analizi
Düz metinli bellek elde edildikten sonra -veya kısmi decryption elde edilir - analist koddan söküp silmeli veya dekompile. Çoğu ECUs 16-bit veya 32-bit mikrokontroller üzerinde çalışır (örneğin, NXP'den MPC5xxx, Renesas850).
- [FONT:0]Dissassembly[Dönetici: Ghidra, IDA Pro veya Radare2 gibi araçları kullanarak makine kodu montaj talimatlarına dönüştürmek için. Manually giriş noktasını, kes vektör masasını ve çöp ilklemeyi tanımlamak.
- [FONT:0) Kalibrasyon haritaları[[Döneticiler için kullanılan veriler, 8bit veya 16 bit değerlerinin 2D veya 3D tablolarından oluşur. Bunlar genellikle kontigble bloklarda depolanır. Analistler interpolasyon işlevleri veya göz ardı edilen rutinler gibi matematiksel referanslara bakarlar.
- [FONT:0]Tracing algoritmaları[[Dönetici: 1)[Döneticiler ve eylemci çıktıları, mühendisi PID döngüleri, besleme-geri haritaları ve güvenlik sınırları dahil olmak üzere kontrol mantığını yeniden yapılandırır.
- [FONT=0)Memory haritalama[Dönetici: RAM değişkenlerini, flaş sabitlerini ve sistem kayıtlarını tanımlama.Ghidra)Ghidra ) hafıza haritalarını oluşturma ve bilinen SFR tanımlarını uygulama.
Başarılı kod analizi, yakıt ve ateşleme masalarının ayrıntılı bir anlayış sağlar, tork limiters, geri limitçileri, haritaları, iletim geçiş programları ve daha fazlası. Bu bilgi daha sonra ikiliyi değiştirmek ve yeniden-flash geliştirmek veya tamamen özel bir kalibrasyon dosyası geliştirmek için kullanılır (genellikle bir “tune” olarak adlandırılır).
Protokol Ters Mühendislik
Kod analiz etmek için, ters mühendisler genellikle ECU'nun kullandığı iletişim protokollerini anlamalılar. Kontrolcü Alan Ağı (CAN) birincil araç otobüsüdir, ancak modern araçlar da CAN FD, LIN, FlexRay ve otomotiv Ethernet'i kullanmaktadır.
- [FONT:0]Sniffing otobüs trafiği[Dönetici: 1), bir CANI veya PCAN-USB gibi araçlar ve bilinmeyen mesajları ihlal ediyor.
- [FONT:0) Takip eden değişiklikler[[Döneticiler) hareket edenler (örneğin, kafa ışıklarına, baskılı fren pedalına) harita sinyallerine dönüştürerek mesajlarını geri döndürür.
- [FONT:0) Bilinen DBC dosyaları [DFLT:1] veya üreticiye özgü veritabanı (toplumda sızdırılmış veya paylaşılan).
- [FONT=0) Tanık yığını[[Dönetici: 1 ) Uygulamalı (UDS, KWP2000) genel olarak ECU'ya okuma/yazma istekleri göndermek.
ECU'nun ağ etkileşiminin anlaşılması, diğer modüllerle iletişim içeren herhangi bir değişiklik için önemlidir (örneğin, TCU, ABS) veya güvenlik testleri için.
Ticaret Araçları
Otomotiv ters mühendislik, ticariden açık kaynak için değişen bir donanım ve yazılım araçları karışımı gerektirir. Temel araçların tükenmeyen bir listesi:
- [FONTD-II Interfaces[[DDDD-II Interfaces[[DDDDD-II Interfaces][DDDDDDDDD-II Interfaces[[DDDDDDDDDDDD): SeikoLink MX+, ELM327 veya özel CAN cihazları. Tanık verileri okumak için kullanılır ve bazen flaş için kullanılır.
- [FONT=0)Hardware Debuggers[[Dönetici: Segger J-Link, Lauterbach veya OpenOCD- uyumlu adaptörler JTAG / SWD erişimi için.
- [FONT=0]Flash Programrs: TL866, KTAG ve PCMFlash gibi özel otomotiv programcıları.
- [FONT=0]Firmware Analysis Software[Dönetici: Ghidra (özgür), IDA Pro (kommercial), Radare2 (open-source) Otomotive özgü dekompilasyon için, özel eklentiler için:2).AutoDism).
- [FONT:0]CAN Tools: PCAN-View, BusMaster, araç Spy veya Python python-can ve can-isotp kütüphaneleri ile.
- [FONT:0]Hex Editörler ve Senaryolama[Dönder: 010 Editör şablon dosyaları, ImHex, veya özel Python senaryoları, model eşleştirme ve çeklerum hesaplaması için.
- [FONT:0)Oscilloskops ve Mantık Analizleri[[Dönetici: Donanım iletişim başarısızlıklarını veya hatalarını görmezden gelmek için.
- [FONT:0]Bench Harnesses[[Dönetici: Araç dışındaki ECU güç ve gelişim sırasında sensör girişlerini simüle etmek.
Birçok ters mühendis ayrıca topluluk veritabanına ve forumlara www.FLT:0)HP Tuners) veya EFILive, ortak GM, Ford ve Dodge ECU'ları derin kod analizi olmadan değiştirmek için kullanıcı dostu arayüzler sunar. Ancak, bu araçlar sadece sınırlı bir araç setini destekler ve altta yatan ham kodu korur.
Uygulamalar ve Faydaları
ECU ters mühendisliğinin pratik sonuçları çeşitli ve etkilidir:
- [FONT=0) Piyasa Performansı Tuning): Cobb Tuning, Burger Motorsport ve EcuTek tüm iş modellerini ters motorlu ECUs üzerinde temel alır.
- [FONT:0)Automotive Forensics[[DÜT 1: 1 ): Kaza araştırmacı ve hukuk uygulama ters mühendis ECUsları olay veri rekorlarını çıkarmak için (EDR) bilgileri, bir kazadan önce araç hızı gibi, throttle pozisyonu ve frenleme uygulaması.
- [FONT:0]Eco-Tuning ve Filo Yönetimi): Filolar yakıt tüketimini daha düşük maliyetle azaltmak için ECU'ları optimize edebilir, sert yanıt veya geri ödeme özelliklerine izin verir.
- [FONT:0) Güvenlik Sertleştirme[[DÜDÜT:1): Etik hackerlar ECU'da güvenlik sağlar ve bunları üreticilere rapor eder, yamalara ve tasarım güvenliğine yol açarlar.
- [FONT:0]Converter ve Motor Swap Projeler): Hobiler standart olmayan motorlarla veya iletimlerle çalışmayı tersine çevirirler, örneğin 2JZ motoru bir BMW E36'ya koymak gibi - tüm kontrol mantığını yeniden ifade etmek için bir proje.
- [FONT:0)Open-Kaydet ECUs[[DÜT:1): RusEfi ve Speeduino gibi projeler, ECU OEM'lerin tersine dönük bilgilerini, düşük maliyetli, tamamen programlanabilir alternatifler sunan ECU'lar için inşa edilmiştir.
Yasal ve Etik Peyzaj
Ters mühendislik otomotiv ECU'lar yargı yetkisine göre değişen karmaşık bir yasal gri alanda oturuyor. Anahtar düşünceler şunları içerir:
- [FONT=0]Tecr ve Ticaret Sırları : ECU Yazılımları telif hakkı yazılım olarak korunmaktadır ve genellikle Amerika Birleşik Devletleri'nde, Dijital Bin Copyright Yasası (DMCA) diğer yasaları ihlal etmek için değildir.
- [FONT=0]Warranty ve Liability[Dönetici: Moding ECU kodu neredeyse her zaman üreticinin ilgili bileşenler için garantisini bozar.Eğer bir melodi motoru başarısız olursa, sahibi tam maliyet sunabilir. Tuning şirketleri garanti eder ancak OEM garanti etmez.
- [FONTS:0]Emissions Compliance[[DÜDÜDÜDÜDÜDÜDÜSTRİYE)[Üye Olmayanlar: Birçok bölgede, emisyonlarla ilgili ECU'lar yasadışı olarak temiz hava eylemleri altında. ABD Çevre Koruma Ajansı (EPA) ve Kaliforniya Hava Kaynakları Kurulu (CARB) aktif olarak DPF filtrelerini devre dışı bırakan melodileri takip eder veya O2 sensörlerini silebilir.
- [FONT:0] Güvenlik Araştırma Güvenli Limanlar[[Döneticiler)[[Döneticiler ve bug bounty programları güvenlik araştırmacıları için yasal bir yol sunar. Ancak, araştırmacılar, ABD'de bir araç sistemine izin vermeden erişim sağlayarak bilgisayar dolandırıcılık ve kötüye kullanma Yasasını ihlal etmeye dikkat etmelidirler.
- [FONT:0)Patent Law[[Dönemli: Rejim kodu, rakip ürünler oluşturmak için bu bilgiyi kullanarak (örneğin, yedek ECU) üreticileri tarafından yapılan patentlere ihlal edebilir.
Bu alana yasal tavsiyeye başvurmak ve yerel yasalara uymak için çok önemlidir. Birçok meraklı kendi kişisel araçlarını ve sadece rakipsiz amaçlar için, bu genellikle daha hoşgörüsüzdür. Profesyonel melodiler genellikle araçlarına ve paralarını dava etmekten kaçınmayı tercih eder.
Meydanlar ve Riskler
Deneyimli ters mühendisler bile önemli engellerle karşı karşıya kalır:
- [FONT:0)Layered Encryption ve Anti-Tamper[[[Dönetici: Modern ECU Bilgisayarlama, şifreleme, kontroller doğrulama ve hatta donanım güvenlik modülleri (HSMs) bu korumaları tamamen algılamayı ortadan kaldırır. Bu korumaları ortadan kaldırır.
- [FONT:0]Varied Architectures[[Dönemli Tasarımlar[Dönemli: Her üretici (ve bazen her model yıl) farklı mikro kontrol sistemleri, hafıza haritaları ve kalibrasyon stratejileri kullanır.Bir BMW DME üzerinde çalışan bir teknik Toyota ECM üzerinde çalışmayabilir.
- [FONT=0]Lack of Documentation[[Dönetici: Resmi veri tabloları veya SDK'lar için mevcut değildir. Mühendisler kayıt tanımları, periferik konfigürasyonlar ve sınırlı online kaynaklardan veya ağrı testlerden pinout gerekir.
- [FONT:0]Bricking Risk[[[Dönetici: flaş sürecinde bir hata – yanlış dosya, kesinti gücü veya yanlış güvenlik tohumu – binlerce dolara mal olabilecek bir yedek talep eden ECU kalıcı olarak zarar verebilir.
- [FONT:0)Time Investment[[DÜT:1): Sıfırdan tek bir ECU aylarca veya tam zamanlı çalışmalardan ay veya yıl alabilir. Çoğu pazarlama melodileri sızıntı kaynağı koduna, çalınan algoritmalarına veya yerleşik satıcılardan alınan dosyaları satın alır.
Otomotiv Ters Mühendisliğinin Geleceği
Otomotiv endüstrisi yazılım tanımlı araçlara doğru değiştiği için, ECU ters mühendisliğin önemi sadece büyümeye devam edecektir. Birkaç trend geleceği şekillendiriyor:
- [FONT:0)Over-the-Air Updates and Cloud Access[[Dönetici]: Araçlar bulut sunucuları aracılığıyla giderek daha fazla bilgisayar güncellemelerini alacak. Bu, ters mühendislere yönelik yeni saldırı yüzeyleri ortaya koyacak, eğer mal sahibi modifikasyonlara izin verirse.
- [FONT:0]Homologation and Right-to-Remate[[Dönetici:): Birçok bölge bağımsız onarım mağazalarının bilgi ve donanıma erişimi garanti eden doğru ayrıştırılmış yasaları harekete geçirir. Bu, üreticilerin temel onarım fonksiyonlarının tersine mühendislik ihtiyacını azaltır.
- [FONT:0) Şifrelenmiş ve Kayıt Edilmiş Kod[DÜDÜDÜ: Future ECUs, yalnızca kriptografik olarak imzalanmış bir yazılımın gerçekleştirilebileceğini görevlayacaktır. Bu, üreticilerin “tuning modu” veya SDK sağlamadığı sürece bağımsız melodileri kilitleyebilir.
- [FONT:0)Higher Abstraction via AUTOSAR[[Dönetici: OTOMSAR standart soyut donanım ve yazılım tabakaları, potansiyel olarak platformlarda mühendisini tersine çevirmek için daha eşit ve daha kolay, ancak standart şifreleme modülleri aracılığıyla daha obfuscat edilmiştir.
- [FONT=0)Elektrik ve Hibrit Araçlar[[[Dönler: EV ECUs (inverters, batarya yönetim sistemleri) bir sonraki sınır haline geliyor, ancak kontrol algoritmaları daha iyi termal yönetim, aralık optimizasyonu ve tanıları mümkün olabilir.
- [FONT:0]AI-Assisted Ters Mühendislik[Dönetici]: Makine öğrenimi algoritmaları tanımlamak için ikili analize uygulanmaya başlıyor, kalibrasyon masalarını çıkarmak ve hatta optimize edilmiş melodiler üretebiliyor.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Otomotiv sektöründeki ECU tersine çevirmek, ancak mevcut otomobillerin tam potansiyelini ortaya koyan zorlu bir disiplindir. Gelişmiş teşhisler, kişisel performans ayarlanması, güvenlik araştırmaları ve ters bir şekilde, araçların nasıl düşündüklerinin daha da derin bir şekilde anlaşılmasını sağlar. Ancak, yasal ve etik sorumluluklar taşır.Uygulamacılar, gömülü sistemlerde sağlam bir temelle yaklaşmalı, yerel yasalara bağlı olarak, zihinsel mülkiyete olan bir sonraki üretim hattına bağlı olarak, daha bağlantılı ve yazılım odaklı hale gelecektir.