Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Leren Firmware " aanpassen "

Pagina: 1
Acties:

  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
Ik ga er even vanuit dat dit niet tegen de policy is om het hier te vragen.
Mocht het wel zo zijn, mijn excuses en gooi er een groot slot op.

Ik wil graag leren hoe ik firmware aan ga passen van een specifiek apparaat. De reden dat ik dit wil is om software die ik heb en deels aan het aanpassen ben beter te laten werken. Het gaat hierbij om een professionele ip camera. ( geen axis helaas want die is grotendeels naar wens aan te passen en goed gedocumenteerd ) De fabrikant waar ik wel de juiste mensen ken wil natuurlijk niet helpen. Of extra documentatie vrij geven.

Het apparaat heeft een netwerk aansluiting. Een interne webbrowser en de mogelijkheid om er nieuwe firmware in te zetten via een upload functie die geïntegreerd zit in de eigen webpagina of via bijgeleverde windows software.
De webpagina is grotendeels op java gebaseerd . Ook kan ik er via telnet naartoe waarbij ik in kan loggen en dezelfde aanpassingen kan maken die ik ook op de website van het apparaat kan maken.
Nu heb ik de firmware file ook file.fw . Geen enkel programma kan er natuurlijk iets mee

Voor de goede orde ik ben geen software guru maar ik ken wel de basis van diverse talen.

Nu heb ik google uitgebreid geprobeerd. Maar alles wat ik daar lees over firmware aanpassen is voor specifieke apparaten. ( iphone psp xbox enz )

Hoe ga ik dit aanpakken? Om te beginnen zou ik natuurlijk het beste de firmware file die ik heb moeten kunnen decoderen? Geen idee hoe ik het aanpak.

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 19-11 10:47
Hmm.. Als ik je post goed intepreteer ben je niet heel erg thuis in programmeren voor embedded systems. De hardware van een dergelijk systeem is vaak (lees: practisch altijd) voor dat ene doel ontworpen en de firmware (software die op de microcontroller draait) is specifiek op de hardware toegespitst.

Als je geen aanwijzingen hebt hoe de hardware in elkaar steekt (welke chips worden gebruikt en wat doen die, en hoe communiceren ze met elkaar), en je ook weinig tot geen ervaring hebt in het ontcijferen van dergelijke systemen vrees ik dat het erg lastig tot onmogelijk gaat worden om dit voor elkaar te krijgen.

Er zijn namelijk geen specifieke firmware-hack-trucks. De reden dat iedere website die je vindt gaat over een specifiek stuk hardware is dat firmware ook écht specifiek is. Er bestaan geen truucjes in de richting van "open het in deze software en pas dit en dat aan, dan kan je vanalles."

  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
Nee ik heb geen ervaring met embedded software. Maargoed is toch een of andere *nix kernel die er opdraait.
Tja kan natuurlijk wel die camera uit elkaar schroeven om de gebrukte chips te bekijken. Dan ben ik mischien een stapje verder natuurlijk.

Maargoed ooit wist ik niets over java / C / php /mysql /netwerk protocols / linux enz. Ik heb mezelf het meeste aangeleerd met behulp van internet en een paar goede boeken.

Dus dit moet me ook lukken op de duur :P

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 19-11 10:47
Bill_E schreef op zaterdag 03 januari 2009 @ 03:13:
Nee ik heb geen ervaring met embedded software. Maargoed is toch een of andere *nix kernel die er opdraait.
Tja kan natuurlijk wel die camera uit elkaar schroeven om de gebrukte chips te bekijken. Dan ben ik mischien een stapje verder natuurlijk.

Maargoed ooit wist ik niets over java / C / php /mysql /netwerk protocols / linux enz. Ik heb mezelf het meeste aangeleerd met behulp van internet en een paar goede boeken.

Dus dit moet me ook lukken op de duur :P
Te leren is het zeker, dat staat buiten kijf. Het probleem is: "Het draait op een *nix kernel" (waarschijnlijk linux) is niet voldoende, de linuxversies die op dergelijke systemen draaien zijn echt op het doel aangepast, alles wat overbodig is is weggegooid. Als je er écht mee aan de slag wilt moet je eerst weten wat voor hardware er in dat ding zit, en dan nog is de kans op slagen klein.

