[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:04.34,0:00:06.52,Default,,0000,0000,0000,,[Translated by Markus Kallatsa (KYBS2001 course assignment at JYU.FI)] Dialogue: 0,0:00:09.67,0:00:12.35,Default,,0000,0000,0000,,Minut onkin jo esitelty Dialogue: 0,0:00:12.35,0:00:14.18,Default,,0000,0000,0000,,Nimeni on Stefan Widmann Dialogue: 0,0:00:14.18,0:00:18.32,Default,,0000,0000,0000,,ja varmaan voin näyttää diaesitykseni? Dialogue: 0,0:00:26.22,0:00:28.98,Default,,0000,0000,0000,,Hei, diat? Dialogue: 0,0:00:34.49,0:00:39.53,Default,,0000,0000,0000,,{\i1}naurua{\i0} Dialogue: 0,0:00:39.53,0:00:42.15,Default,,0000,0000,0000,,Olen VGA:lla siinä. Dialogue: 0,0:00:47.60,0:00:50.12,Default,,0000,0000,0000,,{\i1}huminaa{\i0} Dialogue: 0,0:00:52.34,0:00:54.13,Default,,0000,0000,0000,,Niin... Dialogue: 0,0:00:57.90,0:01:00.10,Default,,0000,0000,0000,,[mutinaa] Dialogue: 0,0:01:10.58,0:01:17.19,Default,,0000,0000,0000,,Okei, sen aikaa kun odottelemme, että diani ilmestyvät jotenkin Dialogue: 0,0:01:17.19,0:01:19.27,Default,,0000,0000,0000,,Kuka on nähnyt uskomattoman puheen Dialogue: 0,0:01:19.27,0:01:22.31,Default,,0000,0000,0000,,Ciscon VoIP-puhelimien hakkeroinnista viime vuonna Dialogue: 0,0:01:22.31,0:01:25.60,Default,,0000,0000,0000,,joko livenä tai videolta? Dialogue: 0,0:01:25.60,0:01:28.03,Default,,0000,0000,0000,,Okei, jotkut teistä. Dialogue: 0,0:01:28.03,0:01:30.53,Default,,0000,0000,0000,,Kun mietimme tätä puhetta Dialogue: 0,0:01:30.53,0:01:34.94,Default,,0000,0000,0000,,Ciscon VoIP-puhelimissa on sulautettu Dialogue: 0,0:01:34.94,0:01:37.89,Default,,0000,0000,0000,,Linux-käyttöjärjestelmä, mutta niiden ei ainoastaan Dialogue: 0,0:01:37.89,0:01:41.89,Default,,0000,0000,0000,,tarvitse toimia Linux-käyttöjärjestelmän kanssa, vaan lisäksi Dialogue: 0,0:01:41.89,0:01:44.37,Default,,0000,0000,0000,,DSP:n laiteohjelmiston kanssa. Dialogue: 0,0:01:44.37,0:01:50.91,Default,,0000,0000,0000,,Joten haluan kertoa, että siinä ei ole ainoastaan yksi järjestelmä, Dialogue: 0,0:01:50.91,0:02:03.30,Default,,0000,0000,0000,,vaan useampia järjestelmiä. Useat alijärjestelmät sisältävät laiteohjelmiston Dialogue: 0,0:02:03.30,0:02:06.94,Default,,0000,0000,0000,,Diat olisivat kivoja, mutta voimme aloittaa ilman niitä. Dialogue: 0,0:02:06.94,0:02:09.90,Default,,0000,0000,0000,,Joten, mistä puhummekaan tänään? Dialogue: 0,0:02:09.90,0:02:15.50,Default,,0000,0000,0000,,Ensiksi, puhumme motivaatiosta ja siitä, miksi meidän tulisi analysoida laiteohjelmistoja. Dialogue: 0,0:02:15.50,0:02:25.54,Default,,0000,0000,0000,,Tämän jälkeen meidän tulisi olla pystyttävä tekemään sitä, joten meidän on tuotava esille joitain edellytyksiä Dialogue: 0,0:02:25.54,0:02:34.10,Default,,0000,0000,0000,,Sitten syvennymme aiheeseen, yritämme katsoa sitä, miten saamme laiteohjelmiston Dialogue: 0,0:02:34.10,0:02:41.19,Default,,0000,0000,0000,,miten voimme analysoida sitä ja miten voimme muokata sitä Dialogue: 0,0:02:41.19,0:02:54.00,Default,,0000,0000,0000,,Hmm. Angel: Olemme pahoillamme pienestä teknisestä ongelmasta, tutkimme sitä. Se on toiselle puheelle. Olen pahoillani. Dialogue: 0,0:02:54.00,0:02:58.03,Default,,0000,0000,0000,,[puhuu saksaa] Dialogue: 0,0:03:33.25,0:03:34.57,Default,,0000,0000,0000,,Hmm Dialogue: 0,0:03:37.66,0:03:43.17,Default,,0000,0000,0000,,Okei, joten voimme mennä ilman dioja, se käy. Dialogue: 0,0:03:43.17,0:03:48.90,Default,,0000,0000,0000,,Aloitetaan motivaatiosta, miksi haluamme tehdä laiteohjelmistoanalyysiä. Dialogue: 0,0:03:48.90,0:03:58.24,Default,,0000,0000,0000,,Kun puhuin asianajajani kanssa, ymmärsin, että minun täytyy siivota 90 % motivaatiodioistani. Dialogue: 0,0:03:58.24,0:04:06.57,Default,,0000,0000,0000,,Ja se mitä jää jäljelle, voi tehdä yhteentoimivuuden saavuttamiseksi. Dialogue: 0,0:04:06.57,0:04:10.11,Default,,0000,0000,0000,,{\i1}naurua{\i0} Dialogue: 0,0:04:10.11,0:04:14.79,Default,,0000,0000,0000,,Voit tehdä sen, jos haluat eroon virheistä, ja valmistaja Dialogue: 0,0:04:14.79,0:04:21.56,Default,,0000,0000,0000,,ei halua tai ei kykene. Ja eräs mielenkiintoinen seikka Dialogue: 0,0:04:21.56,0:04:29.24,Default,,0000,0000,0000,,keskustelussa on se, liittyen forensiikkaan, tuhansien laitteiden tutkiminen Dialogue: 0,0:04:29.24,0:04:35.73,Default,,0000,0000,0000,,päivittäisessä elämässä. Tekevätkö he vain sen, mitä täytyy tehdä? Dialogue: 0,0:04:43.23,0:04:48.03,Default,,0000,0000,0000,,Herald: Kyllä, mutta silti haemme videoenkelin korjaamaan ongelman. Meillä pitäisi Dialogue: 0,0:04:48.03,0:04:54.12,Default,,0000,0000,0000,,olla semmoinen täällä yhden minuutin sisällä. Edelleen, pahoittelut. Dialogue: 0,0:05:06.47,0:05:11.99,Default,,0000,0000,0000,,Meillä on nyt sertifioitu Powerpoint-asiantuntijamme Nick Farr lavalla Dialogue: 0,0:05:11.99,0:05:17.27,Default,,0000,0000,0000,,{\i1}aplodit{\i0} Dialogue: 0,0:05:17.27,0:05:20.11,Default,,0000,0000,0000,,Se kestää vain minuutteja nyt Dialogue: 0,0:06:06.33,0:06:10.76,Default,,0000,0000,0000,,Ehkä voimme jatkaa. Joten, kerron mitä edellytyksiä tulisi Dialogue: 0,0:06:10.76,0:06:19.19,Default,,0000,0000,0000,,olla, kun analysoinnissa lähtee liikkeelle. Sinulla tulisi vähintään olla hyvä tietämys Dialogue: 0,0:06:19.19,0:06:26.08,Default,,0000,0000,0000,,sulautettujen järjestelmien arkkitehtuurista. Sinun olisi pitänyt käsitellä oheislaitteita, Dialogue: 0,0:06:26.08,0:06:32.22,Default,,0000,0000,0000,,väyläliitäntöjä ja niin edelleen. Sinun pitäisi pystyä lukemaan Dialogue: 0,0:06:32.22,0:06:35.18,Default,,0000,0000,0000,,ja kirjoittamaan Assembler-koodia. Jotkut saattavat sanoa: Dialogue: 0,0:06:35.18,0:06:39.20,Default,,0000,0000,0000,,minulla on todellä hyvä purkuohjelma, mikä on hyvä, Dialogue: 0,0:06:39.20,0:06:45.52,Default,,0000,0000,0000,,jos se sopii sinulle, mutta, älä luota siihen, että saatavana on purkuohjelma, Dialogue: 0,0:06:45.52,0:06:49.19,Default,,0000,0000,0000,,joka sopii juuri kyseiseen arkkitehtuuriin, jonka parissa työskentelet Dialogue: 0,0:06:49.19,0:06:55.68,Default,,0000,0000,0000,,Erityisesti, jos työskentelet matalalla tasolla rekisteriasioiden parissa Dialogue: 0,0:06:55.68,0:07:03.66,Default,,0000,0000,0000,,Ja mielestäni, purkuohjelman tuotos hämmentää sinua enemmän kuin auttaa Dialogue: 0,0:07:03.66,0:07:12.54,Default,,0000,0000,0000,,Tulet purkamaan ehkä, C:n ajonaikaisia kirjastoja, jotka on optimoitu olemaan mahdollisimman pieniä Dialogue: 0,0:07:12.54,0:07:18.37,Default,,0000,0000,0000,,jotka voivat olla todella haastavia purkuohjelman tuotoksessa. Dialogue: 0,0:07:18.37,0:07:28.73,Default,,0000,0000,0000,,Jos haluat oppia käytännössä miten sulautetut järjestelmät toimivat, voi olla hyvä idea hommata Dialogue: 0,0:07:28.73,0:07:36.34,Default,,0000,0000,0000,,Arduino tai mikä vaan. Kirjoitat hieman C-koodia, työskentelet laitteistotasolla Dialogue: 0,0:07:36.34,0:07:45.50,Default,,0000,0000,0000,,Sitten vaan käännät sen ja katsot, miltä purettu näyttää. Dialogue: 0,0:07:45.50,0:07:55.77,Default,,0000,0000,0000,,On hyvä olla laitelukija tai ohjelmoija, kuten galib. Ongelma on siinä, että ne ovat kalliita. Dialogue: 0,0:07:55.77,0:08:03.93,Default,,0000,0000,0000,,Jos luulet, että teemme laiteohjelmistoanalyysiä, se voi olla arvokas sijoitus hakkeritilallesi Dialogue: 0,0:08:03.93,0:08:09.33,Default,,0000,0000,0000,,Ja viimeisenä mutta ei vähäisimpänä, mitä tarvitse eniten, on aikaa. Dialogue: 0,0:08:09.33,0:08:16.51,Default,,0000,0000,0000,,Aika, aika, aika. Se voi viedä tunteja, päiviä ilman edistystä, joten olkaa kärsivällisiä Dialogue: 0,0:08:20.95,0:08:26.56,Default,,0000,0000,0000,,{\i1}naurua{\i0} Dialogue: 0,0:08:29.68,0:08:35.89,Default,,0000,0000,0000,,Ketään vapaaehtoisia tekemään dioja tähän? Dialogue: 0,0:08:43.63,0:08:50.97,Default,,0000,0000,0000,,Vannon, että se toimi täydellisesti ulkoisella monitorillani Dialogue: 0,0:08:50.97,0:09:04.30,Default,,0000,0000,0000,,Joo? Dialogue: 0,0:09:04.30,0:09:08.30,Default,,0000,0000,0000,,Joten joudun hakemaan USB-tikkuni, odottakaa hetki. Dialogue: 0,0:09:08.30,0:09:52.52,Default,,0000,0000,0000,,Ei hätää, olemme joustavia [viheltää] Dialogue: 0,0:10:09.57,0:10:15.26,Default,,0000,0000,0000,,Onko täällä ketään, jolla olisi tietokonetta lähettyvillä? Dialogue: 0,0:10:15.26,0:10:19.80,Default,,0000,0000,0000,,Herald: Sillä välin kun selvitämme tätä, on hyvä hetki muistuttaa teitä kaikkia Dialogue: 0,0:10:19.80,0:10:27.50,Default,,0000,0000,0000,,että etsimme vieläkin joitain enkeleitä. Voisit olla videoenkeli, joille Dialogue: 0,0:10:27.50,0:10:32.70,Default,,0000,0000,0000,,on kova kysyntä juuri nyt. Tai voisit tehdä haluamiasi töitä. Dialogue: 0,0:10:32.70,0:10:38.19,Default,,0000,0000,0000,,Voit työskennellä yhdessä tai kahdessa vuorossa. Olisi arvostettavaa Dialogue: 0,0:10:38.19,0:10:49.23,Default,,0000,0000,0000,,koska tarvitsemme vapaaehtoisia tämän tapahtuman järjestämiseen. Myös, jos toit joitain juomia tänne, Dialogue: 0,0:10:49.23,0:10:54.26,Default,,0000,0000,0000,,voisi olla hienoa, jos voisit viedä ne pois mukanasi. Ja laittaa ne pieneen Dialogue: 0,0:10:54.26,0:11:01.99,Default,,0000,0000,0000,,säilytyskoteloon, joita on eri puolilla rakennusta. Luota minuun kun saatte valmiiksi, Dialogue: 0,0:11:01.99,0:11:10.77,Default,,0000,0000,0000,,voit tehdä tämän tiedotuksen. Onko kaikki kunnossa? Ei oikeastaan. Dialogue: 0,0:11:10.77,0:11:12.54,Default,,0000,0000,0000,,{\i1}naurua{\i0} Dialogue: 0,0:11:12.54,0:11:15.81,Default,,0000,0000,0000,,Näyttää hyvältä kannettavalla tietokoneella Dialogue: 0,0:11:15.81,0:11:19.18,Default,,0000,0000,0000,,Haluatko pitää lyhyen esittelyn uudesta Ubuntun työpöytäversiosta? Dialogue: 0,0:11:19.18,0:11:27.89,Default,,0000,0000,0000,,Koska en hommat tuota ollenkaan. Dialogue: 0,0:11:27.89,0:11:33.40,Default,,0000,0000,0000,,Joo, peilinäytöt Dialogue: 0,0:11:33.40,0:11:39.71,Default,,0000,0000,0000,,Neljästä kolmeen diaa Dialogue: 0,0:11:39.71,0:11:41.82,Default,,0000,0000,0000,,Nyt edistymme Dialogue: 0,0:11:41.82,0:11:45.50,Default,,0000,0000,0000,,{\i1}aplodit{\i0} Dialogue: 0,0:11:45.50,0:11:47.81,Default,,0000,0000,0000,,Nauttikaa puheesta! Dialogue: 0,0:11:47.81,0:11:51.75,Default,,0000,0000,0000,,Loistavaa, nyt diojen kanssa. Dialogue: 0,0:11:51.75,0:11:56.98,Default,,0000,0000,0000,,Pieni tiedotus, puheen lopuksi on 5 lisäminuuttia puhetta. Dialogue: 0,0:11:56.98,0:12:04.20,Default,,0000,0000,0000,,Tehdään niin. Unohtakaa keltaiset palkit. Dialogue: 0,0:12:04.20,0:12:07.80,Default,,0000,0000,0000,,{\i1}naurua{\i0} Dialogue: 0,0:12:07.80,0:12:18.31,Default,,0000,0000,0000,,Ei oikeasti. Dialogue: 0,0:12:18.31,0:12:26.33,Default,,0000,0000,0000,,Korkean tason laitteet. Paljon monimutkaisuutta. Kyllä! Dialogue: 0,0:12:28.56,0:12:31.12,Default,,0000,0000,0000,,Täydellistä, kiitos, ilman keltaisia palkkeja, kiitos. Dialogue: 0,0:12:31.12,0:12:41.75,Default,,0000,0000,0000,,Okei. Joten puhuimme ennakkotiedoista, joten syvennymme aiheisiin Dialogue: 0,0:12:41.75,0:12:49.85,Default,,0000,0000,0000,,Ensiksi, meidän täytyy hankkia laiteohjelmisto. Menemme ei-invasiivisesta invasiiviseen. Dialogue: 0,0:12:49.85,0:12:57.51,Default,,0000,0000,0000,,Koska ensimmäinen asia, jota haluamme yrittää, on päästä laiteohjelmistoon käsiksi avaamatta laitetta. Dialogue: 0,0:12:57.51,0:13:03.26,Default,,0000,0000,0000,,Yritämme ensiksi ladata puhtaan binäärin valmistajalta. Dialogue: 0,0:13:03.26,0:13:12.15,Default,,0000,0000,0000,,Tai joltakulta muulta, joka on purkanut binäärin ja laittanut sen internettiin. Dialogue: 0,0:13:12.15,0:13:19.44,Default,,0000,0000,0000,,Voit yrittää ladata käynnistyslevyn, USB, CD-ROM, käynnistysmuistitiedoston tai mitä vaan mitä valmistaja tarjoaa Dialogue: 0,0:13:19.44,0:13:25.64,Default,,0000,0000,0000,,ja purkaa sen, esimerkiksi, WinRARilla Windowsilla tai vaan liittää Linuxiin. Dialogue: 0,0:13:25.64,0:13:34.78,Default,,0000,0000,0000,,Hae tiedostoja nimeltä .bin, .hex, .s19, .mot kuten Motorola, .rom tai .raw. Dialogue: 0,0:13:34.78,0:13:42.44,Default,,0000,0000,0000,,Useimmiten binääri, joka tarkoittaa .bin, .rom Dialogue: 0,0:13:42.44,0:13:50.69,Default,,0000,0000,0000,,Ei-binääritiedostot tulisi muuntaa bin-tiedostoiksi, esimerkiksi muuntimien, kuten hex2bin avulla. Dialogue: 0,0:13:50.69,0:13:55.88,Default,,0000,0000,0000,,Jos tämä ei toimi, voimme ehkä saada päivitysohjelman valmistajalta Dialogue: 0,0:13:55.88,0:14:00.46,Default,,0000,0000,0000,,Tavallisesti ne ovat Windowsille tehtyjä .exe-tiedostoja. Dialogue: 0,0:14:00.46,0:14:07.43,Default,,0000,0000,0000,,On olemassa erilaisia päivitysohjelmiston tyyppejä. Ensinnäkin itsepurkavia arkistoja. Dialogue: 0,0:14:07.43,0:14:12.42,Default,,0000,0000,0000,,Se voi olla asennusohjelma myös, kuten Installshield tai mikä vain Dialogue: 0,0:14:12.42,0:14:18.97,Default,,0000,0000,0000,,Se olla päivitysohjelma, yksinkertainen .exe-tiedosto ilman asennuksia, ainoastaan sisältäen levykuvan. Dialogue: 0,0:14:18.97,0:14:25.49,Default,,0000,0000,0000,,Se saatta olla päivitysohjelma, joka lataa levykuvan tai se saattaa olli jokin muista Dialogue: 0,0:14:25.49,0:14:31.68,Default,,0000,0000,0000,,mutta pakattu suoritettavalla paketoijalla, kuten UPX tai PECompact. Dialogue: 0,0:14:31.68,0:14:33.49,Default,,0000,0000,0000,,Mennään hieman yksityiskohtiin. Dialogue: 0,0:14:33.49,0:14:43.00,Default,,0000,0000,0000,,Joten, jos se on itsepurkautuva arkistohaku allekirjoitukselle, kuten RARSFX tai PK. Dialogue: 0,0:14:43.00,0:14:53.44,Default,,0000,0000,0000,,Voit purkaa ne, esimerkiksi uudelleennimeämällä PK:n, joka sisältää .zip-tiedoston, jonka voit purkaa. Dialogue: 0,0:14:53.44,0:14:59.22,Default,,0000,0000,0000,,Jos se on asennusohjelma, kuten Installshield, on olemassa erikoispurkutyökaluja, mutta ongelma on siinä Dialogue: 0,0:14:59.22,0:15:06.15,Default,,0000,0000,0000,,että ne ovat vaikeakäyttöisiä ja erityisesti versiokohtaisia. Se saattaa toimia tai olla toimimatta. Dialogue: 0,0:15:06.15,0:15:10.99,Default,,0000,0000,0000,,Paras tapa on vain antaa sen asentaa ja hakea asennetuista tiedostoista Dialogue: 0,0:15:10.99,0:15:20.24,Default,,0000,0000,0000,,puhdasta levykuvaa tai päivitysohjelmaa. Jos se on päivitysohjelma, joka sisältää laiteohjelmiston levykuvan, Dialogue: 0,0:15:20.24,0:15:26.28,Default,,0000,0000,0000,,voimme hakea levykuvaa suoritettavasta tiedostosta käyttäen mieleistä heksaeditoriasi. Dialogue: 0,0:15:26.28,0:15:33.68,Default,,0000,0000,0000,,Ehkä päivitysohjelma kirjoittaa dataa tiedostoon, väliaikaiseen tiedostoon useimmiten ja poistaa Dialogue: 0,0:15:33.68,0:15:40.74,Default,,0000,0000,0000,,sen käytön jälkeen. Voit käyttää ProcessMonitoria, joka on kuten Strace, mutta Windowsilla. Dialogue: 0,0:15:40.74,0:15:45.90,Default,,0000,0000,0000,,ja voit katsoa mitä tiedostoja levyllä on kirjoitettu ja yrittää kaapata niitä Dialogue: 0,0:15:45.90,0:15:52.30,Default,,0000,0000,0000,,ennen kuin ne poistuvat. Ehkä päivitysohjelma vain tarkistaa laitettasi, joten se on Dialogue: 0,0:15:52.30,0:15:57.48,Default,,0000,0000,0000,,vain pieni latausohjelma. Tarkistamalla laitetyyppisi, vilkaise valmistajan ftp-sivua Dialogue: 0,0:15:57.48,0:16:02.52,Default,,0000,0000,0000,,ja lataako se levykuvaa, jos sellainen on saatavilla. Dialogue: 0,0:16:02.52,0:16:08.58,Default,,0000,0000,0000,,Jos se lataa levykuvaa tiedostoon, käytä ProcessMonitoria uudelleen. Dialogue: 0,0:16:08.58,0:16:19.29,Default,,0000,0000,0000,,Jos se lataa RAM-muistiin, sinun täytyy käyttää debuggeria ja dumpata se muistista. Dialogue: 0,0:16:19.29,0:16:27.30,Default,,0000,0000,0000,,Jos sinulla on pakattu päivitysohjelma, joka tietenkin on tehty säästämään tilaa. Dialogue: 0,0:16:27.30,0:16:36.52,Default,,0000,0000,0000,,Jos se on standardi UPX, voit ladata UPX:n ja käyttää "UPX -d":tä purkaaksesi sen. Dialogue: 0,0:16:36.52,0:16:44.14,Default,,0000,0000,0000,,Joskus valmistaja rikkoo UPX:n lisenssiä ja muokkaa UPX:ää poistamalla Dialogue: 0,0:16:44.14,0:16:51.50,Default,,0000,0000,0000,,olennaista tietoa tiedostosta, jotta siitä saadaan pakkauskelvoton. Joten sinun tarvitsee käyttää erityistä purkajaa. Dialogue: 0,0:16:51.50,0:17:00.73,Default,,0000,0000,0000,,Muut suoritettavat pakkaajat ovat useimmiten suunniteltu kompressoimattomiksi. Dialogue: 0,0:17:00.73,0:17:05.38,Default,,0000,0000,0000,,Tällöin tarvitse erikoispurkajaa myöskin. Dialogue: 0,0:17:05.38,0:17:12.24,Default,,0000,0000,0000,,Eräs haaste voi tulla siinä, jos päivitysohjelma sisältää kompressoituja levykuvia. Dialogue: 0,0:17:12.24,0:17:20.71,Default,,0000,0000,0000,,Ne ovat tavallaisesti purettu ennen kuin levykuva on kirjoitettu laitteelle, joten voimme vain katsoa Dialogue: 0,0:17:20.71,0:17:27.24,Default,,0000,0000,0000,,prosessimuistia debuggerin avulla ja dumpata sen. Dialogue: 0,0:17:27.24,0:17:34.20,Default,,0000,0000,0000,,Haasteellisempaa on se, kun laiteohjelmisto lähetetään kompressoitavaksi laitteelle Dialogue: 0,0:17:34.20,0:17:40.83,Default,,0000,0000,0000,,Joten täytyy käyttää invasiivisia tekniikoita, joista puhun myöhemmin Dialogue: 0,0:17:40.83,0:17:47.75,Default,,0000,0000,0000,,On hyvä laitaa nuuskija valmiiksi, kun ensimmäisen kerran yhdistät laitteen PC-tietokoneeseesi. Dialogue: 0,0:17:47.75,0:17:56.23,Default,,0000,0000,0000,,Ehkä laitteen mukana tuleva lempi-bloatware haluaa päivittää sen välittömästi Dialogue: 0,0:17:56.23,0:18:04.26,Default,,0000,0000,0000,,Mitä voit tehdä nuuskiaksesi siirtoja? Windows XP:llä, pahoittelut vain XP:llä, Dialogue: 0,0:18:04.26,0:18:14.31,Default,,0000,0000,0000,,on TraceSPTI, fantastinen työkalu SPTI SCSI PassThrough Interfacen jäljittämiseen. Dialogue: 0,0:18:14.31,0:18:22.57,Default,,0000,0000,0000,,Mietit SCSI:tä? Minulla ei ole pelkästään SCSI-laitteita, mutta kommunikoinnista suurin osa on tehty käyttäen Dialogue: 0,0:18:22.57,0:18:33.24,Default,,0000,0000,0000,,tätä prokollaa Windowsilla. Tunnistaaksesi S/ATA USB -laitteita, etenkin, jos ne ovat ATAPI, Dialogue: 0,0:18:33.24,0:18:39.04,Default,,0000,0000,0000,,Linux-puolella voit käyttää Wiresharkia jäljittääksesi kommunikaation, koska Wireshark Dialogue: 0,0:18:39.04,0:18:47.31,Default,,0000,0000,0000,,Linuxilla voi jäljittää ja nuuskia USBia. On myös muita työkaluja, kuten Bushound ja niin edelleen Dialogue: 0,0:18:47.31,0:18:54.75,Default,,0000,0000,0000,,katsoaaksesi väylien kommunikaatiota. Ongelma on siinä, että ne ovat tavallisesti erittäin kalliita. Dialogue: 0,0:18:54.75,0:19:00.77,Default,,0000,0000,0000,,Ongelma nuuskiessasi päivityssiirtoa ja rekonstruktoroidessa levykuvaa on se, Dialogue: 0,0:19:00.77,0:19:13.61,Default,,0000,0000,0000,,että se on kuin pulmapeli. Et tiedä miten levykuva buildataan ja miten se tehdään oikein. Dialogue: 0,0:19:13.61,0:19:20.64,Default,,0000,0000,0000,,Jos sinulla ei ole laiteohjelmistoa vielä, se voi mennä invasiiviseksi nyt. Dialogue: 0,0:19:20.64,0:19:26.89,Default,,0000,0000,0000,,Etsimme sarjaliitäntöjä, joskus niihin pääsee käsiksi laitetta avaamatta, Dialogue: 0,0:19:26.89,0:19:33.54,Default,,0000,0000,0000,,joskus ei. Onko meillä sulautettu Linux-järjestelmä? Kyllä, voimme etsiä sarjakonsolia. Dialogue: 0,0:19:33.54,0:19:42.22,Default,,0000,0000,0000,,Ehkä meidän täytyy käyttää JTAGia. 27C3:ssa oli hyvä puhe JTAGista, sarjamuotoisesta flashista ja niin edelleen, Dialogue: 0,0:19:42.22,0:19:47.51,Default,,0000,0000,0000,,joten laitan linkin tähän. Dialogue: 0,0:19:47.51,0:19:53.20,Default,,0000,0000,0000,,Ei siis vieläkään laiteohjelmistoa? Hae ruuvimeisseli, mitätöidään takuut. Dialogue: 0,0:19:53.20,0:19:58.56,Default,,0000,0000,0000,,Avaamme laitteen ja etsimme muistilaitteita PCB:stä. Dialogue: 0,0:19:58.56,0:20:07.38,Default,,0000,0000,0000,,Jos sinulla on todella vanha laite, kohtaat ehkä EPROMseja tai jopa PROMseja, 27-kymppisiä Dialogue: 0,0:20:07.38,0:20:15.23,Default,,0000,0000,0000,,Jos se on vähän uudempi, saatat nähdä EEPROMseja ja flashia. 28, 29, 39, 49 jotain ja Dialogue: 0,0:20:15.23,0:20:25.95,Default,,0000,0000,0000,,isoja 48-pinnisiä flash-laitteita, esimerkiksi useille eri nimillä Dialogue: 0,0:20:25.95,0:20:35.51,Default,,0000,0000,0000,,Mukava nähdä, että sarjamuistit, ne 8-pinniset laitteet 25..., joskus 24... Dialogue: 0,0:20:35.51,0:20:42.99,Default,,0000,0000,0000,,ovat hiljattain tulossa standardiksi. Niistä on helppo poistaa juotos ja uudelleenjuottaa Dialogue: 0,0:20:42.99,0:20:51.68,Default,,0000,0000,0000,,ja saatavilla on todella halpoja lukijoita ja ohjelmoijia. Mutta pyydän, vaikka jotkut sanovat, että voimme Dialogue: 0,0:20:51.68,0:21:02.33,Default,,0000,0000,0000,,tehdä sen järjestelmässä ilman sirun juottamista, älkää tehkö niin. Se voi johtaa todella suuriin ongelmiin. Dialogue: 0,0:21:02.33,0:21:07.63,Default,,0000,0000,0000,,Jotta asia olisi hieman vaikemapi, laiteohjelmisto voi olla sisällytettynä sirun sisäisiin muisteihin. Dialogue: 0,0:21:07.63,0:21:17.14,Default,,0000,0000,0000,,Voit käyttää omaa ohjelmointirajapintoja laiteohjelmiston lukemiseen, JTAGIa totta kai. Dialogue: 0,0:21:17.14,0:21:24.39,Default,,0000,0000,0000,,Joissain laitteissa käynnistyslatausohjelmat ovat naamioidussa ROM-muistissa. Voit yrittää käyttää niitä. Dialogue: 0,0:21:24.39,0:21:29.62,Default,,0000,0000,0000,,Jos mikään näistä lähestymistavoista ei onnistu, voit yrittää mikroluotausta. Dialogue: 0,0:21:29.62,0:21:38.32,Default,,0000,0000,0000,,Viime vuoden kongressissa oli puhe matalakustanteisten sirujen mikroluotauksesta, olen Dialogue: 0,0:21:38.32,0:21:46.96,Default,,0000,0000,0000,,liittänyt linkin tähän. Joten ihan vain siksi, että täydellisyyden vuoksi olen maininnut CPLD:t ja FPGA:t. Dialogue: 0,0:21:46.96,0:21:53.86,Default,,0000,0000,0000,,Tiedätte, että CPLD:t on rakennettu käyttäen sisäisiä EEPROMeja Dialogue: 0,0:21:53.86,0:22:04.11,Default,,0000,0000,0000,,FPGA:t, kenttäohjelmoitavilla porttiryhmillä on sisäinen SRAM ja ulkoinen sarjakonfiguraatio-flash. Dialogue: 0,0:22:04.11,0:22:12.41,Default,,0000,0000,0000,,Joitain vuosia sitten niitä markkinoitiin takaisinmallinnus-kestävinä. Ehkä. Dialogue: 0,0:22:12.41,0:22:22.96,Default,,0000,0000,0000,,Huomenna on puhe, samaan aikaan uskoisin Saal 2:ssa, FPGA:iden lähemmästä tarkastelusta. Dialogue: 0,0:22:22.96,0:22:29.13,Default,,0000,0000,0000,,Onneksi olkoon, olemme tehneet sen, meillä on laiteohjelmistomme, täydellistä. Dialogue: 0,0:22:29.13,0:22:33.66,Default,,0000,0000,0000,,Mitä sitten seuraavaksi, meidän täytyy analysoida se. Dialogue: 0,0:22:33.66,0:22:40.30,Default,,0000,0000,0000,,Ongelma on siinä, mitä prosessoria käytetään. Emme tiedä mitä purkuohjelmaa käytämme. Dialogue: 0,0:22:40.30,0:22:45.53,Default,,0000,0000,0000,,Meidän täytyy etsiä netistä tietolehtisiä, jotta saisimme mitä tahansa tietoa. Dialogue: 0,0:22:45.53,0:22:57.62,Default,,0000,0000,0000,,Voimmeko selvittää mikä prosessori on käytössä? Ongelma usein on, ettei tietolehtisiä löydy. Dialogue: 0,0:22:57.62,0:23:08.38,Default,,0000,0000,0000,,Valmistaja sanoo, että jost ostat miljoona laitetta vuodessa ja allekirjoitat NDA:n, niin saat tietolehtiset. Dialogue: 0,0:23:08.38,0:23:16.72,Default,,0000,0000,0000,,Tällöin sinun täytyy olla todella kärsivällinen. Nyt se menee kokeilemiseksi ja erehtymiseksi eri purkuohjelmien kokeilussa. Dialogue: 0,0:23:16.72,0:23:24.30,Default,,0000,0000,0000,,Voit käyttää tiettyjä purkuohjelmia, mutta ne on rakennettu ainoastaan yhdelle arkkitehtuurille. Dialogue: 0,0:23:24.30,0:23:29.76,Default,,0000,0000,0000,,Voit käyttää hyvää työkalua, Interactive Disassembleria, IDAa. Siitä on olemassa freeware-versio. Dialogue: 0,0:23:29.76,0:23:37.90,Default,,0000,0000,0000,,Lisäsin linkin mukaan tämän puheen linkkiosioon, mutta freeware sisältää ainoastaan pienen joukon arkkitehtuureja. Dialogue: 0,0:23:37.90,0:23:46.42,Default,,0000,0000,0000,,Jos haluat kokonaisen paketin, se tulee todella kalliiksi. Mutta on myös toinen työkalu, josta itse todella pidän. Dialogue: 0,0:23:46.42,0:23:55.05,Default,,0000,0000,0000,,Se on ODA, the Online Disassembler, tukee noin kolmeakymmentä arkkitehtuuria, ja se on ilmainen. Dialogue: 0,0:23:55.05,0:24:01.48,Default,,0000,0000,0000,,Voit ladata binääritiedostoja, ladata koodia ja kokeilla eri arkkitehtuureja, Dialogue: 0,0:24:01.48,0:24:07.50,Default,,0000,0000,0000,,ja selvittää, mikä voisi olla se oikea, ja teemme sen nyt. Dialogue: 0,0:24:07.50,0:24:12.35,Default,,0000,0000,0000,,Olen valmistellut jotain binäärikoodia. Dialogue: 0,0:24:12.35,0:24:17.52,Default,,0000,0000,0000,,Tiedän mille arkkitehtuurille se on kirjoitettu, koska tein itse sen. Dialogue: 0,0:24:17.52,0:24:24.54,Default,,0000,0000,0000,,Laitan koodin Online Disassembleriin ja valitsen eri arkkitehtuureja, Dialogue: 0,0:24:24.54,0:24:28.28,Default,,0000,0000,0000,,ja katsotaan miltä purku näyttää. Dialogue: 0,0:24:28.28,0:24:36.50,Default,,0000,0000,0000,,Aloitetaan entisestä Hitachista, nykyinen Renesas, H8S. Toivottavasti pystytte lukemaan tätä. Dialogue: 0,0:24:36.50,0:24:41.54,Default,,0000,0000,0000,,Ottakaa aikaa ja nostakaa kätenne ylös, jos luulette, että se on kelvollinen purku ja Dialogue: 0,0:24:41.54,0:24:48.30,Default,,0000,0000,0000,,olemme löytäneet arkkitehtuurimme. Dialogue: 0,0:24:48.30,0:24:53.33,Default,,0000,0000,0000,,Näen yhden käden. Dialogue: 0,0:24:53.33,0:24:59.59,Default,,0000,0000,0000,,Okei, valitettavasti joudun tuottamaan pettymyksen, se ei ole kelvollinen purku. Näemme sen toiselta riviltä. Dialogue: 0,0:24:59.59,0:25:06.22,Default,,0000,0000,0000,,Purkuohjelma ei kyennyt purkamaan dataa ja se on vain määrittelemätön käsky. Dialogue: 0,0:25:06.22,0:25:12.88,Default,,0000,0000,0000,,Koodissa on useita .word-sanoja. Se ei ole H8S. Dialogue: 0,0:25:12.88,0:25:22.25,Default,,0000,0000,0000,,Yritetään MIPSiä. Taas ottakaa aikaa ja nostakaa käsi ylös, jos luulette, että se on kelvollinen. Dialogue: 0,0:25:22.25,0:25:27.21,Default,,0000,0000,0000,,{\i1}naurua{\i0} taas? Dialogue: 0,0:25:27.21,0:25:39.48,Default,,0000,0000,0000,,Se on kelvoton myöskin. Näemme sen toiselta riviltä, koska siellä on dword, jota ei ole purettu. Dialogue: 0,0:25:39.48,0:25:50.69,Default,,0000,0000,0000,,Miten Panasonic MN103 perhe? Sama käsi taas? Oi, näen toisenkin käden. Dialogue: 0,0:25:50.69,0:25:57.13,Default,,0000,0000,0000,,Ok, useita käsiä nyt. OK, kiitos. Dialogue: 0,0:25:57.13,0:26:01.22,Default,,0000,0000,0000,,Ongelma on, ettei se ole validi. Joudun tuottamaan teille pettymyksen. Dialogue: 0,0:26:01.22,0:26:06.79,Default,,0000,0000,0000,,Tässä tapauksessa ongelma on siinä, että se näyttää todella hyvältä, mutta joudutte kaivamaan syvemmälle. Dialogue: 0,0:26:06.79,0:26:14.02,Default,,0000,0000,0000,,Teidän täytyy katsoa, ovatko kaikki aliohjelmat oikein. Onko niissä mitään järkeä? Dialogue: 0,0:26:14.02,0:26:17.27,Default,,0000,0000,0000,,Onko aliohjelmakutsuja ollenkaan ja niin edelleen. Dialogue: 0,0:26:17.27,0:26:23.14,Default,,0000,0000,0000,,Tulette huomaamaan jotain todella outoa. Viimeinen yritys. Dialogue: 0,0:26:23.14,0:26:28.53,Default,,0000,0000,0000,,Miten Texas Instruments MSP430? Dialogue: 0,0:26:28.53,0:26:33.26,Default,,0000,0000,0000,,Ja taas, nostakaa kätenne ylös. Dialogue: 0,0:26:33.26,0:26:40.90,Default,,0000,0000,0000,,Okei? Joo, tällä kertaa se on MSP430! Dialogue: 0,0:26:40.90,0:26:48.17,Default,,0000,0000,0000,,Löysimme arkkitehtuurimme, täydellistä, heureka, bingo, meillä on se. Dialogue: 0,0:26:48.17,0:26:56.77,Default,,0000,0000,0000,,Mitä seuraavaksi? Tiedoston siirtymä, ladatun ohjelmistotiedoston arvo Dialogue: 0,0:26:56.77,0:27:04.85,Default,,0000,0000,0000,,ei usein ole osoiteavaruuden siirtymä. Tää ei ole ongelma, kun arkkitehtuuri Dialogue: 0,0:27:04.85,0:27:12.03,Default,,0000,0000,0000,,käyttää suhteellista osoitteistoa. Suhteellinen osoitteisto tarkoittaa, että meillä on rekisterisisältöä ja mitä vain Dialogue: 0,0:27:12.03,0:27:20.13,Default,,0000,0000,0000,,haluamme käyttää perustuu jonkin rekisterin sisältöön. Sijainnista riippumaton koodi. Dialogue: 0,0:27:20.13,0:27:27.47,Default,,0000,0000,0000,,Mutta ongelmana on nyt absoluuttisen osoitteiston käyttäminen, ja jopa arkkitehtuurit, Dialogue: 0,0:27:27.47,0:27:36.62,Default,,0000,0000,0000,,jotka tukevat suhteellista osoitteistoa sisältää jonkin verran absoluuttista osoitteistoa jossain osassa osoitteita. Dialogue: 0,0:27:36.62,0:27:40.89,Default,,0000,0000,0000,,Emme tiedä, missä on sisäänkäynti. Mistä meidän tulisi aloittaa? Dialogue: 0,0:27:40.89,0:27:47.55,Default,,0000,0000,0000,,Keskeytysvektorit saatetaan dekoodata kokonaan väärin, aliohjelmakutsuissa ei ole mitään järkeä. Dialogue: 0,0:27:47.55,0:27:54.38,Default,,0000,0000,0000,,Ne osoittavat meidän laiteohjelmistomme ulkopuolelle, esimerkiksi tai keskelle käskyjä. Dialogue: 0,0:27:54.38,0:28:01.23,Default,,0000,0000,0000,,Joten kuorman siirto on siis löydettävä. Dialogue: 0,0:28:01.23,0:28:08.91,Default,,0000,0000,0000,,Näytän teille metodin, jota kutsun "kutsun etäisyyshauksi". Dialogue: 0,0:28:08.91,0:28:15.57,Default,,0000,0000,0000,,Valitsemelle lähellä olevia aliohjelmaosoitteita ja päätämme, käytämmekö niistä Dialogue: 0,0:28:15.57,0:28:21.96,Default,,0000,0000,0000,,edeltäviä palautuskäskyjä aliohjelmien edessä vai funktion alussa olevaa Dialogue: 0,0:28:21.96,0:28:31.32,Default,,0000,0000,0000,,syöttöjärjestystä. Rakennamme hakumerkkijonon sisältäen villikortin, ja sitten haemme Dialogue: 0,0:28:31.32,0:28:36.28,Default,,0000,0000,0000,,Teemme sen yhdessä, olen valmistellut esimerkin Dialogue: 0,0:28:36.28,0:28:45.77,Default,,0000,0000,0000,,Tämä on 8051 koodi. 8051:n ydin on todella vanha, se on 8-bittinen ohjain, mutta laajalti käytetty kentällä, Dialogue: 0,0:28:45.77,0:28:53.65,Default,,0000,0000,0000,,koska se on halpa ja voit tehdä sillä mitä haluat. Dialogue: 0,0:28:53.65,0:29:01.72,Default,,0000,0000,0000,,Vasemmassa sarakkeessa näemme esimerkkimme osoitteet, 0x00:sta 0x13:een heksaan. Dialogue: 0,0:29:01.72,0:29:13.43,Default,,0000,0000,0000,,Näemme neljä aliohjelmaa, ensimmäinen juurialiohjelmana kutsuen kolmea muuta aliohjelmaa. Dialogue: 0,0:29:13.43,0:29:23.44,Default,,0000,0000,0000,,Näemme, että ensimmäinen kutsu 0x100:aan on esimerkkimme ulkopuolella, meillä ei ole 0x100:aa tässä esimerkissä. Dialogue: 0,0:29:23.44,0:29:30.47,Default,,0000,0000,0000,,Joten otamme kolme aliohjelmaosoitetta ja lajittelemme ne järjestykseen. Dialogue: 0,0:29:30.47,0:29:40.68,Default,,0000,0000,0000,,Näin ollen, meillä on 0x100, 0x103 ja 0x107. Laskemme erotuksen saadaksemme selville aliohjelmien pituuden. Dialogue: 0,0:29:40.68,0:29:53.44,Default,,0000,0000,0000,,Saamme 3 tavua ja 4 tavua. Nyt katsomme, miten aliohjelmat on rakennettu tässä tiettyssä arkkitehtuurissa. Dialogue: 0,0:29:53.44,0:30:01.82,Default,,0000,0000,0000,,x86:lla usein löydätte sen, ei 64-bittisillä alustoilla, mutta 32- ja 16-bittisillä alustoilla. Dialogue: 0,0:30:01.82,0:30:11.50,Default,,0000,0000,0000,,Löydätte pinokehyksen syöttöjärjestyksen jokaisesta funktiosta, kuten "push bp" tai "push ebp 0x55" Dialogue: 0,0:30:11.50,0:30:15.23,Default,,0000,0000,0000,,Voitte siis laukaista sen. Dialogue: 0,0:30:15.23,0:30:24.55,Default,,0000,0000,0000,,8051:llä se ei ole mahdollista. Katsokaa osoitetta 0x0A. Se on 0xE0. Dialogue: 0,0:30:24.55,0:30:28.53,Default,,0000,0000,0000,,Katsokaa osoitetta 0x0D, se on 44, ja 0x11 on 7B. Dialogue: 0,0:30:28.53,0:30:32.11,Default,,0000,0000,0000,,Ne eivät vastaa toisiaan, se ei auta meitä. Dialogue: 0,0:30:32.11,0:30:39.69,Default,,0000,0000,0000,,Tarkastellaan siis edellisiä palautuksia ja kyllä, edessä on palautuksia Dialogue: 0,0:30:39.69,0:30:45.48,Default,,0000,0000,0000,,jokaisessa aliohjelmassa.\NJoten otamme 0x22:n [ret] ankkuriksemme. Dialogue: 0,0:30:45.48,0:30:51.26,Default,,0000,0000,0000,,Hakumerkkijonomme näyttää tältä;\NAloitamme 0x22:sta, meillä on Dialogue: 0,0:30:51.26,0:30:56.82,Default,,0000,0000,0000,,aliohjelma, jonka pituus on kolme tavua,\Njoten meillä on 0x22 [ret], kaksi villikorttia ja Dialogue: 0,0:30:56.82,0:31:04.48,Default,,0000,0000,0000,,uudelleen palautus. Toinen osa hakumerkkijonosta koodaa toisen Dialogue: 0,0:31:04.48,0:31:13.24,Default,,0000,0000,0000,,aliohjelman neljällä tavulla. Joten meillä on villikortti,\Nvillikortti, villikortti ja uudelleen palautus [0x22] Dialogue: 0,0:31:13.24,0:31:22.38,Default,,0000,0000,0000,,Tässä yksinkertaisessa esimerkissä saimme vain yhden osuman,\Ntäydellistä. Saimme osuman osoitteessa 0x09. Dialogue: 0,0:31:22.38,0:31:27.89,Default,,0000,0000,0000,,Mutta emme halua palautuksen osoitetta,\Nvaan haluamme aliohjelman osoitteen Dialogue: 0,0:31:27.89,0:31:33.45,Default,,0000,0000,0000,,joten emme käytä 0x09:ä, vaan käytämme 0x0A:ta Dialogue: 0,0:31:33.45,0:31:40.66,Default,,0000,0000,0000,,Otamme alkuperäisen kohdeosoitteen 0x0100,\Npuramme 0x0A Dialogue: 0,0:31:40.66,0:31:49.41,Default,,0000,0000,0000,,ja saamme koodiesimerkkimme perusosoitteen,\Njoka on 0xF6 Dialogue: 0,0:31:49.41,0:31:58.39,Default,,0000,0000,0000,,Jos sovellamme tätä äskettäin havaittua kuorman siirtoa koodiin ja muutamme siirtymää Dialogue: 0,0:31:58.39,0:32:06.43,Default,,0000,0000,0000,,aloittaen nyt 0x00F6:sta vasemmassa sarakkeessa\Nnäemme, että kaikki kolme aliohjelmaa nyt täsmäävät. Dialogue: 0,0:32:06.43,0:32:14.71,Default,,0000,0000,0000,,Kutsu 0x0100:aan, kutsu 0x0107:aan\Nja kutsu 0x013:een. Dialogue: 0,0:32:14.71,0:32:22.71,Default,,0000,0000,0000,,Ok, mielestäni tämä oli vaikea, joten\Ntoistetaan se, mitä olemme jo tehneet Dialogue: 0,0:32:22.71,0:32:30.65,Default,,0000,0000,0000,,Olemme saaneet levykuvamme, olemme\Nonnistuneesti löytäneet prosessoriarkkitehtuurin, Dialogue: 0,0:32:30.65,0:32:35.14,Default,,0000,0000,0000,,olemme löytäneet purkuohjelman, jolla\Npuramme laiteohjelmiston, Dialogue: 0,0:32:35.14,0:32:43.75,Default,,0000,0000,0000,,ja toivottavasti löytäneet alkuperäinen\Nkuoram siirtymän. Joten mitä seuraavaksi Dialogue: 0,0:32:43.75,0:32:49.36,Default,,0000,0000,0000,,Ehkä kysymys herää, onko laitteella\Nlisälaiteohjelmistoa? Dialogue: 0,0:32:49.36,0:32:56.25,Default,,0000,0000,0000,,Näen hyppyjä ja kutsuja tietämämme laiteohjelmiston\Nulkopuolelle, vaikka juuri säädimme Dialogue: 0,0:32:56.25,0:33:02.45,Default,,0000,0000,0000,,kuorman siirtymää. Onko siru sisäinen?\NNäemme sen kuvasta, ehkä Dialogue: 0,0:33:02.45,0:33:10.39,Default,,0000,0000,0000,,meillä on ainoastaan laiteohjelmiston osa A.\NJa ehkä se käyttää kirjastoa tai sirun sisäistä osaa B. Dialogue: 0,0:33:10.39,0:33:18.90,Default,,0000,0000,0000,,Joten meidän täytyy katsoa, mitä voimme tehdä\Nkäyttäen laiteohjelmiston muutosta. Dialogue: 0,0:33:18.90,0:33:26.84,Default,,0000,0000,0000,,Nyt kun tämä on tehty, voimme aloittaa\Nkoodin normaalin takaisinmallinnuksen. Dialogue: 0,0:33:26.84,0:33:31.54,Default,,0000,0000,0000,,Haemme merkkijonoja, haemme viittauksia\Nmerkkijonoihin, Dialogue: 0,0:33:31.54,0:33:39.35,Default,,0000,0000,0000,,mutta koska olemme todella matalla sulautetussa\Njärjestelmässä, voimme ehkä hakea hyvin erikoistuneita, Dialogue: 0,0:33:39.35,0:33:48.58,Default,,0000,0000,0000,,dataviittauksia ja operandeja. Hae USB-kuvauskenttiä,\Njotka olet poiminut /lib/lsusb-ohjelmalla Dialogue: 0,0:33:48.58,0:33:55.23,Default,,0000,0000,0000,,Katso USB-magiaa, kuten USBC ja USBS,\Ntiedät, että näitä kahta dwordia käytetään Dialogue: 0,0:33:55.23,0:34:03.73,Default,,0000,0000,0000,,USB-kommunikoinnissa. Katso IDEa, SATAa ja\NATAPI ID merkkijonoja ja sano samalla: Dialogue: 0,0:34:03.73,0:34:15.76,Default,,0000,0000,0000,,"Olen OCZ SSD -laite" esimerkiksi. Kun\Nolet nuuskinut laitekommunikointia Dialogue: 0,0:34:15.76,0:34:21.92,Default,,0000,0000,0000,,olet jo löytänyt joitain tyypillisiä tietolohkoja.\NVoit yrittää etsiä niitä [binääristä] Dialogue: 0,0:34:21.92,0:34:28.14,Default,,0000,0000,0000,,Viimeisenä, muttei vähäisimpänä, laite on ehkä antanut joitain virhekoodeja, ja voit etsiä merkkijonoja Dialogue: 0,0:34:28.14,0:34:33.89,Default,,0000,0000,0000,,tai operandeja opkoodeissa. Dialogue: 0,0:34:33.89,0:34:38.95,Default,,0000,0000,0000,,On todella mielenkiintoista löytää piilotettuja\Nlaiteohjelmistopäivitysjonoja, koska Dialogue: 0,0:34:38.95,0:34:47.22,Default,,0000,0000,0000,,ne voivat sallia ei-invasiivisen muokkaamisen.\NEsimerkiksi hae sirun pyyhkimis- ja Dialogue: 0,0:34:47.22,0:34:51.87,Default,,0000,0000,0000,,ohjelmointikomentoja, voit poimia asianmukaisia\Nkomentoja tietolehtisestä Dialogue: 0,0:34:51.87,0:35:01.52,Default,,0000,0000,0000,,jos käytettävissä on jokin ulkoinen muistilaite.\NOlemme tehneet analyysin ja olemme Dialogue: 0,0:35:01.52,0:35:07.92,Default,,0000,0000,0000,,oppineet paljon laitteesta.\NNyt aiomme mukauttaa sitä. Dialogue: 0,0:35:07.92,0:35:14.32,Default,,0000,0000,0000,,Ensiksi, meidän täytyy miettiä. Jos\Naiomme muuttaa laiteohjelmistoa, meidän pitää Dialogue: 0,0:35:14.32,0:35:19.69,Default,,0000,0000,0000,,valmistautua muuraamaan laitteemme. Dialogue: 0,0:35:19.69,0:35:25.04,Default,,0000,0000,0000,,Valmistajat toteuttavat useita eheystarkistuksia,\Nja miksi he tekevät niin? Dialogue: 0,0:35:25.04,0:35:34.77,Default,,0000,0000,0000,,Sen takia, koska laiteohjelmisto tallennetaan flashiin,\Njoka on altis vanhenemiselle, varsinkin, jos siihen liittyy lämpöä. Dialogue: 0,0:35:34.77,0:35:42.41,Default,,0000,0000,0000,,He tekevät tarkistussummia. On olemassa ohjelmistopohjaisia\Ntarkissumman laskentamenetelmiä, CRC esimerkiksi. Dialogue: 0,0:35:42.41,0:35:48.54,Default,,0000,0000,0000,,On olemassa jopa laitteistopohjaisia tarkistussumia, joissa\Njokin HW-oheislaite tekee työn puolestamme. Dialogue: 0,0:35:48.54,0:35:57.18,Default,,0000,0000,0000,,Koodissa näkyy siis alku- ja loppusiirtymä,\Nsekä polynomi, jos olet onnekas. Dialogue: 0,0:35:57.18,0:36:03.66,Default,,0000,0000,0000,,Se voi myös olla kovakoodattuna oheislaitteeseen,\Njotta en näkisi mitään. Dialogue: 0,0:36:03.66,0:36:13.17,Default,,0000,0000,0000,,Se voi olla yhdistelmä molempia, pelkästään\Nkäynnistyksen yhteidessä tai syklisesti taustalla. Dialogue: 0,0:36:13.17,0:36:18.74,Default,,0000,0000,0000,,Mitä meidän on tehtävä muuttaaksemme laiteohjelmistoa?\NJoko korjata nämä tarkistussummat, Dialogue: 0,0:36:18.74,0:36:26.14,Default,,0000,0000,0000,,tai korjata ne tarkistussumma-algoritmit,\Njotta ne eivät käynnisty. Dialogue: 0,0:36:26.14,0:36:32.31,Default,,0000,0000,0000,,Mitkä ovat muutostyömme tavoitteet, tietysti\Nkuulimme sen motivaatio-osassa. Dialogue: 0,0:36:32.31,0:36:44.75,Default,,0000,0000,0000,,Olemme korjaamassa virheitä, ja ehkäpä virheet\Nsisältyvät sirun toiseen osaan, jota meillä ei Dialogue: 0,0:36:44.75,0:36:51.37,Default,,0000,0000,0000,,ole tällä hetkellä. Ehkä meidän täytyy dumpata\Nlisämuistialueita. Dialogue: 0,0:36:51.37,0:37:02.25,Default,,0000,0000,0000,,Sitä he tekivät Cisco VoIP -hakkeroinnissa.\NHe yrittivät löytää memcpy-rutiinin ja käyttää sitä. Dialogue: 0,0:37:02.25,0:37:08.55,Default,,0000,0000,0000,,Jos et löydä memcpy-rutiinia, voit ehkä\Ntotetuttaa oman version. Miksei? Dialogue: 0,0:37:08.55,0:37:15.89,Default,,0000,0000,0000,,Voitte dumpata koodia toisilta muistialueilta\Nulostulopuskureille. Dialogue: 0,0:37:15.89,0:37:20.43,Default,,0000,0000,0000,,Jos sinulla ei ole tilaa ulkoisella muistilaitteella,\Nmikset ohjelmoisi sitä laitteelle Dialogue: 0,0:37:20.43,0:37:29.92,Default,,0000,0000,0000,,ja lukisi sitä laitteelta. Se voi olla todella\Nmielenkiintoista kerätä lisää laitteen sisäistä tietoa. Dialogue: 0,0:37:29.92,0:37:36.56,Default,,0000,0000,0000,,Esimerkiksi RAM-dumpin kanssa, koska\Nstaattista analyysiä tehdessä, mietit aina Dialogue: 0,0:37:36.56,0:37:48.44,Default,,0000,0000,0000,,mitä RAMissa on tässä ja tuossa osoitetteessa.\NNyt kun olemme mukauttaneet laiteohjelmistoa, Dialogue: 0,0:37:48.44,0:37:53.96,Default,,0000,0000,0000,,voimme pistää sen takaisin laitteeseen. Esimerkiksi\Nkäyttämällä alkuperäistä päivitysohjelmistoa. Dialogue: 0,0:37:53.96,0:37:58.44,Default,,0000,0000,0000,,Se saattaa sisältää jotain tarkistussumman tarkastuksia,\Nken tietää. Dialogue: 0,0:37:58.44,0:38:06.60,Default,,0000,0000,0000,,Voimme yrittää uudelleenohjelmoida sen mahdollisesti\Nsaatavilla olevaan muistilaitteeseen, tai prosessoriin. Dialogue: 0,0:38:06.60,0:38:14.16,Default,,0000,0000,0000,,Tämä voi olla tehty käyttäen sarjaliitäntää,\Njoko JTAGia tai oheislaitteita. Dialogue: 0,0:38:14.16,0:38:17.97,Default,,0000,0000,0000,,Siinäpä se. Kiitos paljon. Dialogue: 0,0:38:17.97,0:38:25.77,Default,,0000,0000,0000,,{\i1}aplodit{\i0} Dialogue: 0,0:38:25.77,0:38:36.09,Default,,0000,0000,0000,,Angel: Jos teillä on kysymyksiä, järjestäytykää tilassa\Nolevien mikrofonien eteen, täällä on neljä niitä. Dialogue: 0,0:38:42.57,0:38:47.12,Default,,0000,0000,0000,,Onko mitään kysymyksiä? Mikrofoni 1 kiitos; Dialogue: 0,0:38:47.12,0:38:54.43,Default,,0000,0000,0000,,Kysymys: Ei ole kysymys, vaan vinkki. Jos tarvitset jotain binääridumppia tai vastaavaa tiedostoylijäämää Windowsille Dialogue: 0,0:38:54.43,0:39:06.46,Default,,0000,0000,0000,,voit kieltää poisto-oikeuden, joten asennus- tai päivitysohjelmisto ei\Npysty poistamaan sen väliaikaisia tiedostoja. Dialogue: 0,0:39:06.46,0:39:08.86,Default,,0000,0000,0000,,Joten ne jäävät laitteelle uudelleenohjelmoinnin jälkeen. Dialogue: 0,0:39:08.86,0:39:10.73,Default,,0000,0000,0000,,A: Onko sinulla vinkkiä, mitä käyttää siinä tapauksessa? Dialogue: 0,0:39:10.73,0:39:11.72,Default,,0000,0000,0000,,Q: Anteeksi? Dialogue: 0,0:39:11.72,0:39:14.26,Default,,0000,0000,0000,,A: Onko sinulla vinkkiä siitä, onko tähän olemassa\Nerikoistyökalua? Dialogue: 0,0:39:14.26,0:39:18.90,Default,,0000,0000,0000,,Q: Se ei ole välttämätön, se on Windowsissa\Nsisäänrakennettuna valmiiksi. Dialogue: 0,0:39:18.90,0:39:20.42,Default,,0000,0000,0000,,A: OK Dialogue: 0,0:39:20.42,0:39:26.62,Default,,0000,0000,0000,,Q: Ja en tiedä sanaa. Dialogue: 0,0:39:26.62,0:39:27.51,Default,,0000,0000,0000,,A: OK Dialogue: 0,0:39:27.51,0:39:34.29,Default,,0000,0000,0000,,Q: Mutta voit peruuttaa oikeudet kokonaan hakemistosta,\Npoistamiseen on olemassa oma erikoisoikeus. Dialogue: 0,0:39:34.29,0:39:37.41,Default,,0000,0000,0000,,A: OK, kiitos. Dialogue: 0,0:39:37.41,0:39:42.60,Default,,0000,0000,0000,,Angel: Onko enää lisää kysymyksiä? Dialogue: 0,0:39:46.60,0:39:50.63,Default,,0000,0000,0000,,Angel: Ei näytä siltä. Antakaa lämpimät suosionosoitukset\Npuhujallemme Stefan Widmannille. Dialogue: 0,0:39:50.63,0:39:54.82,Default,,0000,0000,0000,,{\i1}aplodit{\i0}\NA: Päällä [mikrofoni 2] Dialogue: 0,0:39:54.82,0:39:57.46,Default,,0000,0000,0000,,Angel: On vielä yksi kysymys... Ei? Dialogue: 0,0:39:57.46,0:39:59.55,Default,,0000,0000,0000,,A: OK Dialogue: 0,0:39:59.55,0:40:02.88,Default,,0000,0000,0000,,Angel: Kun poistutte, ottakaa... Dialogue: 0,0:40:02.88,0:40:11.09,Default,,0000,0000,0000,,[Translated by Markus Kallatsa (KYBS2001 course assignment at JYU.FI)]