Simple Firmware Reverse Engineering

Поделиться
HTML-код
  • Опубликовано: 26 янв 2025
  • НаукаНаука

Комментарии • 126

  • @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 5 месяцев назад +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!

  • @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.

  • @ZacKoch
    @ZacKoch 5 лет назад +24

    Accurate and straight to the point. I like it!

  • @10e999
    @10e999 5 лет назад +14

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

  • @sharkbaitsurfer
    @sharkbaitsurfer Месяц назад

    Brilliant explanation and demonstration - subscription worthy!

  • @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

  • @eldaiblol1492
    @eldaiblol1492 5 лет назад +3

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

  • @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

  • @umairgillani699
    @umairgillani699 Год назад

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

  • @drumpf4all
    @drumpf4all 5 лет назад +47

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

  • @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 :)

  • @dantheman8862
    @dantheman8862 5 лет назад +12

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

    • @kr4dh4x0r
      @kr4dh4x0r 5 лет назад +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."

  • @joakimolovsson7310
    @joakimolovsson7310 5 лет назад +2

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

  • @PB-eg2je
    @PB-eg2je 4 года назад

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

  • @smccrode
    @smccrode 5 лет назад

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

  • @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 RUclips" 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

  • @rlee431
    @rlee431 5 лет назад +2

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

  • @Shinika01
    @Shinika01 Год назад

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

  • @lev5821
    @lev5821 5 лет назад

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

  • @profools2820
    @profools2820 5 лет назад

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

  • @swoodc
    @swoodc 5 лет назад

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

  • @DaveBriccetti
    @DaveBriccetti 5 лет назад +1

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

  • @cjhackerz
    @cjhackerz 5 лет назад +3

    Classic things that I always love, welcome to IoT security

  • @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 🤔

  • @stevecross9159
    @stevecross9159 4 года назад

    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.

  • @EFChartley
    @EFChartley 5 лет назад +1

    That was brilliant! Jake from UK 🇬🇧

    • @kermitdafrog8
      @kermitdafrog8 5 лет назад

      You spelled State Farm wrong. 😉

  • @hds7178
    @hds7178 3 года назад +1

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

  • @marcello4258
    @marcello4258 3 года назад

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

  • @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.

  • @MaartenVanDamme81
    @MaartenVanDamme81 5 лет назад +1

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

  • @stage666
    @stage666 2 года назад

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

  • @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

  • @ErnaSolbergXXX
    @ErnaSolbergXXX 5 лет назад +1

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

  • @JeffSmith-vc9ii
    @JeffSmith-vc9ii 5 лет назад +1

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

  • @amintgh6414
    @amintgh6414 9 месяцев назад

    How to re-compress it after changing?

  • @vagrantrandomstuff2312
    @vagrantrandomstuff2312 Год назад

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

  • @Vagelis_Prokopiou
    @Vagelis_Prokopiou 5 лет назад

    Very informative. Thanks man.

  • @SEOng-gs7lj
    @SEOng-gs7lj 4 года назад

    any videos on reverse engineering intel 8051 binaries?

  • @willb.755
    @willb.755 5 лет назад +1

    This was awesome! Thanks

  • @leathernluv
    @leathernluv 2 года назад

    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!

  • @GamingBlake2002
    @GamingBlake2002 5 лет назад

    Can't wait for the UART video

  • @joshbassett
    @joshbassett 5 лет назад

    Can’t give this video enough thumbs 👍👍👍

  • @katout75
    @katout75 5 лет назад

    Great intro into RE

  • @giantkherva2141
    @giantkherva2141 Год назад

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

  • @thetdg
    @thetdg 5 лет назад +5

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

  • @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?

  • @subhash36a
    @subhash36a 4 года назад

    I want know how to decompress zlib bin file?

  • @yassinemessaoudi
    @yassinemessaoudi 5 лет назад

    Very informative video , Thank you !

  • @x0veN_trading
    @x0veN_trading 5 лет назад

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

  • @lalalalelelele7961
    @lalalalelelele7961 5 лет назад

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

  • @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.

  • @brontobytesdm9003
    @brontobytesdm9003 2 года назад

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

  • @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 😃

  • @Hadkek
    @Hadkek 4 года назад

    This was fascinating

  • @kylekittredge
    @kylekittredge 5 лет назад

    Took me one second to subscribe👌👍

  • @henryrohlfing7676
    @henryrohlfing7676 5 лет назад

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

  • @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.

  • @nikoivan2580
    @nikoivan2580 2 года назад

    Would this also work with reverse engineering Nvidia vBIOS?!

  • @LaKevvv
    @LaKevvv 2 года назад

    I got a question how did you learn this ?

  • @DiabolicalApe
    @DiabolicalApe 3 года назад

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

  • @harshitjoshi3082
    @harshitjoshi3082 4 года назад

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

  • @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...

  • @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

  • @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?

  • @Panduranga-iw2ji
    @Panduranga-iw2ji 8 месяцев назад

    How to re bundle it to binary

  • @halbgefressen9768
    @halbgefressen9768 5 лет назад

    This is amazing. More!!!

  • @CarlosLopez-ws6cq
    @CarlosLopez-ws6cq 10 месяцев назад

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

  • @stude7716
    @stude7716 5 лет назад

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

  • @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.

  • @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...

  • @rodneylives
    @rodneylives 5 лет назад

    This is a terrific video.

  • @brontobytesdm9003
    @brontobytesdm9003 2 года назад

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

  • @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.

  • @saburiarsalan9176
    @saburiarsalan9176 Год назад

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

  • @SomeGuyInSandy
    @SomeGuyInSandy 5 лет назад

    Good stuff! Thanks!

  • @prathmesh646
    @prathmesh646 5 лет назад

    Which linux distro do you use?

  • @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.

  • @PaulDenisevich
    @PaulDenisevich 5 лет назад

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

  • @mmzhr
    @mmzhr 5 лет назад

    keep up good work bro :)

  • @rowelsemetara3512
    @rowelsemetara3512 2 года назад

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

  • @jaycal1920
    @jaycal1920 5 лет назад

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

  • @MarzJonp
    @MarzJonp 4 года назад

    WOW! Using DD? Impressive.

  • @FREEKASHMIR
    @FREEKASHMIR 4 года назад

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

  • @ParabulaMan
    @ParabulaMan 3 года назад

    this is wizzard level shit right here.

  • @ibrahemweb
    @ibrahemweb 3 года назад

    thank you but how compressed files after editing ?

  • @matheuso86
    @matheuso86 5 лет назад

    Please! More reverse engineering!!!

  • @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.

  • @TEXASF1ERCE
    @TEXASF1ERCE 5 лет назад

    Awesome ! :)

  • @DrVektor
    @DrVektor 3 года назад

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

  • @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

  • @LaurentLaborde
    @LaurentLaborde 3 года назад +2

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

  • @nobodycares3757
    @nobodycares3757 2 года назад

    do on jffs2

  • @devicetest7746
    @devicetest7746 4 года назад

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

  • @rezadewantara5935
    @rezadewantara5935 5 лет назад

    AI series please