HackadayU: Reverse Engineering with Ghidra Class 1

Ғылым және технология

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

Пікірлер: 80

  • @hackaday
    @hackaday3 жыл бұрын

    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

  • @Best-um3eq

    @Best-um3eq

    2 жыл бұрын

    Motherf get a good Mike.

  • @FrostByte990
    @FrostByte9902 ай бұрын

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

  • @billjon2732
    @billjon27323 жыл бұрын

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

  • @redpillcommando
    @redpillcommando3 жыл бұрын

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

  • @paullee107
    @paullee1072 жыл бұрын

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

  • @jeffmoye
    @jeffmoye3 жыл бұрын

    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

    3 жыл бұрын

    Good catch! Thank you for pointing that out

  • @Swangorapofficial
    @Swangorapofficial9 ай бұрын

    This video cured my depression and cancer. Thanks 🙏

  • @StreetHockey666
    @StreetHockey6662 жыл бұрын

    Absolutely wonderful content. Thank you so much!

  • @OxTongue0
    @OxTongue02 жыл бұрын

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

  • @Tyler-jd3ex
    @Tyler-jd3ex Жыл бұрын

    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

    Жыл бұрын

    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

    Жыл бұрын

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

    Жыл бұрын

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

    Жыл бұрын

    @@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
    @Ninja54333 жыл бұрын

    Addicted to learning

  • @abandonedmuse
    @abandonedmuse3 жыл бұрын

    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!

  • @cjk568
    @cjk5682 жыл бұрын

    very well taught! thank you.

  • @Aeviu
    @Aeviu2 жыл бұрын

    Thanks for the free content!

  • @ryusaki6902
    @ryusaki69023 жыл бұрын

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

  • @nooraalhosani7516
    @nooraalhosani75162 жыл бұрын

    thanks, that was really helpful

  • @mikebest6670
    @mikebest66705 ай бұрын

    very interesting thanks for. the lesson good. advice

  • @superuser8636
    @superuser86363 жыл бұрын

    Great video

  • @julias-shed
    @julias-shedАй бұрын

    Very clear excellent 😀

  • @infohacking
    @infohacking3 жыл бұрын

    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

    3 жыл бұрын

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

  • @rpavlik1

    @rpavlik1

    3 жыл бұрын

    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

    3 жыл бұрын

    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.

  • @JustSomeAussie1
    @JustSomeAussie13 жыл бұрын

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

  • @user-xw4od8kb7y

    @user-xw4od8kb7y

    3 жыл бұрын

    I didnt even notice him before u said it ZLOOL

  • @moon911x

    @moon911x

    Жыл бұрын

    😂😁

  • @SkegAudio

    @SkegAudio

    Жыл бұрын

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

  • @_Cfocus

    @_Cfocus

    9 ай бұрын

    😂😂😂😂

  • @kfp87
    @kfp873 жыл бұрын

    Great content! New sub, all bells here Cheer

  • @DrWho2008t101
    @DrWho2008t1012 жыл бұрын

    thanks

  • @mallninja9805
    @mallninja9805 Жыл бұрын

    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

    11 ай бұрын

    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

  • @rpchost
    @rpchost Жыл бұрын

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

  • @welshworrier
    @welshworrier26 күн бұрын

    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.

  • @ijazahmer
    @ijazahmer2 жыл бұрын

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

  • @billschauer2240
    @billschauer22403 жыл бұрын

    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.

  • @user-lb8jd3tc5q
    @user-lb8jd3tc5q9 ай бұрын

    awesomeeee

  • @janlab2433
    @janlab2433 Жыл бұрын

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

  • @noureldinehab2686
    @noureldinehab26863 жыл бұрын

    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)❤❤❤

  • @Al-Musalmiin
    @Al-Musalmiin Жыл бұрын

    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

    8 ай бұрын

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

  • @noureldinehab2686
    @noureldinehab26863 жыл бұрын

    ❤❤❤❤

  • @allancoe123456
    @allancoe1234563 жыл бұрын

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

  • @udgrafdes
    @udgrafdes3 жыл бұрын

    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

    3 жыл бұрын

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

  • @udgrafdes

    @udgrafdes

    3 жыл бұрын

    @@hackaday :(

  • @BeautyofourLife
    @BeautyofourLife3 жыл бұрын

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

  • @BobbyBattista
    @BobbyBattista Жыл бұрын

    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?

  • @pierre-huguesaubertin1654

    @pierre-huguesaubertin1654

    Жыл бұрын

    M1 are ARM processor... i suggest you to have vm to emulate x64 instructions set.

  • @rajsanmihir
    @rajsanmihir Жыл бұрын

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

  • @oahts5906
    @oahts5906 Жыл бұрын

    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

    Жыл бұрын

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

  • @mallninja9805

    @mallninja9805

    Жыл бұрын

    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.

  • @AhmedKhaled-zf7cj
    @AhmedKhaled-zf7cj3 жыл бұрын

    can you tell me the entire roadmap for learning RE?

  • @TalsonHacks

    @TalsonHacks

    2 жыл бұрын

    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

  • @Hexalyse
    @Hexalyse3 жыл бұрын

    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.

  • @warmflatsprite
    @warmflatsprite Жыл бұрын

    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.

  • @idanbanani7703
    @idanbanani77033 жыл бұрын

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

  • @egemor
    @egemor8 ай бұрын

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

  • @captainkarma7374

    @captainkarma7374

    7 ай бұрын

    Is this sarcasm?

  • @Cooliofamily

    @Cooliofamily

    7 ай бұрын

    It’s honestly really distracting from the content :/

  • @_XoR_

    @_XoR_

    6 ай бұрын

    Ikr, I can't see anything..

  • @EliteBuildingCompany

    @EliteBuildingCompany

    5 ай бұрын

    @@captainkarma7374 Are you American?

  • @captainkarma7374

    @captainkarma7374

    5 ай бұрын

    ​@@EliteBuildingCompany no but my english isnt the best

  • @ECEPrashant
    @ECEPrashant2 жыл бұрын

    34:40

  • @dlink367
    @dlink3675 ай бұрын

    Hey am new here

  • @AmineOnline
    @AmineOnline3 жыл бұрын

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

  • @whatami2437

    @whatami2437

    3 жыл бұрын

    grab some from your browser!

  • @geocine
    @geocine2 жыл бұрын

    Action starts at 56:29

  • @dylanmatthews7431
    @dylanmatthews74312 жыл бұрын

    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
    @luvpodcast97633 жыл бұрын

    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

Келесі