Simple Firmware Reverse Engineering

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 125

  • @DamienGuard
    @DamienGuard 5 років тому +101

    Cool video however instead of using bc and calculating offsets you can just add `-e` to binwalk and it will automatically extract out all parts it finds to a sub-folder.

  • @jamesmckeown4045
    @jamesmckeown4045 5 років тому +8

    Found your channel because of the video of you wrecking that scammer’s database, and from someone whose parents fell victim to a similar scam, where I had to watch firsthand the level of fear, uncertainty, anger, and just general distrust of humanity that develops from someone who has to go through that, just know you did a genuine service to society, and it was so f*cking badass it brought a tear to my eye. Like the f*cking Batman of code, keep it up my man, loving your work!

    • @EngineerMan
      @EngineerMan  5 років тому +4

      Thanks for the kind words, James. Happy to help.

  • @blevenzon
    @blevenzon 5 років тому +42

    Omg this is amazing. Not only I learned the beginnings of reverse engineering, I learn useful Linux utils. Can’t thank you enough. The entropy chart is so so awesome.

  • @petrasoftresearch1301
    @petrasoftresearch1301 3 місяці тому +1

    Good stuff, thank you. A couple of observations. LZM and the entropy you mentioned at 3:39 indicates compression not obfuscation. LZW compression creates a dictionary and then stores it at the end of the file and the offsets/dict refs are what you see at the high entropy levels. With binaries the byte sequences are rarely going to repeat often so that is why everything is skewed to the right. Also, you could just use binwalk -e instead of messing with dd tool and offset calcs. Binwalk -d also lets you cherry pick the files if you know their names or suspect some content using regex. I just learnt this today at a defcon. Fun stuff!

  • @ZacKoch
    @ZacKoch 5 років тому +24

    Accurate and straight to the point. I like it!

  • @UnholyMasterOfMetal
    @UnholyMasterOfMetal 5 років тому +12

    This dude is legendary! Thanks for the intro man.

  • @0xDigby
    @0xDigby 5 років тому +16

    Your presentation style is excellent for this type of video. thank you.

  • @10e999
    @10e999 5 років тому +14

    I really appreciate low level programming on this channel.
    Keep it up ! :)

  • @elliotalderson9774
    @elliotalderson9774 4 роки тому +2

    Excellent! Now 1) I finally understand what to use the entropy chart for and 2) a simple redirect of “lzma -d” fixes my issues with corruption errors (I kept trying to guess the end of the file).

  • @n8style
    @n8style 5 років тому +3

    that binwalk program is awesome! thank you for this video

  • @drumpf4all
    @drumpf4all 5 років тому +47

    "Reverse Engineers" - I see what you did there. Lol.

  • @eldaiblol1492
    @eldaiblol1492 5 років тому +3

    That was awesome, please continue and make more videos on this topic!

  • @pavelsapehin4308
    @pavelsapehin4308 5 років тому +3

    00:58 project introduction
    01:43 download firmware
    02:18 binwalk
    03:25 binwalk: information entropy
    04:06 squashfs: compressed linux directory
    04:26 dd: unpack squashfs
    05:03 how to look at squashfs: mount vs extract;
    extract: unsquashfs
    05:20 cd into extracted folder
    06:00 LZMA archive
    06:28 dd (+count)
    07:17 lzma -d (extract and discard garbage)
    07:40 binwalk onto extracted LZMA
    This table of content was created using "Smart Bookmarks for UA-cam" chrome extension. You can import and edit them using this extension. You can install it from the official Chrome Store Page (shortened link): smb.page.link/store

  • @dantheman8862
    @dantheman8862 5 років тому +12

    As someone that thought I knew linux, I now understand I know nothing.

    • @kr4dh4x0r
      @kr4dh4x0r 4 роки тому +6

      I've worked as a linux engineer for ~15 years now. You wouldn't believe the amount of people that behave like they know linux...... but don't know nearly as much as they think they do. The smartest people I've met will tell you that "I know enough but I'm always learning something new."

  • @Laflamablanca969
    @Laflamablanca969 5 років тому

    I watch your ads to show my support. You should definitely do another one of these, but make it so we can follow along with you. Loved it, mate. Thanks

  • @PB-eg2je
    @PB-eg2je 4 роки тому

    One of the best reverse engineering videos I have seen so far.

  • @rlee431
    @rlee431 5 років тому +2

    This was fantastic!!! Please do more reverse engineering. Thank you.

  • @sasakanjuh7660
    @sasakanjuh7660 5 років тому +2

    Brilliant, hope you'll make more videos regarding this subject, I thoroughly enjoyed it!
    Btw, thanks for all your effort, I really appreciate it :)

  • @joakimolovsson7310
    @joakimolovsson7310 5 років тому +2

    Wow, this is amazing :D
    I like that the topics you cover are quite broad

  • @cjhackerz
    @cjhackerz 5 років тому +3

    Classic things that I always love, welcome to IoT security

  • @umairgillani699
    @umairgillani699 10 місяців тому

    Please keep on making such low level informative videos. Thanks for this one.

  • @smccrode
    @smccrode 5 років тому

    I need more of this! Been wanting to add things to Home Assistant. This is exactly what I need. Thanks!

  • @profools2820
    @profools2820 4 роки тому

    That intro was genius, Damnit Engineer man your so cool, I’m sorry, Reverse Engineer man

  • @DaveBriccetti
    @DaveBriccetti 5 років тому +1

    Thanks for this. I want to examine my Hikvision IP cameras.

  • @Shinika01
    @Shinika01 Рік тому

    This is the video that will make me go down baaaaad, in the rabbit hole ;)

  • @katout75
    @katout75 5 років тому

    Great intro into RE

  • @lev5821
    @lev5821 5 років тому

    Cool, did have no idea starting is so easy, thanks for sharing!

  • @GamingBlake2002
    @GamingBlake2002 5 років тому

    Can't wait for the UART video

  • @swoodc
    @swoodc 5 років тому

    very profesisonal. i felt like i was in a ted talk

  • @EFChartley
    @EFChartley 5 років тому +1

    That was brilliant! Jake from UK 🇬🇧

    • @kermitdafrog8
      @kermitdafrog8 5 років тому

      You spelled State Farm wrong. 😉

  • @JeffSmith-vc9ii
    @JeffSmith-vc9ii 5 років тому +1

    Best reverse engineering video I've seen. And he wasn't wearing a black hoodie?!?!

  • @stevecross9159
    @stevecross9159 3 роки тому

    From the UK 🇬🇧. Thank you

  • @amlamarra
    @amlamarra 5 років тому +1

    Can you post a link to where you got that firmware? I searched for the exact version on Netgear's site but couldn't find it. Wanted to follow along.

  • @stude7716
    @stude7716 5 років тому

    champion - encourage bored young people to look inside the machine - marvelous

  • @leathernluv
    @leathernluv Рік тому

    FWIW, you don't need to separate out the squashfs... Just use:
    sudo losetup -o (byte offset in file) /dev/loop0 (image file name here)
    Then mount /dev/loop0 on a folder of your choice. I work with raw HDD images this way. It saves time for me, but YMMV by purpose.
    LOL, lots to learn here in the comments too!

  • @MaartenVanDamme81
    @MaartenVanDamme81 5 років тому +1

    cool video, learned something new again. thanks for sharing.

  • @thetdg
    @thetdg 5 років тому +5

    YOU DON'T NEED dd TO EXTRACT THE FILES.
    Just use binwalk -e file.img

  • @brontobytesdm9003
    @brontobytesdm9003 2 роки тому

    Freakin Finally Im getting to the bottom of some of this !

  • @0xbitbybit
    @0xbitbybit Рік тому

    What to do when the entire .bin firmware is showing as the LZMA compressed data? Weirdly showing a JPEG description as the first line in binwalk, so did skip= the number where the LZMA starts, then it's just all LZMA to the end, so my final dd command is dd if=firmware.bin skip= -of=firmware.lzma bs=1....... then did lzma -d and it had the same "compressed data is corrupt" error you had, but there was no file generated 🤔

  • @joshbassett
    @joshbassett 5 років тому

    Can’t give this video enough thumbs 👍👍👍

  • @x0veN_trading
    @x0veN_trading 4 роки тому

    Yes do a UART video please. Your explanations are really good.

  • @henryrohlfing7676
    @henryrohlfing7676 5 років тому

    Great video. You should make more rev. Engineering videos!

  • @Vagelis_Prokopiou
    @Vagelis_Prokopiou 5 років тому

    Very informative. Thanks man.

  • @willb.755
    @willb.755 5 років тому +1

    This was awesome! Thanks

  • @v380riMz
    @v380riMz 3 роки тому

    Does this form the basis of how Jailbreaks happen? Like the PS3, older iOSes, the Wii (Homebrew Channel) etc. By reversing the firmware and uploading your own patch?

  • @trifalgarh
    @trifalgarh 5 років тому +1

    Hey! I was looking for reverse engineering related videos and that's how I found your channel! Awesome explanation ^.^
    Could you please create a sort of series of these videos or something? I am trying to learn reverse engineering of x64 based malware. So if you find it feasible then please share videos related to this topic 😃

  • @nivedhm442
    @nivedhm442 Рік тому

    Hey man, Ive been trying to make small ui changes to my router firmware. I tried extracting it, and replaced a few images , now how do i do the rest and make it a working firmware. can you please answer or suggest a video to watch and understand this kind of stuff. Ive been searching all over the internet for days, maybe i dont have the right words to search but i havent found anything useful yet. this video was the closest. Thank you in advance

  • @Hadkek
    @Hadkek 3 роки тому

    This was fascinating

  • @ErnaSolbergXXX
    @ErnaSolbergXXX 4 роки тому +1

    Very nice video. Is there any way to modify files in the firmware and pack this back to a new firmware?

  • @crimpon8585
    @crimpon8585 3 роки тому

    Fabulous. Looking for instructions on how to put the firmware image back together after changing the spelling on one web page. Thinking some combination of mksquashfs and mkimage, but cannot find instructions that match the clarity of this video.

  • @harshitjoshi3082
    @harshitjoshi3082 4 роки тому

    You are great at explaining what you are doing 👍 you should do more reverse engineering videos 🙂

  • @yassinemessaoudi
    @yassinemessaoudi 5 років тому

    Very informative video , Thank you !

  • @stage666
    @stage666 2 роки тому

    Binwalk shows empty result on my firmware file...entropy is all 1. what should I do

  • @vagrantrandomstuff2312
    @vagrantrandomstuff2312 Рік тому

    Is it possible to modify the extracted firmware? Recompile it then flash it back?

  • @hds7178
    @hds7178 3 роки тому +1

    how to find and replace tv logo using this software.Can u do tutorial.

  • @Foodster007
    @Foodster007 3 роки тому

    hello engineer man, where do u find firmware updates? for fitbit especially?

  • @amintgh6414
    @amintgh6414 7 місяців тому

    How to re-compress it after changing?

  • @rodneylives
    @rodneylives 5 років тому

    This is a terrific video.

  • @marcello4258
    @marcello4258 3 роки тому

    would also be nice to see some ways would you would call best practice to modify and pack again back

  • @urugulu1656
    @urugulu1656 5 років тому

    great although i would've probably renamed your bin file and or your archive to something with a shorter name just for easier handling (ok using autocompletion does not give a crap about it but some people may want to read and understand your command). also what is that glow around your outline? i guess artifacts from a greenscreening solution...

  • @giantkherva2141
    @giantkherva2141 Рік тому

    If atmega328 mcu lock with lock bits high voltage programmer can reset lock bits without code or programe lossing?

  • @lalalalelelele7961
    @lalalalelelele7961 4 роки тому

    Where can one get more info on reverse engineering hardware? Is there a community out there?

  • @SomeGuyInSandy
    @SomeGuyInSandy 5 років тому

    Good stuff! Thanks!

  • @halbgefressen9768
    @halbgefressen9768 5 років тому

    This is amazing. More!!!

  • @brontobytesdm9003
    @brontobytesdm9003 2 роки тому

    ok after 30 hours of study I might be able to understand 1/8th of what you just showed.

  • @marcellomangione5725
    @marcellomangione5725 4 роки тому

    Hi, as you extract img file use it in a fresh start in a virtual box. If I'm wrong tech us install cases. Everything is a mind storm. Thanks.

  • @peacelover1370
    @peacelover1370 2 роки тому

    If you could help me get a firmware for nikon d3300, which was C - 1.00 and L - 2.002 and this is what camera with the camera and this is what I need. After firmware update image quality is very bad.

  • @MarzJonp
    @MarzJonp 4 роки тому

    WOW! Using DD? Impressive.

  • @SEOng-gs7lj
    @SEOng-gs7lj 3 роки тому

    any videos on reverse engineering intel 8051 binaries?

  • @subhash36a
    @subhash36a 4 роки тому

    I want know how to decompress zlib bin file?

  • @nikoivan2580
    @nikoivan2580 2 роки тому

    Would this also work with reverse engineering Nvidia vBIOS?!

  • @kylekittredge
    @kylekittredge 5 років тому

    Took me one second to subscribe👌👍

  • @ParabulaMan
    @ParabulaMan 3 роки тому

    this is wizzard level shit right here.

  • @FunnyPantsTV124
    @FunnyPantsTV124 4 роки тому

    great video as always, I got stuck at the unsquashfs part but kept watching anyway.
    whenever I tried unsquashfs Linux it gave me this message "Can't find a SQUASHFS superblock on Linux" is there anything im missing? i followed along side the video and still hit this hiccup

  • @matheuso86
    @matheuso86 5 років тому

    Please! More reverse engineering!!!

  • @LaGreatness1
    @LaGreatness1 2 роки тому

    I got a question how did you learn this ?

  • @PaulDenisevich
    @PaulDenisevich 5 років тому

    Hey man, which OS are you using in this video?

  • @mmzhr
    @mmzhr 5 років тому

    keep up good work bro :)

  • @holgergrauslund
    @holgergrauslund 4 роки тому

    How would I get the firmware, if it’s being downloaded from a server into my computer and then into a device via USB?

    • @elpsykongr00
      @elpsykongr00 4 роки тому

      try wireshark

    • @holgergrauslund
      @holgergrauslund 4 роки тому

      @@elpsykongr00 so if I connect a device to my pc, and I have a program on that pc, that download a firmware and transfers it to the usb device, can that program then “get” the firmware?

  • @prathmesh646
    @prathmesh646 5 років тому

    Which linux distro do you use?

  • @WaqarRashid
    @WaqarRashid 5 років тому

    I am trying to reverse engineer a firmware and binwalk is giving up nothing. Do you know any effective tool to reverse a baremetal file? I don't think its a linux root file system and is not encrypted either. I just don't know how to do it in IDA pro or in ghidra etc. I can provide you the firmware if you or anyone else is interested. Its a Chinese goodie and I am just curious to know whats inside.

  • @Panduranga-iw2ji
    @Panduranga-iw2ji 6 місяців тому

    How to re bundle it to binary

  • @stevewilson88
    @stevewilson88 5 років тому

    Pro-Tip. dcfldd is dd with a status bar. Its pretty sweet

    • @EngineerMan
      @EngineerMan  5 років тому

      Huh, nice one. I didn't know about this tool. For progress I often did dd | pv | dd.

    • @stevewilson88
      @stevewilson88 5 років тому

      lol i wasn't expecting a reply from you haha keep up the good work! I found out about that tool while dual majoring in netsec and tech forensics 10 years ago, it can be a life saver

    • @EngineerMan
      @EngineerMan  5 років тому +2

      I read every comment, just not practical to respond to everything.

  • @Janis_P
    @Janis_P 5 років тому

    I tried this on the Telekom Speedport Smart firmware but binwalk didn't find anything.

    • @mickhat
      @mickhat 5 років тому

      Obfuscated I guess.

  • @CarlosLopez-ws6cq
    @CarlosLopez-ws6cq 8 місяців тому

    Can you help me with a Huawei modem to extract firmware friend?

  • @laptopDoctorKZN
    @laptopDoctorKZN 2 роки тому

    Hey there... I have a microscope. I would like to fix the firmware.. was Just wondering if you please could help me do this...

  • @saburiarsalan9176
    @saburiarsalan9176 11 місяців тому

    hi you can help me for install on frameware in linux centos or anyone linux version on the hp server

  • @TEXASF1ERCE
    @TEXASF1ERCE 5 років тому

    Awesome ! :)

  • @jaycal1920
    @jaycal1920 5 років тому

    The OS in the title would help.
    Was interested in phone OS/Firmware, thats what i though it was.

  • @FREEKASHMIR
    @FREEKASHMIR 4 роки тому

    Anyone have any Experience
    Making of the Kosher NOKIA Phone
    of have Flash file

  • @seancondon5572
    @seancondon5572 3 роки тому

    Engineer Man reverse engineering? Morelike... Reenigne Man.

    • @EngineerMan
      @EngineerMan  3 роки тому

      I dig it.

    • @seancondon5572
      @seancondon5572 3 роки тому +1

      @@EngineerMan i would too, but it's clearly not a domain name

  • @DrVektor
    @DrVektor 3 роки тому

    i wish that I wish I could understand so much I would like to solve a driver.

  • @rowelsemetara3512
    @rowelsemetara3512 2 роки тому

    Good day man.., very interesting vid here.. any way i can PM you..?

  • @devicetest7746
    @devicetest7746 4 роки тому

    Some more firmwares for revesrse: mega.nz/folder/aWoGFS5B#6dvgkfn-W7HveZAEVXBhEg

  • @TheGamer720x
    @TheGamer720x 5 років тому

    Hey can you explain what happens in the the social network movie hacking scene where mark is stealing pictures from different houses using scripts? Would love an detailed explanation as to what's going on in the background.

  • @ibrahemweb
    @ibrahemweb 3 роки тому

    thank you but how compressed files after editing ?

  • @rezadewantara5935
    @rezadewantara5935 5 років тому

    AI series please

  • @LaurentLaborde
    @LaurentLaborde 3 роки тому +2

    but... you did't reverse engineer any firmware :(

  • @nobodycares3757
    @nobodycares3757 2 роки тому

    do on jffs2

  • @PezhvakIMV
    @PezhvakIMV 4 роки тому

    what's up with that raised eyebrow?