Code Monkey home page Code Monkey logo

Comments (3)

christophvw avatar christophvw commented on July 18, 2024

some improvements:

0  string              ELSF              LANCOM firmware header
>18  string            x                 {raw-replace}
>12  byte              255               Rel
>12  byte              253               alpha
>12  byte              220               PR
>12  byte              <220              RC%d        #bug???
>12  byte              <237              RU(%d-220)
>17  byte              x                 Build %d
>18  string            x                 {raw-string-length:4}
>18  string            x                 {raw-string:%s}


0 string               ELSO              LANCOM OEM file

0 string               ELSP
>202 string            @(RECENT_FIRMWARE)/
>202 string            x                  %s
>221 string            x                  {file-name:%s},
>(200.S+206) belong    x                  {file-size:%d}
>(200.S+206) belong    x                  \bfile size: %d bytes

from binwalk.

devttys0 avatar devttys0 commented on July 18, 2024

The byte type is signed, so your 220 value is actually treated as a negative value. Use ubyte instead:

0    string            ELSF              LANCOM firmware header,
>22  string            x                 model: "%s",
>18  string            x                 firmware version: "%.4s",
>12  ubyte             255               Rel,
>12  ubyte             253               alpha,
>12  ubyte             220               PR,
>12  ubyte             <220              RC%d,
>12  ubyte             <237              RU{math:%d-220},
>17  ubyte             x                 build %d

0 string               ELSO              LANCOM OEM file

0 string               ELSP                LANCOM file entry
>202 string            @(RECENT_FIRMWARE)/ \b, file name:
>>221 string           x                   "%s"
>>221 string           x                   {file-name:%s}
>(200.S+206) belong    x                   \b, file size: %d bytes
>(200.S+206) belong    x                   {file-size:%d}

from binwalk.

christophvw avatar christophvw commented on July 18, 2024

-small fix: it cannot be RC and RU at the same time
-added detection for dev builds
-added detection for alias names
-added support for WWAN Firmware detection (4G devices)
-added support for bootloaders

0    string            ELSF              LANCOM firmware header,
>22  string            x                 model: "%s",
>18  string            x                 firmware version: "%.4s",
>12  ubyte             255               Rel,
>12  ubyte             253               alpha,
>12  ubyte             220               PR,
>12  ubyte             >0
>>12 ubyte             <220              RC%d,
>12  ubyte             >220
>>12 ubyte             <237              RU{math:%d-220},
>12  ubyte             0                 dev
>17  ubyte             >0
>>17 ubyte             x                 build %d

0    string            ELSO              LANCOM OEM file

0    string            ELSB              LANCOM firmware loader,
>22  string            x                 model: "%s",
>18  string            x                 loader version: "%.4s",


0    string            ELSC              LANCOM WWAN firmware
>4   ubyte             3
>>5  beshort           0
>>7  string            x                 %s

0 string               ELSP                LANCOM file entry
>202 string            @(RECENT_FIRMWARE)/ \b, file name:
>>221 string           x                   "%s"
>>221 string           x                   {file-name:%s}
>(198.L+202) belong    2
>>(198.L+206) belong   x                   \b, file size: %d bytes
>>(198.L+206) belong   x                   {file-size:%d}
>(198.L+202) belong    3
>>&4 string            @(RECENT_FIRMWARE)/ \b, alias:
>>&23 string           x                   "%s"
>>&(&0.L(0)) belong    x
>>>&4 belong           x                   \b, file size: %d bytes

Btw. how to get the extraction to work properly for the files in the ELSP sections?

from binwalk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.