Ik heb een tijdje geleden een stukje reclamemateriaal in handen gekregen. Het is een Webbutton die verwijst naar de NEC Univerge 360 website.
In principe is het gewoon een drukknop met USB aansluiting. Voor de aankleding hebben ze er nog een RGB led op gezet die twee functies heeft.
1) Bij het verbinden met de PC knippert deze rood
2) Idle verandert deze LED van kleur.
De knop gedraagt zich als een USB toetsenbord, als ik op de knop druk wordt Windowstoets + R > "http://www.univerge360.eu/ " (inclusief die spatie er achter) > Enter ingetoetst. Dit wordt vervolgens uitgevoerd zodat een webbrowser opent en de pagina toont.
Nu wil ik natuurlijk de URL veranderen, bijvoorbeeld naar circuitsonline.net.
Ik heb de knop al open gemaakt, er zit een 24c16 in en een onbekende controller (48 pins) met opschrift
MW6208A
048191-3
08HT0902
Ik heb de eeprom uitgelezen en je ziet daarin de URL staan (vanaf 0500) (in USB HID codes, niet in ascii!). Als ik echter ook maar iets aan de URL verander werkt de knop niet meer.
Nu kwam ik er achter dat er op een andere plaats in de eeprom nog een keer de URL voorbij komt, maar dan gecodeerd. Volgens mij is het een codering waarbij er een bepaalde reeks wordt opgeteld bij de oorspronkelijke waarden. Of een eenvoudige XOR reeks.
Is er iemand die een patroon kan ontdekken in de data in het .HEX bestand? Als het me niet lukt om de URL te veranderen ga ik het binnenwerk van deze knop vervangen door een eigen controller, maar dat vind ik eigenlijk jammer van de oorspronkelijke hardware...
Linkje naar tweakers.net over deze knop
Linkje naar het HEX bestand
Linkje naar de USB HID Tables. De codes staan vanaf pagina 59
klein is fijn
Moderator
Dat kan je vergeten. Zodra de url een andere lengte wordt wordt datareeks een andere lengte, terwijl de controller hetzelfde stuk eeprom blijft uitlezen.
Zolang je niets aan die software in de controller verandert zal ie altijd hetzelfde stuk eeprom blijven uitlezen.
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Dat valt wel af te vangen door de url op te vullen met een loze query string (?) of een anchor (#). De voorwaarde is wel dat de url nooit langer kan zijn dan de originele NEC url. Maar daarvoor heb je dan eventueel nog een dienst als tinyurl.
Wat klein is fijn opmerkt is uiteraard waar, maar dit hoeft niet zozeer een probleem te zijn:
http://www.univerge360.eu/
http://circuitsonline.net/
is bijvoorbeeld even lang, of indien je een url wil opgeven die niet even lang is:
http://www.univerge360.eu/
http://hackaday.com/?a=123
De tekst achter het vraagteken zal de webserver negeren. Een langere url is waarschijnlijk niet mogelijk, tenzij de controller leest tot een bepaald stop teken (bv 00) in plaats van een vaste lengte.
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Als ik zo eens rondkijk lijkt het me dat NEC dit niet zelf maakt, maar gewoon ergens bestelt als promotiemateriaal. Het lijkt bijv. erg veel hierop http://www.engravedpens.com/USB_smart_web_button.htm
Het lijkt me dan ook heel aannemelijk dat alle benodigde informatie in het eeprom zit. Ze zullen vast niet voor elke batch van die dingen de programmacode van de uC gaan aanpassen. Waarschijnlijk word de lengte van de url ook opgegeven zodat elke willekeurige url (tot een bepaald maximum) geplaatst kan worden.
De knop is inderdaad promotie materiaal. Er worden verschillende versies op de markt gebracht.
Er is ook een versie waarbij de URL gewoon aanpasbaar is in de eeprom.
Wat betreft de lengte van de URL, als er een 'einde' karakter aan het einde van de url staat (bijvoorbeeld 0) dan kan de lengte toch korter gemaakt worden.
Waar ik me wat zorgen over maak is dat er misschien een hash wordt gebruikt om de inhoud van de eeprom te beveiligen. Maar zoals ik eerder heb aangegeven, mogelijk zit dezelfde url er nog een keer gecodeerd in.
Op 1 januari 2009 14:35:47 schreef mbbneon:
Ik heb de knop al open gemaakt, er zit een 24c16 in en een onbekende controller (48 pins) met opschrift
MW6208A
048191-3
08HT0902
Micov MW6208A, intern een 80C51 USB Flashcontroller
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
je zou de stream kunnen hooken als je een handle kan krijgen op het usbdevice
ofwel een hook op het keyboard en win+r afvangen.
Roland van Leusden
It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.
Typisch een klusje voor een LA met i2c protocol analyser, zoals mijn Intronix LA1034 dan ben je er zo uit. Zwolle, de woonplaats van de TS is alleen niet bij mij in de buurt.
Ik heb dit project inmiddels opgegeven.
Volgens mij is de inhoud van het eeprommetje tevens de code voor de controller. Hier zal waarschijnlijk een CRC opzitten.
Dit heb ik getest door een waarde (t van http) te verhogen en een andere waarde te verlagen. De knop deed daarna niets meer.
Tegenwoordig gebruik ik een schakeling waarin een attiny45 met een paar weerstanden een USB keyboard emuleert.