Neemt niet weg dat het zeker mogelijk is, maar de vraag is of het je de moeite waar is. Dit soort zaken 'hacken' komt vrij precies en is voor een groot deel trial-and-error.

  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
Thijsch schreef op zaterdag 03 januari 2009 @ 03:43:
[...]
Als je er écht mee aan de slag wilt moet je eerst weten wat voor hardware er in dat ding zit, en dan nog is de kans op slagen klein.
Dat was idd een goede tip. Heb het ding net opengeschroeft.. ( als me baas het maar niet hoort ;) nieuw apparaat van over de 800 euro ff openschroeven met kans op vervalle van garantie )

Maargoed de hoofd cpu zit een koel plaatje op die moet ik morgen even los solderen ( heb geen bout hier bij de hand ) En dan zal ik eens zoeken op de fabrikant daarvan.

Heb ook de gegevens van de grafische verwerkings chip. Geheugen iets van amd en intel. Intel is 90% zeker voor het netwerk verhaal dat erop zit.
De amd snap ik nog ff niet. Eerst plaatje van de grootste eraf solderen.

Verder zijn alle tips welkom.

  • Thralas
  • Registratie: December 2002
  • Laatst online: 00:23
Bill_E schreef op zaterdag 03 januari 2009 @ 03:13:
Nee ik heb geen ervaring met embedded software. Maargoed is toch een of andere *nix kernel die er opdraait.
Hoezo *nix? Is dat een wilde gok, of heb je aanwijzingen die hierop wijzen? Omdat een IP camera niet hel simpelste embedded system is, is er natuurlijk een grote kans dat de fabrikant het OS niet vanaf scratch heeft geschreven. Dat kan net zo goed een "obscuur" RTOS zijn, een *nix (linux?) variant maakt het geheel mogelijk wel een stuk beter uitvoerbaar, afhankelijk van wat je uberhaupt van plan bent.

Je noemt java, maar doel je hiermee niet op een applet die clientside wordt gebruikt om oa. beeld weer te geven en het ding eventueel te controllen?
Tja kan natuurlijk wel die camera uit elkaar schroeven om de gebrukte chips te bekijken. Dan ben ik mischien een stapje verder natuurlijk.
Natuurlijk kun je het ding ook puur softwarematig analyseren; Aangezien je enige communicatie met de camera via IP verloopt, wat zegt nmap met -sV?
Dus dit moet me ook lukken op de duur :P
Maar het zou wel eens héél lang kunnen duren, afhankelijk van je plannen.

Als laatste, aangezien de firmware image hoogstwaarschijnlijk totaal specifiek is voor je camera, zul je als eerste met een hex editor aan de slag moeten om te kijken of je er iets in kunt herkennen (ASCII text, magic values). Grote kans dat de payload zelf compressed is, waarschijnlijk voorzien van een checksum of hash en mogelijk zelfs cryptografisch gesigned (alhoewel niet waarschijnlijk, het is immers geen iPhone of PSP).

Als laatste, als je daadwerkelijk zover komt dat je een firmware image kunt laden, dan zul je heel goed moeten uitkijken met wat je doet, een corrupte image resulteert mogelijkerwijs in een camera die vrij weinig meer doet (dan zul je met de hardware moeten gaan knutselen).

Hoe heet het beestje trouwens? Mogelijk interessant als de firmware publiek af te halen valt bij de fabrikant.

  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
Thralas schreef op zaterdag 03 januari 2009 @ 04:02:
[...]


Hoezo *nix? Is dat een wilde gok, of heb je aanwijzingen die hierop wijzen? Omdat een IP camera niet hel simpelste embedded system is, is er natuurlijk een grote kans dat de fabrikant het OS niet vanaf scratch heeft geschreven. Dat kan net zo goed een "obscuur" RTOS zijn, een *nix (linux?) variant maakt het geheel mogelijk wel een stuk beter uitvoerbaar, afhankelijk van wat je uberhaupt van plan bent.
Dat is idd wel een aanname.
Je noemt java, maar doel je hiermee niet op een applet die clientside wordt gebruikt om oa. beeld weer te geven en het ding eventueel te controllen?


