I Reverse Engineered this Program Automatically.

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

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

  • @afra1d828
    @afra1d828 9 месяцев назад +165

    nice

  • @mouradlaraba
    @mouradlaraba 9 месяцев назад +106

    even if i didn't understand anything, all i could to say is that the humanity is still good that person like you still exist, thanks a lot

    • @rawallon
      @rawallon 7 месяцев назад

      idk man, he's writing P*thon

  • @cyberpunk1618
    @cyberpunk1618 9 месяцев назад +52

    2:55 in and already 100% worth watching. Knowing I can use Ghidra without migraines is such a performance booster.

  • @n0o0b090lv
    @n0o0b090lv 9 месяцев назад +154

    This ain't low level chanel this is high level chanel I learn a lot
    Also thx LLL

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

      chanal

    • @n0o0b090lv
      @n0o0b090lv 9 месяцев назад +6

      @@basedfacistman you see...
      FAST LOOK AN ALIEN
      Nah just a bird, oh look chanel. I wonder what happened

    • @vnc.t
      @vnc.t 9 месяцев назад +2

      *channel

    • @n0o0b090lv
      @n0o0b090lv 9 месяцев назад +4

      @@vnc.t the n went on vacation

    • @ProfessorThock
      @ProfessorThock 9 месяцев назад +2

      LLL feels more Supreme than Chanel

  • @coffeegonewrong
    @coffeegonewrong 9 месяцев назад +34

    Thanks for increasing the font size LLL 📱

  • @sarimbinwaseem
    @sarimbinwaseem 9 месяцев назад +36

    Whole thing went above my head but I still watched... Soon it will go in my head... IDK when

    • @iwakeupsad
      @iwakeupsad 9 месяцев назад +5

      Totally. So often for me, understanding comes through the side door unannounced.

    • @sarimbinwaseem
      @sarimbinwaseem 9 месяцев назад +1

      @@iwakeupsad haha.. yeah.. unexpectedly..

  • @EmberDRG
    @EmberDRG 9 месяцев назад +22

    thank you for all these vids, they helped me with the basics of reverse engineering. I'm currently working on reverse engineering a ps3 game and it's been incredibly fun so far

    • @Pr0xima_audio
      @Pr0xima_audio 5 месяцев назад

      MGS4?

    • @EmberDRG
      @EmberDRG 5 месяцев назад

      @@Pr0xima_audio NieR : Gestalt

  • @driden1987
    @driden1987 9 месяцев назад +7

    Looks like a lot of fun once you understand what's going on and know ways you could tackle the proble

  • @Damqq
    @Damqq 9 месяцев назад +1

    Honestly this is pretty interesting, I NEED MORE OF such content PLEASE.

  • @luketurner314
    @luketurner314 9 месяцев назад +1

    For anyone here new to Python,
    if __ name __ == "__main__":
    main()
    prevents the main function from running when you import the file/script somewhere else. If you call a function after defining it without this check, it will run even if the file is imported, which you usually don't want
    Edit: had to insert spaces between the underscores and name because YT thought I wanted it italic. In actual code, it would be 2 underscores, name, 2 underscores (no spaces between); sometimes read as "dunder name" (concatenating/abbreviating "double underscore" to "dunder")

  • @titaniumtomato7247
    @titaniumtomato7247 9 месяцев назад +22

    8:40 I am not a fan when people make negative comments about someone's use of a tool to complete a task. Programming doesn't need more elitism or stupid battles.

    • @arjix8738
      @arjix8738 9 месяцев назад +1

      I read your comment before watching that part and I totally got the wrong idea lol
      Thought you meant that no-code "hackers" should not be looked down upon.
      To which I disagree.
      But by "tool" you were referring to the choice of language, to which I agree, hacking is a mess either way, the choice of language should not matter as long as it does the job.

  • @patriciopage6579
    @patriciopage6579 9 месяцев назад +2

    How is it only now I find this gem of a channel? Dang youtube

  • @MyCodingDiary
    @MyCodingDiary 9 месяцев назад +2

    I've never commented on a video before, but I had to for this one. It's that good!

  • @williamshenk7940
    @williamshenk7940 День назад

    excellent content!! enjoy your thorough analysis.

  • @EnderMega
    @EnderMega 9 месяцев назад +3

    Thats how you know he is a _real manly_ C/C++ programmer, he apologies for using Python, and as a fellow C/C++ programmer I forgive you.
    Jokes aside, good video!!!

  • @IsaacNewTom22
    @IsaacNewTom22 9 месяцев назад +1

    Thank you, LLL, the font size saved me :)

  • @yahsprut
    @yahsprut 8 месяцев назад +1

    what if the binary was built in something else like Rust for example? whould then Ghidra reverse engineer it to C or to Rust?

    • @BinToss._.
      @BinToss._. 4 месяца назад

      The decompilation target language doesn't matter.
      If you can compile source code to *native* bytecode, you can reverse it if you know the bytecode's target ISA (e.g. x86, x86_64, AMD64, various versions of ARM, et cetera). Some bytecode is *not* natively compiled such as WASM, CIL, and Java bytecode.
      C is preferable for decompilation because it normally has very little abstraction and is *almost* 1:1 with assembly language. C runtimes or compilers usually inject boilerplate for setup of heap memory management.

  • @Phreak5h0w
    @Phreak5h0w 2 месяца назад

    What keyboard are you using? I like that it's not a crappy loud mechanical keyboard, that even your neighbours could hear through three walls. Is it the same in your current videos?

  • @zxcvb_bvcxz
    @zxcvb_bvcxz 9 месяцев назад +4

    So *why* does angr have issues with stdin and how were you able to work out the fix?

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

      Why - just speculating here, because cpp streams are weird.
      How - he has emulated the result of the text input himself, he put the string pointer on the stack (this is exactly what that cpp function does after fetching the text), and he has skipped the stdin function.

  • @AgentXegy
    @AgentXegy 9 месяцев назад +3

    bro I could watch this every day that was awesome

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

    Thanks for zooming in!

  • @boenrobot
    @boenrobot 9 месяцев назад +1

    14:37 - Hold up. Where did these magic hex numbers come from? Why those offsets? Can they be determined in a cleaner way, rather than hard coded like that?

    • @PauloMEDCOMADVANCE
      @PauloMEDCOMADVANCE 5 месяцев назад

      Did you find out this part? also need help here!

  • @HypeLobbiesHD
    @HypeLobbiesHD 7 месяцев назад

    I love your merch, I have the mousepad and the t-shirt, do you have any other plans for more reverse engineering or low level related merch? I would totally buy more

  • @ПавелСереда-н9д
    @ПавелСереда-н9д 2 месяца назад

    would be great to see more complicated examples of using angr

  • @veritas7010
    @veritas7010 9 месяцев назад +1

    Now crackmes are cool but whos gonna actually have good info on compiling osx/xnu kernel, modifying kernel/writing a kernel driver to disable debugging detection, bypass address randomization. What for? Oh yeah, just to bypass debug detection and also have a way to dump consistent traces. And just to begin on actually getting progress with 20mb+ binaries

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

    Angr looks really neat. I suppose in some cases one runs into formal undecidability. How does it "cheat'"?

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

    Ngl I am pretty new to low level stuff but I recommend running it a bit first before even running strings

  • @DeluluBoi1515
    @DeluluBoi1515 9 месяцев назад +3

    I love this channel.

  • @m1geo
    @m1geo 9 месяцев назад +2

    Nicely done, Mr LLL.

  • @z8den
    @z8den 9 месяцев назад +1

    why on earth do you not have the link to the cracksme in the description man

  • @cherubin7th
    @cherubin7th 9 месяцев назад +2

    I am looking forward, when we can take a binary and automatically turn it with AI in beautiful source code with comments etc.

  • @lazzalicious6220
    @lazzalicious6220 9 месяцев назад +1

    The man, The myth, The legend. Found you again

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

    Great video! Very informative and well explained.

  • @Vazzible_gaming
    @Vazzible_gaming 5 месяцев назад

    How do i find the CTF program, can you link it to me so I can do all the steps myself?

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

    Great video, I'm new to this stuff. couple of doubts, when giving the address of the good and avoid case, why is only 4byte address is provided instead of entire address from memory map? secondly, how the hell do you learn all there stuff? since there are multiple libraries/tools.concepts used just for one problem. Impressive btw!

  • @llmnr3xp0sed
    @llmnr3xp0sed 9 месяцев назад +2

    I'm curious how angr works with ASLR enabled.

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

      When running with correct permissions you can choose to disable ASLR for a spawned process which is likely what angr does. GDB uses the "personality" syscall to do this with the flag ADDR_NO_RANDOMIZE.

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

      @@nomio_o ah, good to know.

  • @outtakontroll3334
    @outtakontroll3334 9 месяцев назад +3

    this is some dark art shit- only able to follow a little of it, but interesting

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

    Can you make a video on how this would work when an application also has a DLL etc? ive tried this once on an application with a DLL and it got very confusing, really couldnt figure any of it out.

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

    Hey , very nice intro to angr, i have a bit that i didn’t get is why the first try with the 32.8 bit key space reached in the simulator the last address ? That for me doesn’t yet click

  • @PauloMEDCOMADVANCE
    @PauloMEDCOMADVANCE 5 месяцев назад

    why the -0x58? where does it come from?

  • @DropShotPat
    @DropShotPat 5 месяцев назад

    I wasn't worried about the empty boxes, until you said something LOL.

  • @iagosrodrigues
    @iagosrodrigues 7 месяцев назад

    I loved the video; I didn't understand anything, but it was an excellent video.

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

    Do you have any recommendations on books that are useful desk references for this stuff?

  • @sassywoocooo
    @sassywoocooo 9 месяцев назад +1

    we finally got ghidra in dark mode

  • @VINICIUSMOURACARDOSO
    @VINICIUSMOURACARDOSO 7 месяцев назад

    how can I change ghidra to dark mode?

  • @P-G-77
    @P-G-77 6 месяцев назад

    Awesome work !

  • @nsg650
    @nsg650 9 месяцев назад +1

    Wait are you a cuber as well?

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

    Is scanf still using self modifying code or something ?

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

    thanks for increasing the size mr lll :)

  • @mardiyonghasben1619
    @mardiyonghasben1619 2 месяца назад

    Goodluck...sir... perfect

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

    Thanks for the Font LLL!!!!

  • @oliverpasquesi8068
    @oliverpasquesi8068 5 месяцев назад

    Can you do a Ghidra tutorial pls?

  • @nedac279
    @nedac279 2 месяца назад

    Ik that’s it’s been a while, but thx LLL!

  • @JM-is1vf
    @JM-is1vf 9 месяцев назад

    Thanks for your channel. I would love it even more without the background music.

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

    Cool, next do Denuvo. Let's see how good you are!

  • @AgentKent
    @AgentKent 9 месяцев назад +1

    Thanks LLL

  • @catatrophicalist
    @catatrophicalist 9 месяцев назад +2

    do you prefer intel or at&t syntax?

    • @grandmakisses9973
      @grandmakisses9973 9 месяцев назад +5

      intel of course

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

      @@grandmakisses9973 Based opinion

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

      intel addressing syntax and at&t argument order ("mov rax (to) rcx" makes more sense than "mov (to) rcx: rax")

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

      @@atijohn8135 The thing is, binary instructions follow the intel syntax. So, especially for those who create compilers, the AT&T syntax is confusing, even tho it makes more sense...

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

      AArch64

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

    do you use computer with arm cpu?

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

    yes, yes.. of course i understand all this

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

    Low level programming is the hardest my bro
    ReSearch about it.

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

    May be a dumb question, but why not brute force it instead?

    • @kamu38
      @kamu38 4 месяца назад

      If you can do this technique then it's far superior to brute forcing. Brute force would take far longer.

  • @monterraythehomeless
    @monterraythehomeless 4 месяца назад

    I needed the font size increase and I'm on desktop lol. Thanks LLL

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

    Can you crack how to exit vim?

  • @braveitor
    @braveitor 9 месяцев назад +4

    When machines take over us, I hope you speak for us all as you know their native language. Interesting to watch, don't hava a clue about how anyone can learn those skills... :D

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

    cool. now how do i guess what a weird 8 byte value does?

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

    The magic starts at 15:44 😃

  • @Codingwannabe-cw1yd
    @Codingwannabe-cw1yd 9 месяцев назад

    Thx lll for zooming in

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

    I need to learn how to do this proficiently so I can hack car ECUs for tuning. They made it so hard to tune cars these days...

  • @hakushakudoa283
    @hakushakudoa283 7 месяцев назад

    Thanks triple o

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

    There's a piece of abandoned niche commercial software which I'd love to crack for archival purposes. Will this work on it? It's written in Delphi and it can be activated offline even though there was an internet activation option (which obviously doesn't work anymore).
    There is version 3.x which is still being sold even though there were no updates for 8 years or any activity from the dev whatsoever. Thing is, version 3.x is a joke. Well, 2.x was an actual joke, not worth a penny, and 1.x is the legendary version which I'd like to crack. I believe it would still be used today if the dev released a 64bit version like he promised :( The released version crashes way too often because of the ram limitation.

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

    ...I need practise "hello world!" again, 60th time

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

    I didn’t like that was necessary to use angr to solve the challenge

  • @RigoVids
    @RigoVids 7 месяцев назад

    Thanks tripple el

  • @mattshu
    @mattshu 20 дней назад

    THANKS LLL

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

    Waiting for LLL x LaurieWired video :)

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

    Dark mode, let's go!

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

    Thanks LLL

  • @maz5232
    @maz5232 7 месяцев назад

    Hi please make more

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

    It’s so weird knowing that the NSA has a program named after the Godzilla monster

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 9 месяцев назад +1

      Remember that it's still nerds inside NSA that are responsible for creating and maintaining this. If they can get away with it, they will.

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

      @@VivekYadav-ds8oz Ofc, every major tech system has been built up and maintained by nerds. It’s still pretty wild regardless

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

    Wait, how are you running arm code on your machine?

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

      perhaps a VM

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

      @@tronosgamingwizard does ghidra run on ARM? I guess with the magic of editing (or ssh) he could be on different machines

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

      @@ffeliziani I'm unable to answer this one, mate.

    • @ffeliziani
      @ffeliziani 9 месяцев назад +1

      Sorry yeah the Q should have been for @lowlevellearning

    • @kamu38
      @kamu38 4 месяца назад

      @@ffeliziani It's Java. So if the JVM runs on ARM then it will (more/less) run.

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

    Thanks LLL.

  • @Armstrong1781
    @Armstrong1781 9 месяцев назад +1

    you are the best

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

    Meh, automating the reverse engineering takes the fun out of the problem :p if each of those functions was only checking one of the bytes, you could solve each fairly simply, I'd imagine.

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

    Great!

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

    Someone should write an ANGR-y UI for gui people

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

    Man you don't have to apologize for python. You don't have to apologize for anything!^_^

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

    nothing is clear, but very interesting 🤠

  • @DrDAC-go7hs
    @DrDAC-go7hs Месяц назад

    Thx 3xL

  • @RJ-or8bw
    @RJ-or8bw 5 месяцев назад

    Thanks LLL

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

    what does SAT mean?

    • @LowLevelTV
      @LowLevelTV  9 месяцев назад +2

      satisfiability solver

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

    You unbaked the bread!

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

    the a/v desync lmao

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

    Thanks triple L - in the chat!

  • @juststudying1019
    @juststudying1019 9 месяцев назад +2

    a prerequisite for this video is ReactJS

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

    LFG!!!! LLG GANG GANG!

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

    Symbolic Execution 🔥🔥

  • @billy-cg1qq
    @billy-cg1qq 9 месяцев назад

    That angr math solver didn't make any sense lol

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

    Thanx Triple L

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

    Tack 3xL

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

    Thanks LLL. Still needs to be bigger for my blind ass 😂