Simple Firmware Reverse Engineering

Поделиться
HTML-код
  • Опубликовано: 20 окт 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.

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

  • @0xDigby
    @0xDigby 5 лет назад +16

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

  • @petrasoftresearch1301
    @petrasoftresearch1301 2 месяца назад +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.

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

  • @rlee431
    @rlee431 4 года назад +2

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

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

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

    Classic things that I always love, welcome to IoT security

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

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

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

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

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

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

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

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

  • @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 4 года назад +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."

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

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

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

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

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

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

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

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

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

  • @umairgillani699
    @umairgillani699 8 месяцев назад

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

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

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

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

    From the UK 🇬🇧. Thank you

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

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

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

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

    That was brilliant! Jake from UK 🇬🇧

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

      You spelled State Farm wrong. 😉

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

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

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

    Great intro into RE

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

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

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

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

    Can't wait for the UART video

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

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

  • @pavelsapehin4308
    @pavelsapehin4308 4 года назад +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

  • @0xbitbybit
    @0xbitbybit 11 месяцев назад

    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 🤔

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

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

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

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

    This was awesome! Thanks

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

    Very informative. Thanks man.

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

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

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

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

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

    Can’t give this video enough thumbs 👍👍👍

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

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

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

  • @nivedhm442
    @nivedhm442 11 месяцев назад

    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

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

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

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

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

    Very informative video , Thank you !

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

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

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

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

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

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

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

    This is a terrific video.

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

    This was fascinating

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

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

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

    How to re-compress it after changing?

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

    This is amazing. More!!!

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

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

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

    I got a question how did you learn this ?

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

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

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

    WOW! Using DD? Impressive.

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

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

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

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

    Good stuff! 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.

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

    I want know how to decompress zlib bin file?

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

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

    Would this also work with reverse engineering Nvidia vBIOS?!

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

    any videos on reverse engineering intel 8051 binaries?

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

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

    How to re bundle it to binary

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

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

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

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

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

    Please! More reverse engineering!!!

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

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

    Took me one second to subscribe👌👍

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

    this is wizzard level shit right here.

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

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

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

    Awesome ! :)

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

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

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

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

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

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

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

    thank you but how compressed files after editing ?

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

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

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

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

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

    AI series please

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

    do on jffs2

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

    Plant 20 million trees #teamtrees

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

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