[...]
Jep dat klopt idd. maar het word ook gebruikt om de firmware te "uploaden"
Natuurlijk kun je het ding ook puur softwarematig analyseren; Aangezien je enige communicatie met de camera via IP verloopt, wat zegt nmap met -sV?
die optie's heb ik nog niet geprobeerd. Ga daar morgen even de uitkomst van geven aangezien het ding nu uit elkaar ligt.
[...]


Maar het zou wel eens héél lang kunnen duren, afhankelijk van je plannen.

Als laatste, aangezien de firmware image hoogstwaarschijnlijk totaal specifiek is voor je camera, zul je als eerste met een hex editor aan de slag moeten om te kijken of je er iets in kunt herkennen (ASCII text, magic values). Grote kans dat de payload zelf compressed is, waarschijnlijk voorzien van een checksum of hash en mogelijk zelfs cryptografisch gesigned (alhoewel niet waarschijnlijk, het is immers geen iPhone of PSP).
Jep ben er mee bezig geweest. Alleen over dit onderwerp zoek ik nog meer info om hier echt uitkomst over te krijgen.
Als laatste, als je daadwerkelijk zover komt dat je een firmware image kunt laden, dan zul je heel goed moeten uitkijken met wat je doet, een corrupte image resulteert mogelijkerwijs in een camera die vrij weinig meer doet (dan zul je met de hardware moeten gaan knutselen).

Hoe heet het beestje trouwens? Mogelijk interessant als de firmware publiek af te halen valt bij de fabrikant.
Tja ik wil eigelijk liever geen merknaam noemen. Aangezien een deel van de ontwikkeling in nederland gebeurt. En ik al eens op me vingers getikt ben ivm copyright schending .
Als je persoonlijk geïnteresseerd ben kan ik wel een publieke download link sturen van de firmware.

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Meh, reverse-engineering voor compatibiliteitsdoeleinden (in dit geval: een stukje eigen sw compatibel maken met die van de camera, wat je m.i. jezelf wel tot doel stelt) mag geloof ik overal wel, zolang je niet de aangepaste firmware opnieuw distribueert. Om mij mag je de naam wel noemen en als ze een publieke firmware-download-plek hebben kan je die ook gewoon aangeven.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • eth0
  • Registratie: Mei 2002
  • Laatst online: 15-09 22:14
Als het linux draait, en GPL software heeft moet de fabrikant decode vrij geven, kijk maar naar de 20 euro routers.

Verder kan de firmware file een zimage of iets dergelijks zijn. je zou er eens met wat tools overheen kunnen gaan, strings?

Maar aangezien ik niet de firmware file heb, kan ik niets er over zeggen.

[ Voor 13% gewijzigd door eth0 op 03-01-2009 11:55 ]


  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
ik zal zo eens de soldeerdbout aanstoken om te kijken wat er onder het koelplaatje zit ;)

voor de geintreseerde de firmware : http://resource.boschsecu...1B03_enUS_T5001644683.zip

  • Sphere-
  • Registratie: November 2003
  • Laatst online: 28-08 19:53
Lijkt me raar dat de koelplaat vastgesoldeerd zit.
Waarschijnlijk warmtegeleidende lijm ofzo?

Om een firmware te hacken en er ook daadwerkelijk wat nuttigs mee te kunnen doen heb je behalve jaren ervaring met embedded systems (zowel elektronica als software) ook een heleboel tijd nodig.

Kijk hier maar eens om een idee te krijgen van het proces van een firmware hacken:
http://www.maushammer.com...0-%20Shmoocon%202007.html

[ Voor 102% gewijzigd door Sphere- op 03-01-2009 15:33 ]


  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 20-11 15:07

DataGhost

iPL dev

Op 11 bytes staat (big-endian kennelijk) 0xF7D7A0, het bestand is 0xF7DBA0 bytes groot, een verschil van 0x400 bytes. Op 0x400 begint ook heel toevallig een stuk data die er gecomprimeerd uitziet. Gecomprimeerd en waarschijnlijk niet versleuteld, aangezien in een 'plaatje van dat bestand' naast ruis ook hier en daar patronen te zien zijn. Je zal verder moeten gaan zoeken naar welke compressiemethode gebruikt is en wat de waarden in de header precies betekenen. Het eerstgenoemde getal (op 11 bytes) geeft waarschijnlijk de grootte van de payload aan.

