Billiga Arduino kontrollerade ljus Sockets - Reverse Engineering RF (2 / 5 steg)
Steg 2: Sändaren demontering/knäcka koden
Nu är det dags att bygga en krets som kommer att efterlikna den otroligt billig plasten remote. Öppna upp fjärrkontrollen genom att ta bort hylsan, batteri och skruvar. Ser du ett par tryckknappar, några små komponenter, en metall crystal paketet (markerade med R315A) och en IC med HS1527 stampade på den. "315" kristallen låter väldigt mycket som vi verksamma en 315MHz sändare, och en snabb titt på HS1527 datablad berättar att det handlar om en OTP encoder sändare.
Sida 2 är särskilt intressant, visar en output format av en 20-bitars kod och 4 bitar. Koden används för att förhindra att någon random enhet på samma frekvens av misstag slå ljus på, eftersom det finns ett ungefärligt 1/1.000.000 chans att en slumpmässig sändning kommer att matcha koden. Fyra databitarna överensstämmer till vilken RF socket är slås på - det är de sista fyra bitarna av den hex värde som ändras mellan varje i uttaget EEPROMs.
Så vi vet databitarna är där hex data förändras. Vad sägs om 20-bitars kod? Kunde det vara någonstans i EEPROM? Tja, visar det sig att programmerare är lata. De vill verkligen inte att skapa extra arbete och mer kod, så när man läser en seriell sändaren sändning skulle de troligen vill ha jämförelseuppgifter ordnade på samma sätt i minnet. Titta på en av nedstämd, ser vi något liknande:
5a5a 0c5a c18c 285a bea3 915a ffff ffff
På en annan dump ser vi:
5a5a 0c5a c18c 285a bea3 925a ffff ffff
Och så vidare. Räkna 20 bitar till vänster om den föränderliga siffran (det är 5 hex värden), få vi koden 0xBEA39. Med lite tur, vi kan stoppa detta i ett datapaket och spränga den på ljus uttagen, och de ska svara genom att vrida på eller av!
Låt oss komma till bygga en ny sändare!