Google CTF - BEGINNER Reverse Engineering w/ ANGR

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ส.ค. 2020
  • Hang with our community on Discord! johnhammond.org/discord
    If you would like to support me, please like, comment & subscribe, and check me out on Patreon: / johnhammond010
    E-mail: johnhammond010@gmail.com
    PayPal: paypal.me/johnhammond010
    GitHub: github.com/JohnHammond
    Site: www.johnhammond.org
    Twitter: / _johnhammond

ความคิดเห็น • 222

  • @letsgocamping88
    @letsgocamping88 3 ปีที่แล้ว +607

    Often the best way for the student to learn is when the teacher is learning too.

    • @gaganpoojary8135
      @gaganpoojary8135 3 ปีที่แล้ว +1

      Well Said

    • @thengakola6217
      @thengakola6217 3 ปีที่แล้ว +2

      true....

    • @osxgamer7745
      @osxgamer7745 3 ปีที่แล้ว +7

      i agree, also thanks to Mr.John, the way he describe things is attractive ( if that the word ) and i like it.

    • @AnalogDude_
      @AnalogDude_ 3 ปีที่แล้ว

      i agree

    • @enos5192
      @enos5192 3 ปีที่แล้ว

      Absolutely riwt

  • @CryptoKrill
    @CryptoKrill 3 ปีที่แล้ว +40

    Most youtubers within the first 30 seconds of their videos = begging for likes and subs, John being genuine and honest "I couldn't do it and I had to look at the write up". I seriously appreciate people like you who are open and despite the fact that you've been doing this for 5+ years you are still learning and encouraging people to keep going by doing so. I realise this is an old video but I hope you know it still has a positive impact on people who are looking to get into this and start their journey into the complex world of security.

  • @gaganpoojary8135
    @gaganpoojary8135 3 ปีที่แล้ว +136

    John Hammond,TheCyberMentor,Hackersploit,ippsec.
    Beginner community is in love with u guys❤️

  • @DevLPful
    @DevLPful 3 ปีที่แล้ว +34

    This is way better than reading a writeup

  • @harmtech3502
    @harmtech3502 3 ปีที่แล้ว +33

    DUDE JUST KEEEEEEP GOING ! best cybersec channel seriously, freaking love watching you do a CTF, i personally learned a lot from you, thanks a lot !

    • @stackspace
      @stackspace 3 ปีที่แล้ว +4

      What an amazingly kind and positive comment. I’m not even John, but thank you for posting this!

  • @mossdem
    @mossdem 3 ปีที่แล้ว +19

    Recent subscriber but I wanted to just compliment you on how well you talk us through your videos and what it is you're actually up to! As a beginner, in almost every possible avenue, understanding is quite difficult sometimes without going away and doing my own research. Sometimes a 10 minute video turns into an hour with me trying to understand things. However, I came across your channel recently and wow. The way you break it down makes it so simple, so I don't necessarily need to understand all the syntax when you explain what its doing so well! Just a little thank you from you to me, you're definitely aiding my learning and re-motivating me to believe I can actually do this lol

  • @jonharper5919
    @jonharper5919 2 ปีที่แล้ว +1

    "Solved this with anger" probably describes most debugging/reverse engineering successes

  • @JackofTradeApps
    @JackofTradeApps 3 ปีที่แล้ว +2

    I appreciate your transparency John! Everyone in this space is awkwardly trying to learn. Its nice to see that everyone doesn't just start at knowing it all. Practice still makes perfect.

  • @Nunn_the_wiser
    @Nunn_the_wiser 3 ปีที่แล้ว +5

    This is awesome John. Loving seeing the learning process, that in itself is so helpful.

  • @PalCan
    @PalCan 2 ปีที่แล้ว +2

    Also I love your wrap up summaries that summarize everything and just hammer the whole thing home. Thank you

  • @rickmedina6158
    @rickmedina6158 3 ปีที่แล้ว +1

    im really enjoying this. keep it coming John! I have been watching and learning from you since your powershell series updates and the originals you first put out. 👊

  • @ghost_cipher
    @ghost_cipher 3 ปีที่แล้ว +3

    Thank you for all the work you do and uploading this AWESOME content!!

  • @user-so3eg1rw8l
    @user-so3eg1rw8l 3 ปีที่แล้ว +13

    It feels like you underestimate the experience we go through while watching this:) It was cool, thanks for the video!

  • @sibyskaria6694
    @sibyskaria6694 3 ปีที่แล้ว

    Please keep making more videos love what you do and love to learn from you. Thank you so much John.

  • @devonchin94
    @devonchin94 2 ปีที่แล้ว +2

    Though this video is a little old now, I want to highlight that seeing and understanding your learning *PROCESS* is just as valuable, if not more so, than learning directly from you like usual. Though, while still very important, understanding how someone may undergo their learning process differently from you can be extremely beneficial! Great stuff as always John, cheers!

  • @robertisaiah7673
    @robertisaiah7673 3 ปีที่แล้ว +10

    So educative.He makes hard things look easy. Your awesome John

  • @toplist2613
    @toplist2613 3 ปีที่แล้ว +123

    John I actually find watching you work through a problem you don’t know very very helpful. As a beginner It gives me an example of how to teach myself...? Does this make sense? Any way thank you my guy!

    • @mirroredname3389
      @mirroredname3389 3 ปีที่แล้ว +3

      I like how i can use bits i dont understand to develop other parts of my life. Abstract but calming and sometimes effective. Always begin.

    • @mirroredname3389
      @mirroredname3389 3 ปีที่แล้ว

      I mean even the basic concept of ANGR or Normal anger in real real life and basically running anger scenario and imagined results, effects and consequences of it. [address-failure or success] =x/x x2x but or No r- m:all
      It is just letting me do whatever this was.
      Talking at Top List even if he has asked No( )of it!
      Edit: I think it was correct to post even if it wrong at it. But philosophically I all ready know this, but still I add value to flag. I honor- it.
      -What i really meant to say was that I find it useful even if I will never write a Single code in my life.

  • @issussov
    @issussov 3 ปีที่แล้ว +1

    Love the step-by-step with thoughts and why!

  • @MentoMoriMinis
    @MentoMoriMinis 2 ปีที่แล้ว

    So I'm new. Like I've got some IT experience but only in the last year have I really started my cybersecurity learning. And in the last month started doing ANYTHING with CTFs. And as discouraging as it is for me having to look things up, you being transparent about it is just encouraging. Thank you.

  • @jongalloway4104
    @jongalloway4104 3 ปีที่แล้ว

    I love your videos!!! It helps me to understand better ways to think through things

  • @newgothwhosdis
    @newgothwhosdis 3 ปีที่แล้ว +42

    This man hanged out with liveoverflow during the google ctf..... You're so lucky :)

    • @ichigok2594
      @ichigok2594 3 ปีที่แล้ว +4

      gamerchunk1 yes. That challenge was badass :) overflow had to defuse a bomb 😇

    • @rabindra1337
      @rabindra1337 3 ปีที่แล้ว +11

      Or the opposite Liveoverflow being lucky.

    • @smellymomo
      @smellymomo 3 ปีที่แล้ว +7

      @@rabindra1337 I think Liveoverflow knows more stuff. Not saying that is a bad tging or anything

  • @anonymousguy121277
    @anonymousguy121277 2 ปีที่แล้ว +1

    As a newbie to cyber security and Ctfs, I really enjoyed this video. Thanks John!

  • @Thebloggermustdie
    @Thebloggermustdie 3 ปีที่แล้ว +7

    I like you showing the actual magic behind the curtains. please do more of these they are very benefial

  • @th3g3ntl3man6
    @th3g3ntl3man6 3 ปีที่แล้ว

    Hey John, thank you so much, this is really informative and helpful. I like all your videos, and I learn alot from you.

  • @PB-eg2je
    @PB-eg2je 3 ปีที่แล้ว

    You make great videos. I hope you never stop making them.

  • @PalCan
    @PalCan 2 ปีที่แล้ว

    This is so helpful John. I appreciate you very much my man. Keep it up

  • @crypx4506
    @crypx4506 2 ปีที่แล้ว

    That’s a nice video, interesting to see something challenging while learning. Good job at presenting!

  • @sirw369
    @sirw369 3 ปีที่แล้ว

    Thanks for sharing angr with us! Very insightful.

  • @t_goldberger
    @t_goldberger 2 ปีที่แล้ว

    You learning on the go, is far from boring - I work now almost 12 years in the field (not ethical Hacking or the sort) however, it is good to see and learn from other how to navigate and lern. I try to get my feet wet with CTF's - Ethical Hacking - Pen-Testing and your videos are so motivating, you boil it down to the essence, never stop learning never stop poking and get your hands dirty! Learn from others and especially from your own mistakes!!! Love the content you put out there! It's so valuable!!!

  • @Mr.Crrtss
    @Mr.Crrtss ปีที่แล้ว

    Thanks, I am learning something new each video...

  • @Hotmustardgas20
    @Hotmustardgas20 3 ปีที่แล้ว +1

    This was very helpful. I need to learn more about reverse engineering myself

  • @MrDexter049
    @MrDexter049 3 ปีที่แล้ว

    I love to watch u trying new methods to achieve the goal.

  • @murrij
    @murrij 3 ปีที่แล้ว

    So rad. Dude you're awesome. Thanks for learning like most of us do and being brave enough to do do it on camera.
    Using angr in anger.

  • @Hythlodaeus69
    @Hythlodaeus69 2 ปีที่แล้ว +2

    These videos are so great. Knowing how to code would probably make them even better 😂

  • @gaurav1565
    @gaurav1565 3 ปีที่แล้ว

    Love this I hope you keep putting the Google ctf solutions out.

  • @tourpran
    @tourpran 3 ปีที่แล้ว +1

    As you said the best way to learn things are to learn from writeups. awesome channel this is.

  • @bretthaupt1019
    @bretthaupt1019 3 ปีที่แล้ว +4

    I think that having you walk though the learning experience is sometimes more beneficial than just a simple guide/walkthrough. It is definitely more in line with how things play out in reality; research and digging into documentation you are no familiar with.

  • @humanflybzzz4568
    @humanflybzzz4568 3 ปีที่แล้ว

    Gotta love the honesty. A lot of this low level binex stuff can shatter your self esteem when all you see is just the wins everywhere. It's good to see someone showing the learning process too

  • @GregL2
    @GregL2 3 ปีที่แล้ว

    Liked it.
    Thanks for showcasing this one. It was the problem I spent most time on and couldn't beat it. This technique will go away in the vault for next time.

  • @abhinavkishoregv273
    @abhinavkishoregv273 3 ปีที่แล้ว

    wowww!!!!!! bro .. I really learnt a lot with you in this video. you are amazingggg mannn

  • @lucha6262
    @lucha6262 3 ปีที่แล้ว

    This was super clear! Thanks so much!

  • @sylvesterrac3792
    @sylvesterrac3792 3 ปีที่แล้ว +1

    Thank you for the videos. You're an excellent teacher. I'm learning so much from you. I agree the way angr found the solution so quickly is some "dark magic". I'm also wondering what practical use cases such a tool might have.

  • @KeithGriffiths
    @KeithGriffiths 2 ปีที่แล้ว

    John, your walkthroughs are really good. 🧐

  • @arnabdas6528
    @arnabdas6528 3 ปีที่แล้ว +9

    just got this video recommended, read the name of the channel and thought for almost 10 minutes that if the creator of jurassic park is still alive and has opened a yt channel

  • @daleryanaldover6545
    @daleryanaldover6545 2 ปีที่แล้ว +1

    When you said, "Most of em solve this with Angr". I felt that

  • @first-thoughtgiver-of-will2456
    @first-thoughtgiver-of-will2456 ปีที่แล้ว

    Thanks! I'm a seasoned dev and never used ltrace thanks I learned something!

  • @garcand
    @garcand 3 ปีที่แล้ว

    Blessings to you John

  • @hdclips501
    @hdclips501 3 ปีที่แล้ว

    its really best to learn it this way thanks for this

  • @SV_Sangha
    @SV_Sangha 3 ปีที่แล้ว

    Wow...! I'm returning to programming after... uhm.... forever being away. This is really cool and helpful to look at what is available for tools, how to use and how to sleuth... impressive!

  • @website8362
    @website8362 3 ปีที่แล้ว

    Great video as always 👍

  • @professortokyo2516
    @professortokyo2516 3 ปีที่แล้ว

    loved it! premium stuff! thanks a lot!

  • @mastex5575
    @mastex5575 3 ปีที่แล้ว

    Hi John, i'm searching for a guide of what to use when regarding the sysinternals suite. Thanks for all your work you put in this and beeing a guidepost for the community.

  • @danieldaszkiewicz7313
    @danieldaszkiewicz7313 3 ปีที่แล้ว

    Great video, angr looks really cool!

  • @aurinator
    @aurinator 3 ปีที่แล้ว +1

    I'm reminded of SoftICE with this back in the day, and thank you for going through the process of obtaining the key - which was arguably the point - but, to save time in practice, I would have just changed the instruction from a JE (Jump Equal), to a JNE (Jump Not Equal), bypassing that branch entirely for every value but the originally-intended one, although that's admittedly not the point, and the process for obtaining the key is extremely informative, so thank you for putting it together. Brute-forcing is of course another approach too.

    • @tommasochiti4237
      @tommasochiti4237 3 ปีที่แล้ว +1

      Thought the same thing, but then I realized they wanted you to know the key and not just skip that block of code ehehe.

  • @andyh3970
    @andyh3970 2 ปีที่แล้ว

    Shoot from the hip my friend. It’s much more encouraging for beginners than breezily solving it with an air of feigned competence 😎

  • @alvarodenisacostaquesada8820
    @alvarodenisacostaquesada8820 3 ปีที่แล้ว

    Great video, great value :)

  • @saikiranlingadally1036
    @saikiranlingadally1036 3 ปีที่แล้ว

    Always inspiring 🔥

  • @P-G-77
    @P-G-77 ปีที่แล้ว

    Juicy work done...

  • @shiiswii4136
    @shiiswii4136 ปีที่แล้ว

    ur a beast i love these videos

  • @TheFern2
    @TheFern2 2 ปีที่แล้ว

    Man idgaf if you're reading a writeup you still managed to make the video interesting and we all learned together. I like that you didn't copy and paste. Is a better experience imo than only one of us learning lol. Keep up the good work!

  • @MrJCollector
    @MrJCollector 3 ปีที่แล้ว

    Really love how these google CTFs writeups are going. It is one thing to watch the videos where the answer is given straight forward but it's another seeing the thought process of John and really going through the steps that i will go through during a CTF and hitting road blocks! Really enjoyed it!

  • @vanshajrai6089
    @vanshajrai6089 2 ปีที่แล้ว

    This was fun! Thank you :)

  • @Beersandsmokes
    @Beersandsmokes 3 ปีที่แล้ว

    This was very helpful!

  • @thedonsky5092
    @thedonsky5092 3 ปีที่แล้ว

    So above my head

  • @krzysztof-ws9og
    @krzysztof-ws9og 3 ปีที่แล้ว +6

    That is the only challange that I have ever solved, both during competition and after it
    And personally did it entirely by hand after checking what THREE assembly instructions which ghidra is decompiling as that mess are doing
    At least I have learned that x86_64 architecture has some 128 bit registers :D

    • @erickt2665
      @erickt2665 3 ปีที่แล้ว +1

      As a pretty new beginner, this seems a bit tough to solve on my own. Guess I need to familiarize myself better. Good job by the way!

  • @davyrogersuk
    @davyrogersuk 3 ปีที่แล้ว

    Loved this.

  • @puppe1977
    @puppe1977 3 ปีที่แล้ว +1

    From the documentation: factory - "It is not a factory in the java sense, it is merely a home for all the functions that produce new instances of important angr classes and should be sitting on Project."

  • @asxentium
    @asxentium 3 ปีที่แล้ว

    Nice Video :) thanks

  • @PAUL-007
    @PAUL-007 3 ปีที่แล้ว +4

    I tried as my first challenge in googleCTF as it has least points hours later end up banging my head understanding complicated register play , later reading how people doing with angr automatically solving easily genius man and later more banging my head, i cant solve this 50pts.

  • @dannylee9639
    @dannylee9639 3 ปีที่แล้ว +2

    I don’t know anything you did - but I loved it. Thank you -

  • @AdamTheGuitarist
    @AdamTheGuitarist 3 ปีที่แล้ว +12

    "good, let that angr flow through you"

  • @SzaboB33
    @SzaboB33 11 หลายเดือนก่อน +1

    - they are trying to solve it with anger.
    me: ohh, im familiar with that!
    - ANGR
    - ohh

  • @jason54953
    @jason54953 3 ปีที่แล้ว

    Great video. Thank you. When you said you will use angr I thought you meant anger. lol

  • @file4318
    @file4318 2 ปีที่แล้ว

    amazing!

  • @iansugg3496
    @iansugg3496 2 ปีที่แล้ว

    I'm learning from like 3 of the professors on Shellphish!

  • @Handskemager
    @Handskemager 2 ปีที่แล้ว

    POSIX is Portable Operating System Interface.
    Just in case anyone was wondering.

  • @robroy289
    @robroy289 2 ปีที่แล้ว

    As a complete, total noob, I'd like to hear you review what you might have done differently after getting a solution. What would you may e have done differently, was there a faster or easier path you could have taken? After the fact did you spot one or more hints or clues or indicators you didn't see until you had the complete picture? What might you have done differently? Please keep these coming!

  • @4lpina
    @4lpina 3 ปีที่แล้ว

    Great video man. You have plenty of skill yourself so don't need to worry that video will be boring :)

  • @micahweiss5832
    @micahweiss5832 2 ปีที่แล้ว

    Awesome!

  • @TRASH_Z403
    @TRASH_Z403 24 วันที่ผ่านมา

    3 years ago hmm good one ❤

  • @JoseAltagracia
    @JoseAltagracia 3 ปีที่แล้ว

    Nice video. Besides the learning opportunity, what's the benefit of using angr over a regular brute force script in this case?

  • @thefaker136
    @thefaker136 3 ปีที่แล้ว +1

    Liked it!

  • @tomerlev4087
    @tomerlev4087 3 ปีที่แล้ว

    more of that please

  • @kopuz.co.uk.
    @kopuz.co.uk. 3 ปีที่แล้ว

    Angr is pretty cool, i like the idea of binary r/e being done with ai.

  • @rbNNN2
    @rbNNN2 3 ปีที่แล้ว

    I have no Idea what is going on,but its awesome!

  • @justingreen6561
    @justingreen6561 ปีที่แล้ว

    "i found most people were solving this through anger"
    always been the standard process at this house. lol

  • @BrainFood155
    @BrainFood155 3 ปีที่แล้ว +2

    You can also create the whole flag string with `flag = claripy.BVS('flag', 8*FLAGLEN)` and you can add constraings with `state.add_constraints(f >= ord('!'))` etc...
    "unicorn", based on my research, is when you're running on the same architecture and OS as the binary. It's supposed to make the loading faster.
    I've just started playing around with angr with crackmes based on these writeups and I've found that it's really hit-or-miss. I can't get it to work with certain strategies. Sometimes an `.explore()` works and sometimes it fails but a `.run()` works which shouldn't be the case...
    I tried to do it in the "analyze" way where I tried to reverse the pshufb too.. That sucked. It's difficult for me to understand the ASM instructions especially when they're in the newer instruction sets

  • @aharonmo4188
    @aharonmo4188 2 ปีที่แล้ว

    Nice!

  • @ashutoshrohilla
    @ashutoshrohilla 3 ปีที่แล้ว

    Thanks for the video loved the way you explain things . I have a doubt , can't we just decode the string its comparing the input to?😅

  • @richardblackhound1246
    @richardblackhound1246 3 ปีที่แล้ว +5

    "Beginner Reverse Engineering" - Expert hacker himself wasn't able to solve it, lol. Yeah so what chance have we got?!

  • @piranimex4595
    @piranimex4595 3 ปีที่แล้ว

    I love reverse enginering videos

  • @osxgamer7745
    @osxgamer7745 3 ปีที่แล้ว +14

    37:53 i love it, no shame when learning, otherwise we would be cave pepole.

  • @chuckwoolson9339
    @chuckwoolson9339 3 ปีที่แล้ว +2

    Love this. Just so you know , you're pronouncing it Claripy, but it's actually pronounced Claripy. 🤪

  • @blackjack4494
    @blackjack4494 3 ปีที่แล้ว +1

    I haven't read what they want. But I would have simply changed the jump address to the Success one. Just like when you crack a program to skip activation (checks).

  • @AsmodeusMictian
    @AsmodeusMictian 3 ปีที่แล้ว

    See, and I had always been told not to use my anger to solve problems. If only they knew, right? :D
    Thanks for the vid! :)

  • @PeterVanHertum
    @PeterVanHertum 3 ปีที่แล้ว +1

    when I'm researching some techniques in coding, I just use a lot of print()'s and just try and see what it gives, like every couple of new lines and ideas, like when you're trying to explain us what it is putting in "flag" and "flag_chars". Why not just print it ? Then we will directly see what it looks like. I can't grasp why people want to write the whole program first and only see results at the very end.

  • @JusKalen
    @JusKalen 8 หลายเดือนก่อน

    You have your own ads before the video starts I’ve never seen that

  • @ySomic
    @ySomic 2 ปีที่แล้ว

    I would love to see that .NET one, as a .NET dev

  • @simplegametutorials1341
    @simplegametutorials1341 3 ปีที่แล้ว

    you can use GDB to find the Flag:
    TH-cam(angr Tutorials EP1 - Reverse Engineering 101)

  • @blendedcookie
    @blendedcookie ปีที่แล้ว

    Ending song: Fearless by Lost Sky Because I recognized it but could figure out what it was and it was bugging me lol