Edit: Ik zie verder ook niet direct hoe het gecomprimeerd is, file geeft in ieder geval voor zowel het hele bestand als de payload 'data' terug dus het is geen algemeen bekend(e implementatie van een) algoritme.

Edit2: het zou ook nog een samengesteld bestand kunnen zijn met een eigen header, ik zie namelijk rondom 0xE06600 wat niet-random data welke wellicht een plaatje voor zou kunnen stellen.

Edit3: Er kwam weinig nuttigs uit hoewel ik wel steeds een soort patroontje kon zien...
Afijn, even strings gedaan. Daar zag ik een paar keer de extreem lange string "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" (en nog langer). Wellicht dat dat me iets kon helpen met een eventuele versleuteling. Heel simpel heb ik een xor over het bestand gedaan met 0x62 (b) en de uitkomst is op zijn minst verrassend te noemen. Aan het begin van de payload zie ik nu dingen als
"Y VIP"
"X.APP"
"GZ"
"X.BIN"

volgens mij wil je hiermee verder gaan :+

eDIT4: Ik zag verder nog dingen als
7 aLARMrULEsETTINGS
1 aLARMsTATES
? bASICsLIDERpANEL
verder nog een hoop onzin. Misschien was een xor 0x20 daar overheen wel op zijn plaats, dus ben ik maar even voor B (0x42) gegaan in plaats van b (0x62), nu zie ik dingen als
"vip_x.app1.gz"
"vip_x.bin"
en verderop in het bestand
"bosch_logo.gif.gz"
"bosch_logo.gif"
"Domain:2005-12.com.bosch;"
"oem: BOSCH"
"Startconnection$CPULoadReader.classPK"
"Startconnection.classPK"
"dlg_StartWarning$SymAction.classPK"
en nog een boel andere nuttige dingen.

Edit5: wat wel vreemd is is dat de payload begint met DE AD AF FE en dat AF^11=BE en FE^11=EF. Het lijkt echter alsof de rest van het bestand wel correct leesbaar is, misschien dat het gzipped deel nog niet helemaal lekker is? Het zou ook kunnen dat dit opzettelijk is natuurlijk :)

Edit6: dat 'plaatje' rondom 0xE06600 is een hoop strings :+

Edit7: Okee, hier even iets over het bestandsformaat van de ontsleutelde payload
code:
1
2
3
4
5
6
7
0x00 (4b) DE AD AF FE - magic value om aan te geven dat dit een nieuwe header is?
0x04 (4b)             - checksum?
0x08 (??)             - bestandsnaam
..
0x28 (4b)             - bestandslengte (niet 0x18, dank jerbro)
..
0x40                  - begin van het bestand

Dit alles is big-endian voor zover ik heb gezien.

Edit8: Ik heb zojuist de hoofd-app gedecomprimeerd, ik zie *iets* over ARM staan maar dit is echt een long shot. Heeeeel misschien dat het een arm big-endian CPU is maar daar moet ik mijn disassembler even naar laten kijken.

Edit9: Ik denk dat het een DM642 cpu is.

[ Voor 82% gewijzigd door DataGhost op 03-01-2009 20:40 ]


  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
Sphere- schreef op zaterdag 03 januari 2009 @ 15:28:
Lijkt me raar dat de koelplaat vastgesoldeerd zit.
Waarschijnlijk warmtegeleidende lijm ofzo?

Om een firmware te hacken en er ook daadwerkelijk wat nuttigs mee te kunnen doen heb je behalve jaren ervaring met embedded systems (zowel elektronica als software) ook een heleboel tijd nodig.

Kijk hier maar eens om een idee te krijgen van het proces van een firmware hacken:
http://www.maushammer.com...0-%20Shmoocon%202007.html
Nee zat er echt op gesoldeerd. Met pootjes naast de chip. Op een andere plaats ook. Maar daar zat al een duidelijke ontwerpfout aangezien de solderingen daar los hebben gelaten en het plaatje er alleen op zat gedrukt.

