> turim dell bios'ą exe failo pavidalu.Iš esmės ten yra į exe kaip konteinerį > sukišti afuwin.exe, afudos.exe ir pats bios romas. Kaip išskleisti šitą exe > failą? Štai parsitempiau pirmam pasitaikiusiam -- Inspiron 8600 (pavadinimas kažkuo pažįstamas pasirodė). 572 KB. Yra vardinis exe resursas "PAYLOAD", viduje pagal importuojamų funkcijų vardus akivaizdžiai draiveris, kode matosi originalus pavadinimas "DellBios.sys". Paskutinė exe sekcija yra tie patys resursai, jei failas tenai baigtųsi, būtų 208 KB. Bet nesibaigia, kabo dar 364 KB: 00033FE0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00 00033FF0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00 00034000: 44 65 6C 6C-42 49 4F 53-00 ED 45 AF-05 00 5C 00 DellBIOS.ĒE»..\. 00034010: 10 00 1F 8B-08 00 00 00-00 00 00 00-EC BD 0B 40 ...ŗ........ņĮ.@ Nuo 0x34012 panašu į gzip, be to, 4 baitai nuo 0x3400A aiškiai yra jo ilgis. Akurat, gzip.exe sako: "decompression OK, trailing garbage ignored". Rezultatas -- megabaitas su trupučiu (0x10005C), panašu į patį biosą: 00000000: 24 52 42 55-54 01 00 01-43 6F 70 79-72 69 67 68 $RBUT...Copyrigh 00000010: 74 20 32 30-30 35 20 44-65 6C 6C 20-43 6F 6D 70 t 2005 Dell Comp 00000020: 75 74 65 72-20 43 6F 72-70 6F 72 61-74 69 6F 6E uter Corporation 00000030: 41 31 34 00-00 00 00 00-00 00 00 00-6A 08 00 00 A14.........j... Kas ten per trailing garbage? Net gzip -v neišduoda, kur jos prasideda. Paknisau RFC 1952, na ir brudnas formatas: hederyje ilgio nėra, vienintelė išeitis yra ieškoti žinomo pradinių duomenų ilgio (to 0x10005C), kuris turėtų būti iškart už duomenų. Laimei, tai yra pats failo galas: 0005AF40: FF 5C 00 10-00 00 40 03-00 - .\....@.. Ištrynus paskutinius 4 baitus, gzip lieka patenkintas. Ištrynus bent vienu daugiau, nebeišarchyvuoja. Jau akivaizdu, kad 4 baitai nuo 0x3400E yra pradinis duomenų ilgis. O kam reikalingi šitie? 00034008: 00 ED 0005AF45: 00 40 03 00 Spėliok pats. Gal galima ir nekeisti. -- saimhe