HackadayU: Reverse Engineering with Ghidra Class 1

Sdílet
Vložit
  • čas přidán 28. 07. 2024
  • This is Class 1 in Reverse Engineering with Ghidra taught by Matthew Alt.
    Learn with us: www.hackaday.io/u
    Playlist for the Reverse Engineering with Ghidra series:
    • HackadayU: Reverse Eng...
    0:00 - Presentation Outline
    2:54 - What is Software Reverse Engineering?
    4:12 - Software Engineering Review
    24:54 - x86_64 Architecture Review
    45:10 - Ghidra Overview and Basic Usage
  • Věda a technologie

Komentáře • 81

  • @hackaday
    @hackaday  Před 4 lety +32

    Hi everyone! I hope that you enjoy the content we put together for these videos.
    If you have questions, feel free to reach out to the Instructor on twitter twitter.com/wrongbaud.
    All of the course details can be found here: hackaday.io/project/172292-introduction-to-reverse-engineering-with-ghidra

  • @FrostByte990
    @FrostByte990 Před 3 měsíci +3

    It's upsetting how clear and concise this lesson is compared to my past training. Amazing series so far!

  • @billjon2732
    @billjon2732 Před 3 lety +11

    A lot of stuff I didn’t know so thanks for the review of everything before diving in 👌

  • @redpillcommando
    @redpillcommando Před 4 lety +6

    I love this and I want to see more on this subject. Thank you.

  • @paullee107
    @paullee107 Před 2 lety +1

    Awesome awesome awesome - this is exactly what I was looking for, in hackaday form. Thanks so kindly!

  • @StreetHockey666
    @StreetHockey666 Před 2 lety +1

    Absolutely wonderful content. Thank you so much!

  • @jeffmoye
    @jeffmoye Před 3 lety +27

    35:34 push and pop. If the stack grows down (towards lower and lower memory locations as in your animation, which is correct for the x86 architectures), then PUSHing will DECREASE the stack pointer. POPing will INCREASE the pointer.

    • @matthewa3454
      @matthewa3454 Před 3 lety +4

      Good catch! Thank you for pointing that out

  • @OxTongue0
    @OxTongue0 Před 2 lety

    Very well made content and I thoroughly enjoyed the talk and learned something new

  • @Swangorapofficial
    @Swangorapofficial Před 11 měsíci +6

    This video cured my depression and cancer. Thanks 🙏

  • @Tyler-jd3ex
    @Tyler-jd3ex Před 2 lety +4

    When I saw there was all the episodes, I was so happy. I love that there’s so many people interested in this stuff to where there’s PLENTY enough for any person who wants to learn, yet it’s not like even coding is an extremely popular hobby/interest/career among all people

    • @ant-mf6kl
      @ant-mf6kl Před rokem +2

      Honestly it seems like finding materials on rev engineering specifically is a lot harder than most other tech topics. Might just have to cave and read that one 1000 page book to hopefully gain a decent understanding

    • @Tyler-jd3ex
      @Tyler-jd3ex Před rokem +1

      @@ant-mf6kl Yeah seriously! Especially when it comes to specific examples, it is absolutely (nearly) impossible to find a good resource

    • @ant-mf6kl
      @ant-mf6kl Před rokem +1

      @@Tyler-jd3ex true which is really odd considering it's a vast and fun field. You pretty much have to research it all by yourself with blood and sweat if you have a specific aim in mind.
      I guess the fact that it's quite easy to get into illegal territories plays a part in how hard finding good material is which is a shame...

    • @Tyler-jd3ex
      @Tyler-jd3ex Před rokem

      @@ant-mf6kl It’s such a niche area. Out of 100 people you won’t find coders really. Out of 100 people it’s likely none of them know assembly… and then even of people who do know it, only so many of them make videos or help others. It’s so difficult! I often just wish I knew somebody who could show me stuff that can be taught quickly but is so hard to figure out yourself. Well if you ever need help I suppose you can try to ask me! 😂

  • @Ninja5433
    @Ninja5433 Před 4 lety +7

    Addicted to learning

  • @cjk568
    @cjk568 Před 2 lety

    very well taught! thank you.

  • @Aeviu
    @Aeviu Před 2 lety

    Thanks for the free content!

  • @abandonedmuse
    @abandonedmuse Před 3 lety +10

    Amazing class. I think I have seen assembly code taught a million times but I FINALLY UNDERSTAND IT PERFECTLY! Wow. Quick question and this may be out of the scope pf your class but I was working on my own files and I have a ton of instructions on my machine considered RAW and it says unknown and the instructions give errors with ?? Question marks. Any idea what this means? Thanks again!

  • @nooraalhosani7516
    @nooraalhosani7516 Před 2 lety

    thanks, that was really helpful

  • @superuser8636
    @superuser8636 Před 3 lety

    Great video

  • @ryusaki6902
    @ryusaki6902 Před 4 lety +26

    Thanks for the content, i'm learning a lot! Any chance we get into PE reversing at some point of this course?

  • @mikebest6670
    @mikebest6670 Před 6 měsíci

    very interesting thanks for. the lesson good. advice

  • @julias-shed
    @julias-shed Před 2 měsíci

    Very clear excellent 😀

  • @kfp87
    @kfp87 Před 4 lety +3

    Great content! New sub, all bells here Cheer

  • @noureldinehab2686
    @noureldinehab2686 Před 3 lety +4

    thanks for your effort and time you are awesome (ps: audio quality can be improved even if you are not gonna buy a new microphone)❤❤❤

  • @user-lb8jd3tc5q
    @user-lb8jd3tc5q Před 10 měsíci

    awesomeeee

  • @allancoe123456
    @allancoe123456 Před 3 lety +2

    Great content, greats .) maybe do more in dep on links for they are very important :)

  • @ijazahmer
    @ijazahmer Před 3 lety

    Can this trick will work with wilcome e4. 5 embroidery software for cracking

  • @infohacking
    @infohacking Před 4 lety +5

    Love your video!😊 i have a question.. currently i am learning some bufferoverflow concepts and using radare2 ...i hear lot about ghidra too should i switch?

    • @redpillcommando
      @redpillcommando Před 4 lety +1

      I'm just getting started myself, but I would hands down tell you to load ghidra. You will be glad you did.

    • @rpavlik1
      @rpavlik1 Před 4 lety +1

      Ghidra is much more intuitive, at least if you aren't already fast at re2. Worth trying, at least, since they're both open source.

    • @evannibbe9375
      @evannibbe9375 Před 3 lety

      Ghidra was developed by the NSA to overcome the limitations present in every other program available for reverse engineering, and limit the number of tools you need to have open at once to do it to 1.

  • @rpchost
    @rpchost Před rokem

    Hello; I am not able to find the main function in Symbol tree, what I should do in such case.

  • @DrWho2008t101
    @DrWho2008t101 Před 3 lety

    thanks

  • @janlab2433
    @janlab2433 Před rokem

    I am having an import error while adding a elf file with language xtensa pls help to override it

  • @mallninja9805
    @mallninja9805 Před rokem

    Starting from the slide @37:20 to about @40:00 were you using RIP & EIP interchangeably?
    When you say "mov" - is the value actually _moved_ as in the source register is cleared? Or is the value copied? For example after the instruction mov rax, rbx - what is in rbx?
    Similar question for popping values off the stack - Does that just increments the stack pointer, and whatever values were in that memory will continue to be in that memory until the stack pointer is decremented again & new values get written?

    • @nikos4677
      @nikos4677 Před rokem

      mov copies the value. So pop register does 2 things. In x86 It looks like
      mov register, [esp] and then add esp, 4. So mov copies the value. So it remains the same

  • @noureldinehab2686
    @noureldinehab2686 Před 3 lety +2

    ❤❤❤❤

  • @welshworrier
    @welshworrier Před 2 měsíci

    Nice video, one comment - the code in the example at 42 minutes is in error. Due to the lack of ret after the mov rax, 0x02 it will run onto the mov rax, 0x01.
    I e. No matter if the result of the comparison is true or false you will still end up with 0x01 in rax.

  • @BeautyofourLife
    @BeautyofourLife Před 3 lety

    awsm content dear keep it up LOVE FROM BHAARAT (INDIA)

  • @billschauer2240
    @billschauer2240 Před 3 lety +4

    I have a 27" 1080p monitor but the examples are of such a small and thin font that I often can not read them even in full screen mode. Not being able to read the examples reduces the value of the video.

  • @JustSomeAussie1
    @JustSomeAussie1 Před 3 lety +35

    why is the face cam so large? It's hard to see the content on the screen :(

    • @user-xw4od8kb7y
      @user-xw4od8kb7y Před 3 lety +7

      I didnt even notice him before u said it ZLOOL

    • @moon911x
      @moon911x Před rokem

      😂😁

    • @SkegAudio
      @SkegAudio Před rokem

      Bruh, I have seen this video so many times and I never noticed bro had a face cam

    • @_Cfocus
      @_Cfocus Před 11 měsíci

      😂😂😂😂

  • @Al-Musalmiin
    @Al-Musalmiin Před rokem +1

    is it required to know C/C++ before i use Ghidra? or can i learn SRE without any coding knowledge? what are your recommendations?

    • @anntakamaki1960
      @anntakamaki1960 Před 10 měsíci +1

      Yes, it’s required to learn C programming for Ghidra. Learning assembly and CPU architecture is required too, if you want to use debugger.

  • @rajsanmihir
    @rajsanmihir Před rokem

    Hi I am unable to open the website, please update the website, Thanks

  • @udgrafdes
    @udgrafdes Před 3 lety +2

    Really stupid request, but can you post the video for the office hours on youtube? I'm having a lot of trouble with twitch for whatever reason.

    • @hackaday
      @hackaday  Před 3 lety

      Hello! We don't have a video for office hours, it is live only.

    • @udgrafdes
      @udgrafdes Před 3 lety

      @@hackaday :(

  • @BobbyBattista
    @BobbyBattista Před rokem

    I'm getting error "zsh: exec format error: ./c1" and a quick google led me to some posts suggesting that it's an issue with Apple M1 processors. Is there a workaround? Or an alternate set of exercise files to download?

  • @AhmedKhaled-zf7cj
    @AhmedKhaled-zf7cj Před 3 lety +3

    can you tell me the entire roadmap for learning RE?

    • @TalsonHacks
      @TalsonHacks Před 2 lety +5

      Learn the following:
      1- Executable files format (PE & ELF)
      2- C/C++ Programming
      3- Assembly Programming
      4- Debugging tools like GDB and WinDBG
      5-Debuggers and decompilers like IDA and Ghidra
      6- Do reversing CTFs and challenges, crackmes, etc.
      Good luck

  • @oahts5906
    @oahts5906 Před rokem

    I might be mistaken…but isn’t C more of a ‘low level’ language, and a high level language would be something more like python or even js ?

    • @rkakkar007
      @rkakkar007 Před rokem

      from an application development perspective - yes
      from a systems-level perspective - probably no

    • @mallninja9805
      @mallninja9805 Před rokem

      For most of its life C has been considered a high-level language because it abstracts away the hardware details. The language is machine-independent, you don't have to directly manipulate registers or manage the stack, etc.
      In recent years people have taken to thinking of C as "low-level" because you *do* have to do more hands-on memory management than with something like Java, and you *can* still get into the guts of the machine if you so choose. But I think "official" definitions (if there are such things) still classify C as a high level language.

  • @idanbanani7703
    @idanbanani7703 Před 4 lety +4

    Annoying "sound effects" :) , superb content. Thank you!

  • @warmflatsprite
    @warmflatsprite Před rokem

    Fun Zelda series fact - Nintendo took kind of an easy out when deciding how to canonize all of the entries in The Legend of Zelda series. They named Link the Hero of Time, and consider the link in each game to be a reincarnation of said Hero of Time. So the most you can say is that he's Hyrulian, as his race changes throughout the series.

  • @Hexalyse
    @Hexalyse Před 4 lety +4

    The teaching is awesome, but you should consider getting a better microphone (like a large condenser microphone, and not one from a headset... they're never good) and/or not compressing audio that much because it's lacking some frequencies and have lots of hissing, so I have to listen to it pretty loud to be able to understand, which makes it a bit unpleasant to the ears.

  • @ECEPrashant
    @ECEPrashant Před 3 lety

    34:40

  • @AmineOnline
    @AmineOnline Před 3 lety +3

    I passed the whole month to understand this video can you give me a cookie for my hard work :D.

  • @egemor
    @egemor Před 10 měsíci +27

    You should make your face-cam smaller, covering the content of the video 😡

  • @dlink367
    @dlink367 Před 6 měsíci

    Hey am new here

    • @dommafia
      @dommafia Před dnem

      Me too, 6 months later 😅

  • @geocine
    @geocine Před 2 lety +1

    Action starts at 56:29

  • @dylanmatthews7431
    @dylanmatthews7431 Před 3 lety

    I have a question for you when it comes to wanting to crack a game. Do you personally know if there is anyone talented enough in the scene to reverse engineer the game Path of Exile? People say it's one of the worst targets they've ever attempted, with a bunch of abstraction layers and you get perma banned if you even look too long. It's a live server client and the game is free, but people want to make their own private server out of it to be able to play the content the way they want, in a non-profit fashion obviously. Any ideas on how you would go about bypassing the drm on this live service client and getting the source code for people to make their own private server out of it?

  • @luvpodcast9763
    @luvpodcast9763 Před 3 lety +1

    I want to learn hacking and reverse engineering .my skills computer tech engineer and with skills html, CSS js only. . please guide me ..I'm from India