Ik heb trouwens wel elekrtonica ervaring. Ook wederom basis ervaring maar voldoende om zoon printplaat te begrijpen. Ik zal die site eens bekijken zometeen. Eerst even foto's maken. De boel weer vast solderen en in elkaar zetten.

@ dataghost. Hoe ga je te werk? En hoe kan ik het leren :P
Ik heb met hexedit het een en ander bekeken maar zoveel info als jij ziet kan ik niet zien ?

  • Thralas
  • Registratie: December 2002
  • Laatst online: 00:23
Bill_E schreef op zaterdag 03 januari 2009 @ 17:29:
@ dataghost. Hoe ga je te werk? En hoe kan ik het leren :P
Ik heb met hexedit het een en ander bekeken maar zoveel info als jij ziet kan ik niet zien ?
Na even rondkijken kwam ik tot dezelfde ontdekking als DataGhost.

Als je het bestand opent in je favoriete hexeditor kun je al vrij snel vaststellen dat er geen bekende file header of interessante strings in voorkomen. Aan het eind van het bestand valt het wel op dat er een of ander patroon in de data lijkt te zitten, en dat er erg veel 0x42 voorkomt (ASCII 'B'). Het is dus interessant om uit te zoeken hoeveel die 0x42 dan wel niet voorkomt.

Met o.a. Hex Workshop kun je de character distribution van de file bekijken, wat er als volgt uitziet:

Afbeeldingslocatie: http://i42.tinypic.com/2ztf0io.jpg

Oftewel, 0x42 komt meer dan twee keer voor dan ieder andere byte value. Het is aannemelijk dat een willekeurig bestand ongebruikte ruimte heeft, wat vaak opgevuld is met 0x00. Het simpelste idee is dus dat 0x42 getransformeerd is vanaf 0x00, en een van de simpelste transformaties is een XOR operatie (met een 1 byte key, anders zou er waarschijnlijk niet zo'n duidelijk patroon in de ciphertext zitten).

Hyptothese: 0x00 ^ X = 0x42, dus X is 0x42.

Vervolgens kun je (een groot deel) van het bestand ontcijferen door een XOR 0x42 operatie. Verder heb ik er nog niet naar kunnen kijken, maar DataGhost had al wat aantekeningen mbt. headers.

  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
btw nmap geeft me :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Interesting ports on 192.168.1.113:
Not shown: 1711 closed ports
PORT    STATE SERVICE VERSION
23/tcp  open  telnet?
80/tcp  open  http?
443/tcp open  https?
554/tcp open  rtsp?
3 services unrecognized despite returning data. If you know the service/version, please submit the following fingerprints at http://www.insecure.org/cgi-bin/servicefp-submit.cgi :
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port23-TCP:V=4.62%I=7%D=1/3%Time=495FB536%P=i686-pc-linux-gnu%r(NULL,4F
SF:,"\r\nonly\x20one\x20telnet\x20session\x20supported\r\ncurrent\x20conne
SF:ction\x20to\x20192\.168\.1\.8\r\nbye\r\n\r\n")%r(GenericLines,A4,"\xff\
SF:xfb\x01\xff\xfb\x03\r\n\r\nWelcome\x20to\x20Dinion-IP-NWC\x20192\.168\.
SF:1\.113\x20from\x20192\.168\.1\.8\r\ntelnet\x20last\x20socket\x20error\x
SF:200x0000013f\r\ntelnet\x20-1\x20!!!\r\n\r\n\r\n\r\ninvalid\x20username\
SF:r\n\r\nenter\x20username\x20\x20->\x20")%r(HTTPOptions,FA,"\xff\xfb\x01
SF:\xff\xfb\x03\r\n\r\nWelcome\x20to\x20Dinion-IP-NWC\x20192\.168\.1\.113\
SF:x20from\x20192\.168\.1\.8\r\nsecond\x20telnet\x20session\x20from\x20192
SF:\.168\.1\.8\x20discarded\r\r\nOPTIONS\x20/\x20H\r\ninput\x20too\x20long
SF:\r\nTLS\x20invalid\x20record\x20length\r\nTLS\x20version\x200300\x20not
SF:\x20supported\r\nTLS\x20version\x20000b\x20not\x20supported\r\ntry\x20a
SF:gain:\r\n")%r(RPCCheck,1C2,"\xff\xfb\x01\xff\xfb\x03\r\n\r\nWelcome\x20
SF:to\x20Dinion-IP-NWC\x20192\.168\.1\.113\x20from\x20192\.168\.1\.8\r\nse
SF:cond\x20telnet\x20session\x20from\x20192\.168\.1\.8\x20discarded\r\r\n\
SF:(r\x1d\x13\|TLS\x20version\x204554\x20not\x20supported\r\nTLS\x20invali
SF:d\x20record\x20length\r\nTLS\x20version\x200000\x20not\x20supported\r\n
SF:TLS\x20version\x201e00\x20not\x20supported\r\nTLS\x20version\x200c00\x2
SF:0not\x20supported\r\nTLS\x20invalid\x20record\x20length\r\nTLS\x20inval
SF:id\x20record\x20length\r\nTLS\x20version\x204554\x20not\x20supported\r\
SF:nTLS\x20invalid\x20record\x20length\r\nTLS\x20version\x200c02\x20not\x2
SF:0supported\r\nTLS\x20invalid\x20record\x20length\r\n")%r(DNSStatusReque
SF:st,129,"\xff\xfb\x01\xff\xfb\x03\r\n\r\nWelcome\x20to\x20Dinion-IP-NWC\
SF:x20192\.168\.1\.113\x20from\x20192\.168\.1\.8\r\nsecond\x20telnet\x20se
SF:ssion\x20from\x20192\.168\.1\.8\x20discarded\r\r\n\x0c\x10TLS\x20invali
SF:d\x20record\x20length\r\nTLS\x20version\x200000\x20not\x20supported\r\n
SF:TLS\x20invalid\x20record\x20length\r\nTLS\x20version\x200000\x20not\x20
SF:supported\r\nTLS\x20invalid\x20record\x20length\r\nTLS\x20version\x205a
SF:00\x20not\x20supported\r\n")%r(SSLSessionReq,98,"\xff\xfb\x01\xff\xfb\x
SF:03\r\n\r\nWelcome\x20to\x20Dinion-IP-NWC\x20192\.168\.1\.113\x20from\x2
SF:0192\.168\.1\.8\r\nsecond\x20telnet\x20session\x20from\x20192\.168\.1\.
SF:8\x20discarded\r\r\n\x16SO\?\r\ninput\x20too\x20long\r\ntry\x20again:\r
SF:\n");
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port80-TCP:V=4.62%I=7%D=1/3%Time=495FB53D%P=i686-pc-linux-gnu%r(GetRequ
SF:est,D46,"HTTP/1\.1\x20200\x20OK\r\nServer:\x20VCS-VideoJet-Webserver\r\
SF:nConnection:\x20keep-alive\r\nContent-Type:\x20text/html\r\nEtag:\x20\"
SF:VJ-0d-03500351-11d9da46\"\r\nAccept-Ranges:\x20bytes\r\nContent-Length:
SF:\x203095\r\nDate:\x20Sat\x20Jan\x20\x201\x2000:01:52\x202000\x20GMT\r\n
SF:Last-Modified:\x20Sat\x20Jan\x20\x201\x2000:01:10\x202000\x20GMT\r\nSet
SF:-Cookie:\x20HcsoB=73d5226556482f52;\x20path=/;\r\n\r\n<html>\r\n<head>\
SF:r\n<title>browser_capture</title>\r\n<script\x20type=\"text/javascript\
SF:"\x20for=document\x20event=\"onkeydown\(\)\"\x20language=\"JScript\">if
SF:\(window\.event\.keyCode==\"123\"\)mainFrame\.frm_content\.contentbox2\
SF:.Audio\(1\);</SCRIPT>\r\n<script\x20type=\"text/javascript\"\x20for=doc
SF:ument\x20event=\"onkeyup\(\)\"\x20language=\"JScript\">if\(window\.even
SF:t\.keyCode==\"123\"\)mainFrame\.frm_content\.contentbox2\.Audio\(0\);</
SF:SCRIPT>\r\n<script\x20type=\"text/javascript\"\x20LANGUAGE=\"JavaScript
SF:\"\x20src=\"config\.js\"></SCRIPT>\r\n<script\x20type=\"text/javascript
SF:\"\x20LANGUAGE=\"JavaScript\"\x20src=\"messagesupport\.js\"></SCRIPT>\r
SF:\n<script\x20type=\"text/javascript\"\x20LANGUAGE=\"JavaSc")%r(HTTPOpti
SF:ons,63,"HTTP/1\.0\x20400\x20Bad\x20Request\r\nContent-Type:\x20text/htm
SF:l\r\n\r\n<body><h1>HTTP/1\.0\x20400\x20Bad\x20Request</h1></body>")%r(R
SF:TSPRequest,63,"HTTP/1\.0\x20400\x20Bad\x20Request\r\nContent-Type:\x20t
SF:ext/html\r\n\r\n<body><h1>HTTP/1\.0\x20400\x20Bad\x20Request</h1></body
SF:>")%r(FourOhFourRequest,63,"HTTP/1\.0\x20400\x20Bad\x20Request\r\nConte
SF:nt-Type:\x20text/html\r\n\r\n<body><h1>HTTP/1\.0\x20400\x20Bad\x20Reque
SF:st</h1></body>")%r(GenericLines,63,"HTTP/1\.0\x20400\x20Bad\x20Request\
SF:r\nContent-Type:\x20text/html\r\n\r\n<body><h1>HTTP/1\.0\x20400\x20Bad\
SF:x20Request</h1></body>")%r(SIPOptions,63,"HTTP/1\.0\x20400\x20Bad\x20Re
SF:quest\r\nContent-Type:\x20text/html\r\n\r\n<body><h1>HTTP/1\.0\x20400\x
SF:20Bad\x20Request</h1></body>");
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port554-TCP:V=4.62%I=7%D=1/3%Time=495FB58C%%r(SIPOpt
SF:ions,1D,"RTSP/1\.0\x20200\x20OK\r\nCSeq:\x2042\r\n\r\n");

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 116.468 seconds


wat me opvalt is P=i686-pc-linux-gnu

ben nu ff foto's aan het uploaden zal zo even de info posten

  • jerbro
  • Registratie: September 2001
  • Niet online
Erg goed bezig DataGhost :)
Erg interessant ook om te zien hoe zo'n pakket eigenlijk in elkaar zit. :)

Ik ben ook eens gaan kijken naar de headers, en volgens mij zitten de headers zo in elkaar:
code:
1
2
3
4
5
6
7
0x00 (4b) DE AD AF FE - magic value om aan te geven dat dit een nieuwe header is?
0x04 (4b)             - lengte pakket, (inclusief header, en nullen aan het eind)
0x08 (32b)            - bestandsnaam
0x28 (4b)             - bestandslengte
0x2c (4b)             - Locatie in geheugen processor? (in veel gevallen, waarde hier + lengte pakket = waarde in volgende pakket)
0x30 (16b)            - NULL
0x40                  - begin van het bestand


Er zitten in de firmware ook meerdere pakketten met de bestandsnaam beginnend met RomFS.bin, die elk weer aparte pakketten met een header enz bevatten. Misschien dat er verschillende versies van de hardware zijn die zo allemaal in een firmware pakket zitten?

  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
Het is een " digital media processor "
Type : TMS320DM643AGDK
c2003 TI
cc-5caenfw
4

Knap dat je dat nu al weet , alleen Hoe doe je da ?!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 20-11 15:07

DataGhost

iPL dev

jerbro schreef op zaterdag 03 januari 2009 @ 20:03:
code:
1
0x28 (4b)             - bestandslengte
Inderdaad foutje van mijn kant, ik was even vergeten dat mijn editor 0x20 bytes per regel laat zien ipv 0x10 :+
Bill_E schreef op zaterdag 03 januari 2009 @ 20:31:
[...]


Het is een " digital media processor "
Type : TMS320DM643AGDK
c2003 TI
cc-5caenfw
4

Knap dat je dat nu al weet , alleen Hoe doe je da ?!
Staat gewoon in de firmware, vaak DM642, soms DM64x... zal wel compatibel zijn dan. Ik heb gezocht wat er rondom een paar voorkomens 'BOSCH' stond en daar stond o.a. dat bij.

  • DaWaN
  • Registratie: Oktober 2002
  • Laatst online: 20-11 16:11

DaWaN

'r you wicked ??

Bill_E schreef op zaterdag 03 januari 2009 @ 20:31:
[...]
Het is een " digital media processor "
Type : TMS320DM643AGDK
Nu maar hopen dat er GPL code is gebruikt want ASM schrijven voor die CPU in bestaande code lijkt mij niet echt geweldig, de kans dat er 'gewoon' linux op staat lijkt mij érg klein. Bovendien kun je waarschijnlijk nooit makkelijk de firmware vervangen door Linux, de hardware is behoorlijk specifiek.

If you do not change direction, you may end up where you are heading


  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
http://picasaweb.google.nl/jeroenl/AlbumZonderTitel# voor de geïnteresseerde heb er een beetje commentaar bij gezet

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 22:06

BCC

Maar heb je bosch al gebeld en gevraagd of de software niet toevallig opensource is? Dat kan je een hele boel ellende schelen.

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
BCC schreef op zaterdag 03 januari 2009 @ 21:16:
Maar heb je bosch al gebeld en gevraagd of de software niet toevallig opensource is? Dat kan je een hele boel ellende schelen.
jep staat in de openings post. :P

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 22:06

BCC

Sorry, over dat regeltje had ik even heen gelezen. Ik zou gewoon een Axis aanschaffen. Elke oplossing die je met die Bosch probeert te maken gaat niet ondersteund worden door Bosch en zal je dus aan geen enkele klant kunnen verkopen.

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
BCC schreef op zaterdag 03 januari 2009 @ 22:34:
Sorry, over dat regeltje had ik even heen gelezen. Ik zou gewoon een Axis aanschaffen. Elke oplossing die je met die Bosch probeert te maken gaat niet ondersteund worden door Bosch en zal je dus aan geen enkele klant kunnen verkopen.
Axis heeft idd goede producten. En daar werk ik ook mee. Helaas hebben ze niet zoon goede camera's.
Bosch daarentegen is top of the line. En daar kan Axis nog lang niet tegenop in het professionele gebied

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 22:06

BCC

Prima, maar ga er maar niet vanuit dat je zo een oplossing aan het creeeren bent. Of is het voor de hobby?

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • Bill_E
  • Registratie: September 2007
  • Laatst online: 27-10 14:04
BCC schreef op zaterdag 03 januari 2009 @ 22:45:
Prima, maar ga er maar niet vanuit dat je zo een oplossing aan het creeeren bent. Of is het voor de hobby?
Mja is wel hobby.
Als ik alles ooit rond krijg kan het misschien ooit is geld opleveren, maar daar ga ik niet van uit ;)
Maar ik wil ook meer leren over het geheel. Ik heb ook andere camera's en decoders die intresant zijn.
Maargoed ik moet ergens beginnen en deze camera had ik thuis liggen toevallig van me werk in de vakantie.

Edit:

Ik heb de file eens goed bekeken nadat ik de xor 42 optie geprobeerd heb ( dank voor de uitleg daarover! )
En wat me opvalt is dat het grootste gedeelte van de file allemaal html file's zijn. Maar wat ik ook gezien heb is dat het niet de complete webpagina van de camera is. Alleen maar aanpassingen op de vorige firmware. Ik heb ook wat oudere gedownload en dan zie je duidelijk de updates van de webpagina's .
Verder geeft me dit weinig extra info tot nu toe. Wel een paar extra functies ontdekt.
En ook weet ik nu dat deze firmware universeel is voor diverse camera's en encoder / decoders.
Morgen ga ik me eens richten op het *.bin verhaal aan het begin van de file. Aangezien dat dus de echte programmering moet zijn. Nu eens naar bed :P

[ Voor 40% gewijzigd door Bill_E op 04-01-2009 02:34 ]

Pagina: 1