how reverse engineering makes you a better programmer

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ก.พ. 2025
  • Learning about how computers work through learning a lower level language like C, Rust or Assembly will make you a better programmer, regardless of what language you code in.
    One of the best ways to learn about how computers work is through playing capture the flag. In this video, we'll walk through an easy capture the flag challenge where we take apart some ARM code.
    Go play CTF at picoctf.org
    🏫 COURSES 🏫 Learn to code in C at lowlevel.academy
    👕 MERCH 👕 Like the shirt? lowlevel.store
    📰 NEWSLETTER 📰 Sign up for our newsletter at mailchi.mp/low...
    🛒 GREAT BOOKS FOR THE LOWEST LEVEL🛒
    Blue Fox: Arm Assembly Internals and Reverse Engineering: amzn.to/4394t87
    Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation : amzn.to/3C1z4sk
    Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software : amzn.to/3C1daFy
    The Ghidra Book: The Definitive Guide: amzn.to/3WC2Vkg
    🔥🔥🔥 SOCIALS 🔥🔥🔥
    Low Level Merch!: lowlevel.store/
    Follow me on Twitter: / lowleveltweets
    Follow me on Twitch: / lowlevellearning
    Join me on Discord!: / discord

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

  • @LowLevelTV
    @LowLevelTV  8 หลายเดือนก่อน +69

    Come learn ARM assembly at lowlevel.academy (use code ARMASSEMBLY20 for 20% off lifetime access). or dont. i'm not a cop.

    • @gabef9538
      @gabef9538 8 หลายเดือนก่อน +4

      Or just look up the instruction set and read it

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

      Hey I wanted to know if the videos on LowLevelAcademy were available for download/offline viewing? I want to sign up, but my internet bandwidth's highest speed can be measured in kilobits per second. So almost all of my TH-cam/video process is go into town, grab a data dump, and come home to watch.

    • @ishansharma4692
      @ishansharma4692 8 หลายเดือนก่อน +2

      sir can you guide me from where I should start learning about reverse engineering right now I only known basic c/c++

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

      got lifetime access a while back, finishing up BootDev right now and cant wait to dive deeper on LLL. thanks as always for the content bud. Superb

    • @rajeshpoddar5763
      @rajeshpoddar5763 8 หลายเดือนก่อน +1

      meaow

  • @joshman1019
    @joshman1019 8 หลายเดือนก่อน +212

    Unlike a lot of other TH-camrs, You actually know what you're doing and have a passion for it. One of my favorite tech channels on the platform.

    • @halano
      @halano 8 หลายเดือนก่อน +2

      You are not real developer until you recording yourself do some coding.

    • @ficolas2
      @ficolas2 8 หลายเดือนก่อน +2

      ​@@halanonot at all

    • @flflflflflfl
      @flflflflflfl 8 หลายเดือนก่อน +9

      ​​@@halano so Dennis Richie, Ken Tompson, Richard Stallman and Linus Torvalds are not real developers? Got it, thanks!

  • @AntonioZL
    @AntonioZL 8 หลายเดือนก่อน +219

    My suggestion for learning low level stuff (and, in some sort, assembly) is to play Zachtronics' games, especially TIS-100, Shenzhen I/O and Exapunks. Although you won't learn a specific set of instructions, given each game uses it's own assembly language for ficticious architectures, you will learn how it is like to use assembly, by dealing with registers, memory, circuit design, CPU cycles, control flow, etc. Besides, you'll have lots of fun!

    • @JayDee-b5u
      @JayDee-b5u 8 หลายเดือนก่อน +7

      Thank you for the thoughtful suggestion.

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

      @@JayDee-b5u Exapunks has a special place in my heart, given I'm a fan of retrofuturism/sci-fi/cyberpunk literature, but TIS-100, with it's 80's charm, and Shenzhen I/O, in it's setting, are also really great!
      What I like the most about their games is how they're narrative-driven: it's not LeetCode, i.e, coding for the sake of it; but programming puzzles you're personally invested in due to how they're presented and how the narrative is set up. They're really great games!

    • @SimonBuchanNz
      @SimonBuchanNz 8 หลายเดือนก่อน +13

      The main issue here is Zach's games have (deliberately) awful architectures, extremely limited and quirky.
      This leads to interesting gameplay, because you can't just reuse a solution you figured out earlier, but it also makes it seem way harder than it actually is on real machines.

    • @Zeni-th.
      @Zeni-th. 8 หลายเดือนก่อน +2

      How is that a problem lol​@@SimonBuchanNz

    • @SimonBuchanNz
      @SimonBuchanNz 8 หลายเดือนก่อน +16

      @@Zeni-th. mostly that it's pretty easy to be discouraged by thinking that "I'm not smart enough for assembly"
      Normally the game version of a thing is simpler and easier, but I think that's inverted in this case. Real assembly problems don't come with unit tests, but otherwise they're often easier than an equivalent in Zachtronics games. (Though of course this is very subjective)

  • @mlgchuck3145
    @mlgchuck3145 8 หลายเดือนก่อน +51

    This man is a wizard at CS. This dude is my inspiration. So glad I found his channel.

  • @Little-bird-told-me
    @Little-bird-told-me 8 หลายเดือนก่อน +36

    You are reason why I learn C and I am glad I got into low level programming

    • @Margen67
      @Margen67 8 หลายเดือนก่อน +6

      birb

  • @ziphy_6471
    @ziphy_6471 8 หลายเดือนก่อน +156

    Me who can't even code properly in c++ : "Yup, assembly is the right choice for me"

    • @rethardotv5874
      @rethardotv5874 8 หลายเดือนก่อน +25

      C++ is one of the worst programming languages.
      It’s a minefield of ineffective specialized functions and keywords. Slow polymorphism and weird multiple standard libraries.
      You either go performant, unsafe and with more code using C, or with lower performance, low code in python. C++ is the weird inbetween.

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

      @@rethardotv5874 I'm a openGL dev so I kinda have to use c or c++

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

      ​@@rethardotv5874 or go all in and use c#. Using c# after a year of c++ was probably the nicest feeling ever

    • @angelcaru
      @angelcaru 8 หลายเดือนก่อน +15

      Tbf C++ is probably harder than ASM

    • @ziphy_6471
      @ziphy_6471 8 หลายเดือนก่อน +2

      @@angelcaru I learned c++ in 1 week

  • @anuragmore4573
    @anuragmore4573 8 หลายเดือนก่อน +6

    I was just doing the same ctf question yesterday and got headache reading and understanding assembly code again that I've read in my second year at the college. This time I understood it. Thanks.

  • @sharokhkeshawarz2122
    @sharokhkeshawarz2122 8 หลายเดือนก่อน +50

    I get it now, because in my college every single projects are ALL with the exception of none made with C in first year of college. We code 24h/7 in C. In seconde year we do C++ and Assembly and its only in third fourth and fifth year that we do high level languages like python, javascript, java etc...

  • @hawkbirdtree3660
    @hawkbirdtree3660 8 หลายเดือนก่อน +18

    I heard that everything is open source when you know assembly 😂

  • @brandonlai9388
    @brandonlai9388 7 หลายเดือนก่อน +1

    This is so so true mate, I'm a self-taught student and I get overwhelmed by all the different tools and language, but after I learn about C++, I start to understand what is happening

  • @gabirican4813
    @gabirican4813 7 หลายเดือนก่อน

    Thanks!

  • @XYZ56771
    @XYZ56771 8 หลายเดือนก่อน +5

    i've started picoCTF based on your video, best time invested ever!

  • @dervolker
    @dervolker 8 หลายเดือนก่อน +7

    couldn‘t have said it any better. reverse engineering got me deep into software development, because i wanted to understand what was going on under the hood. Nothing else makes you understand race conditions like injecting code into another process and randomly crashing, while other times having a perfectly running program.

  • @logiciananimal
    @logiciananimal 8 หลายเดือนก่อน +6

    For those who can afford (and could make use of - some people don't like them) a textbook, CMU is also home (so to say) to _Computer Systems: A Programmer’s Perspective_. (Disclaimer: I took the course this is used in - or a version thereof - 20+ years ago while a student there in Logic and Computation.) I do echo our host's recommendation of CTFs for the subject - the text might be useful as a reference.

  • @Barry_disgruntled
    @Barry_disgruntled 8 หลายเดือนก่อน +3

    Dude the way you explain things feels very organic and coherent, even though I don't even know half of what you're saying- I wish I could :)
    I just started learning a little bit of JavaScript but at the same can't help but feel fascinated by low level programming. Someday, I'll have enough knowledge to be able to understand and appreciate the things you describe in your videos 🙏

  • @dedsec4002
    @dedsec4002 8 หลายเดือนก่อน +131

    We need Intel x86 course on the low level academy platform

    • @markojojic6223
      @markojojic6223 8 หลายเดือนก่อน +10

      No make it RISC-V to prevent recycling code for example

    • @arnabbiswasalsodeep
      @arnabbiswasalsodeep 8 หลายเดือนก่อน +5

      I've had that in college twice & they made us program the x86 ones using the original way they were programmed, that being use another x86 board with a flashing/burning software connected to addresses gen chip & external storage, where you type in the instructions using a ps/2 keyboard in assembly that you had to manually write it down first and mistake meant waiting to finish then overwrite that particular memory address.
      All of that just to get led blinking or it posting "hello world" on 2x16 lcd display after 2 hours of pain.
      Ahh, those were the days. I hated when thry did the same for arm assembly too, but i just used Internet to write it as assignment & through credibility amongst teachers was able to lie about having finished it quickly.

    • @AndrewTSq
      @AndrewTSq 8 หลายเดือนก่อน +3

      we learned asm on 486 back in school. But back then we wrote directly to memory, like the graphics ram etc :) so would be fun to learn how to do it today. but I prefered asm on the Motorla 68k cpus.

    • @mudi2000a
      @mudi2000a 8 หลายเดือนก่อน +1

      Today everything is so complicated. Back in the day I learned it on the C64 where it was actually easy. When I switched to PC I fiddled a bit with assembly but the abandoned it for Turbo Pascal which was both easy to write as well as performant. Plus if you really wanted you could use inline assembly.

    • @markojojic6223
      @markojojic6223 8 หลายเดือนก่อน +1

      @@mudi2000a To me this still seems like haven to what my visions of learning that in the future. Lets hope I am juvenoic

  • @stopcensoringmen5044
    @stopcensoringmen5044 8 หลายเดือนก่อน +6

    More of these please.
    We appreciate videos that show and explain how.

  • @PauldeBisse-dc8bv
    @PauldeBisse-dc8bv 8 หลายเดือนก่อน +1

    Something i really like about this kind of video is that there is no cringe music in the background that sometimes can get on top of your voice ;
    No, there is just you, talking fluently about a really interesting concept. As a french who tries to learn computer science AND english at the same time, thank you.

  • @FACTUAL-w6b
    @FACTUAL-w6b 8 หลายเดือนก่อน +6

    been looking for this for a long time cant wait for the full series

  • @bytesizedfeed
    @bytesizedfeed 8 หลายเดือนก่อน +7

    The only stuff I remember from writing basic assembly is registers (RAX RBX RDX etc)
    And their use to store information

  • @Josip-qu4gb
    @Josip-qu4gb 7 หลายเดือนก่อน

    When I watch your content I really get motivated. You're helpful and smart, a rare combination 😊
    Would have praised you more but gotta go coding🎉

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

    I actually did a project in school where we wrote assembly directly. What we did a lot is to write step makers (because we had interrupts) and even had a semi custom font engine run the display with a microcontroller.
    Nowadays I do the most high level stuff there is, it's all python scripts... But I really enjoy watching these videos or similar talks. Never did CS - but might pivot my masters.

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

    You should consider having an option on your site to purchase access to individual courses! I'm sure I'm not the only one who thinks buying lifetime access is a bit too much of a financial commitment, especially when I don't know if I'll ever have time for any other courses. Love your videos!

  • @gabrielbarrantes6946
    @gabrielbarrantes6946 8 หลายเดือนก่อน +4

    Any decent CS program would include a course using assembly, C/C++... Those people asking are definitely from an 8hours online JavaScript/python course

  • @iamAK47
    @iamAK47 8 หลายเดือนก่อน +9

    Could you do a tutorial on static analysis, this is useful if working on embedded projects

    • @HallaBol-z4q
      @HallaBol-z4q 8 หลายเดือนก่อน

      Khud se kuch karle bhai, bhik mangne ka adat chodde

  • @Lampe2020
    @Lampe2020 8 หลายเดือนก่อน +5

    I watch Ben Eater's videos about his breadboard computer, so I actually have seen quite some assembly before, but assembly meant to run on raw hardware without any OS. So he had to implement the serial print function etc. all by himself.

    • @black53342
      @black53342 8 หลายเดือนก่อน +1

      That was his own version of assembly.

    • @Lampe2020
      @Lampe2020 8 หลายเดือนก่อน +3

      @@black53342
      But it's still assembly. And it isn't his own, it's 65C02 assembly.

  • @diegoj4382
    @diegoj4382 8 หลายเดือนก่อน +6

    The best way to learn assembly, is to learn microcontrollers and turn a LED in a protoboard.
    The best way to be a programmer is to know how your bits a flowing.

  • @neviswarren
    @neviswarren 7 หลายเดือนก่อน +2

    Great video and information. Thank you.

  • @ArtemYakovlev
    @ArtemYakovlev 8 หลายเดือนก่อน +1

    Thanks for picoGym recommendations. Do more like this one

  • @BobChess
    @BobChess 8 หลายเดือนก่อน +3

    This is a very useful video. I really learn along the way.

    • @SharuxD
      @SharuxD 8 หลายเดือนก่อน +1

      bro it just dropped a minute ago, cut the cap

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

    Awesome channel ! Been forwarding and reversing bits for quite a while now but I don't know half of what I need to learn... Or something like that. Some day, some where I would love to see a C instructional on more advanced compiler errors and warnings. Beyond the usual missing semi-colon. There may be one of these on this channel even already. Will look

  • @randomguy2447
    @randomguy2447 8 หลายเดือนก่อน +1

    Not gonna say too much on here but my CO recognized you when I was watching your video while working on the JQR for basic tool dev lol

  • @CasimiroBukayo
    @CasimiroBukayo 8 หลายเดือนก่อน +6

    I'm so inspired right now I wanna port the whole Vulkan SDK to Assembly then to pure Machine code, then down to the logic gate 1s and 0s 😅

  • @stevejobs4007
    @stevejobs4007 5 หลายเดือนก่อน

    this was such an awesome video!

  • @superoya9747
    @superoya9747 4 หลายเดือนก่อน

    Thank you so much for this video

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

    Oddly enough the first language I learned was Arm asm from hacking the gameboy advanced.
    Was trying to make a arm thumb disassembler but that has been a process to say the least 😅

  • @eee-ue7vf
    @eee-ue7vf 8 หลายเดือนก่อน +1

    Appreciate your channel my d00d

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

    My journey was through Commodore 64's 6510 (a varient 6502), Sinclair's Z80, and IBM PC's 8088 (using TASM, then MASM). My $0.02 for learning assembly is to go through VICE (Commodore 64 emulator) and/or a Sinclair emulator. Their design philosophies are very interesting.

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

    For anyone wanting to learn computer architecture, the Elements of Computing Systems book is a great one, takes you all the way from what is a 16 bit adder, to a high level language that runs on a cpu you built.

    • @Zeni-th.
      @Zeni-th. 8 หลายเดือนก่อน

      Do u have a pdf for it?

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

      @@Zeni-th. f.javier.io/rep/books/The%20Elements%20of%20Computing%20Systems(dot)pdf

  • @Malenbolai
    @Malenbolai 8 หลายเดือนก่อน +1

    brother, you are the one

  • @ewhac
    @ewhac 8 หลายเดือนก่อน +1

    9:59: ERROR: INVALID MNEMONIC INTERPRETATION
    DETAILS:
    `BLS` is "Branch if Lower or Same," which is _distinct_ from Branch if Less Than (`BLT`). BLS is used to compare unsigned integers; BLT gets used with signed integers.
    I always had difficulty conceptualizing the compare (`CMP`) operation, until I finally realized: `CMP` is identical to `SUB` (Subtract), except that it throws the result away and keeps the flags. So `CMP w1, w0` can be thought of as `SUB w1, w0` (i.e. result = w1 - w0) and thinking about the result of that subtraction. Is the signed result Less Than zero? If so, `BLT` is what you want. For unsigned integers, is the result underflowed (Lower) or equal to zero (Same)? If so, `BLS` is what you want.

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

    I would be interested in a video about learning the systems that the assembly interfaces with and how you would, for example, learn x86_64 assembly calling conventions, syscalls, stack frame setups, etc. Also, my terminology might be off, so apologies if my question isn't intelligible

  • @ttt69420
    @ttt69420 6 หลายเดือนก่อน

    implying im going to go to picogym and be part of the llm dataset

  • @geoffreykioi3272
    @geoffreykioi3272 7 หลายเดือนก่อน

    I just realised that I've always been a nerd.
    And I love it

  • @varshneydevansh
    @varshneydevansh 8 หลายเดือนก่อน +1

    I was watching your previous video on reverse engineering

  • @Im_Ninooo
    @Im_Ninooo 8 หลายเดือนก่อน +2

    yesterday I learned about ImHex and ended up reverse-engineering game save files for fun till 2am 😆 it's so cool

    • @ErazerPT
      @ErazerPT 8 หลายเดือนก่อน +1

      Oh nice... Thanks for that one, didn't know about it. I'm used to just having having the hex ed, a text ed for notes and writing a "reader" as i go, but having some "integrated all in one" software for it sure would save time...

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

      @@ErazerPT yep, their pattern language is really powerful

  • @JanSoltan-wj1hs
    @JanSoltan-wj1hs 8 หลายเดือนก่อน +2

    My first experience with reverse-engineering was decompiling in Ghidra a mobile phone's (SoC Mediatek MT6765, Model OPPO A12) bootloader "Little Kernel" to patch it and basically disable Android Verified Boot. Now when I'm reversing a normal ELF binary I feel like I'm on easy mode

    • @brunothedev
      @brunothedev 7 หลายเดือนก่อน +2

      As someone who has dealt with hacking mediatek phones, i feel you

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

    The lower level languages might seem hard and assembly language sure is hard, but at the same time the complexity level in the language tends to not be very high.
    It's true that C++ compilation errors can be some of the biggest headaches a human will ever experience in life, but I feel the language itself is very straight forward as opposed to C# WPF with it's unholy XAML--C# hybrid language.

  • @henrysch9
    @henrysch9 4 หลายเดือนก่อน

    I hope you are planning a reverse engineering course on the low level learning platform

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

    Damn that was a smooth intro.

  • @a.v7998
    @a.v7998 8 หลายเดือนก่อน

    I always wanted to learn assembly, And so far i have only managed to learn very basics. Im still trying to learn assembly by reading assembly code and dunping C binaries to assembly!

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

    I've never seen Arm Assembly or had it explained to me before so it was revealing to see that fundamentally, while it has it's own unique ISA, it pretty much does the same tasks that you would find in older chips like the 6502, Z80, x86, or 68000k. For some reason I assumed since CPUs have way more registers now it would be too complex to grasp but surprisingly nope, still the same building block process of moving values to and from CPU, to and from Memory, and to and from the Stack. 😃

  • @EngineerNick
    @EngineerNick 8 หลายเดือนก่อน +3

    That was amazing thankyou :)

  • @Cyclically
    @Cyclically 8 หลายเดือนก่อน +1

    Just grind crackmes even just once a week, I used to do those endlessly for years back when I was 13.

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

    Great video! It reminds me when I designed a small cpu with vhdl!

  • @kermitputermit1437
    @kermitputermit1437 8 หลายเดือนก่อน +1

    love your videos!

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

    This was so very clearly articulated. I appreciate the thorough walk through!

  • @adagioleopard6415
    @adagioleopard6415 8 หลายเดือนก่อน +1

    I think this is why so many software companies poach hardware/firmware developers so often

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

    it goes the other way too with knowing the high level stuff (ie design patterns) :3

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

    For me, in university learning the fundamentals of programming and then data structures all in C was 90% of the way

  • @Sluggernaut
    @Sluggernaut 8 หลายเดือนก่อน +1

    Do you study instruction sets or what? Seems pretty in depth, more than I expected even, needing to understand ARM architecture in this case.

    • @spaghettiking653
      @spaghettiking653 8 หลายเดือนก่อน +2

      Maybe just use compiler explorer, and you'll be able to figure out what instructions mean what quite quickly.

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

      @@spaghettiking653 That doesn't sound right, but I don't know enough about stars to dispute it.

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

      @@Sluggernaut Stars? What do you mean?

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

    That was wild hearing your spell atoi the first time. I spell it completely differently :D

  • @葛帝恩
    @葛帝恩 8 หลายเดือนก่อน +1

    Pity that the code had a BLS instruction, not BLE - this would have made a good case for showing how signed numbers are encoded in binary and how the seemingly smaller number in the example would have turned out to be the larger one

  • @johnsports_iii
    @johnsports_iii 8 หลายเดือนก่อน +1

    I got started with low level programming by making small cheats and mods in Cheat Engine.

  • @JohnDoe-np7do
    @JohnDoe-np7do 8 หลายเดือนก่อน

    Lol i had this crazy idea ab reverse engineering passwd.
    My logic was that if it were written in C, then at the point where stdin is opened an youre promted to input a password, there should be a strcmp() between the inputted pw & the current users "stored password", in which case 1 out of 2 branches are taken, where the password is a match and where its not.
    Tried using objdump to dump the disassembly of the binary & see if i could try to find the cmp instruction, fast forward to numerous grep results of cmp & je instructions, i encountered a skill issue real quick.
    Decided that if im actually gonna do it, to use ghidra instead coz im hopless at asm 😂

  • @Becoming-Human
    @Becoming-Human 8 หลายเดือนก่อน

    Excellent video! Thank you! Are there any considerations for showing a similar video, but focused on RISC-V? Thank you, again, and I look forward to more videos like this. :-)

  • @user-ox4ii2bw6x
    @user-ox4ii2bw6x 8 หลายเดือนก่อน

    THIS MAKES LIKE SO MUCH MORE SENSE HOLY SHIT MAYBE IM NOT COOKED

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

    Reverse engineering is how I learn most anything if it's possible.

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

    This was really fun and informative, I felt like watching Sherlock Holmes!

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

    There is also the legend of R4ndom, even if it is pretty old by now.

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

    Thank you, subbed

  • @AutoDisheep
    @AutoDisheep 8 หลายเดือนก่อน +1

    I am new to programming, but with a bg in maths

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

    Quick question: Isn't BLS 'branch if lower or same' rather than 'branch if less than'? So it would be used for conditions where argv[1]

  • @colonthree
    @colonthree 8 หลายเดือนก่อน +1

    Security in an industry that employs people who write their passwords on paper and willingly share it with others?
    I'm sorry, but social engineering will always beat anything else due to human nature. 256-bit encryption has nothing on someone who was just "sloppy" one day and forgot to log out (classic PEBKAC).

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

    great timing. i am heading into summer (with no internship :( ) and i thought of picking up reverse engineering. what do you think about utilizing books for learning rev eng?

  • @gabrielmachado5708
    @gabrielmachado5708 8 หลายเดือนก่อน +1

    Really great video

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

    I have the privilege of knowing a low-level and a high-level language... The perfect synergy to hate both.
    One is either slow or an expensive wrapper for C functions underneath. The other is very fast yet every millisecond using it feels like a lifetime.
    I remember... I remember when _sudo_ was a synonym of power, when XML-RPC was the future for data, when machine-learning and logic each had their role, when WebAssembly promised to bring harmony to us all...
    My reference to hope has long been freed but sorrow keeps leaking. Should I hang up, give the final signal? I hear my soul - kernel of my being - panicking: *"No !"*
    When stuck in that eternal recursion, when linkers scream in a long-forgotten dialect, when heap and stack overflow...
    I tell myself: "At least I don't code in JS."

  • @justsomeone7391
    @justsomeone7391 8 หลายเดือนก่อน +1

    Personally, the most education I've learned from low-level stuff was from OS development.

  • @kaporos
    @kaporos 8 หลายเดือนก่อน +2

    hey ! thanks for the vid !
    did you configure something to have arm executables running on your machine ? (you might be arm ahha but is there any way on x86 ?)

    • @LowLevelTV
      @LowLevelTV  8 หลายเดือนก่อน +4

      sudo apt install qemu-user

  • @rootroot-n8b
    @rootroot-n8b 8 หลายเดือนก่อน

    Only binary reverse engineering? Is there no reverse engineering of webpage JavaScript source code? For example, cookies are encrypted. Find the location of the encryption function in the source code.

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

    I tried getting into reverse engineering to get an old program made for Windows XP to work better through Wine on Linux. I'm a novice when it comes to assembly and only have trace amounts of computing principles from college. There was such an insane amount of information that I wasn't used to and I could only occasionally get a glimpse of what was going on under the hood. I'd have better luck trying to read a foreign language with no translator. Wonder if doing small challenges like the one you're showing help to remove the obfuscation.

  • @mmmmmratner
    @mmmmmratner 6 หลายเดือนก่อน

    Why does the C compiler use stack space and cpu cycles to swap the function parameters before starting the logic in func1()?

  • @MsHojat
    @MsHojat 8 หลายเดือนก่อน +1

    I imagine that before you do these you'd still need to first learn some of the basics of assembly though.

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

    But is it expected to analyze the assembly for this ctf like you did? Couldn't one just compile and test?

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

    I’m willing bet 14mins of my time. Let’s go.

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

    Best way to learn programming is learn to read code base asap and get the idea behind.

  • @Diendis
    @Diendis 3 หลายเดือนก่อน

    What do I need to do in order to learn how to crack software ?? Can you explain the first thing in step to learn how to crack a software

  • @aquasparx4015
    @aquasparx4015 6 หลายเดือนก่อน

    I've only worked with ARM since last year, for a short while. So I don't exactly know much of great place to start with reverse engineering.....

  • @JimmyNeutronAdHdCuzzin
    @JimmyNeutronAdHdCuzzin 7 หลายเดือนก่อน

    Any thoughts on windows kernel programming book for 4 reverse engineering ?

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

    I would like a Risc v assemply playlist from u

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

    what am i missing, why is the first number greather than second one

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

    ASM for write shaders in pixel shader and vertex shader i think, and understand GLSL and HLSL, like Blender or Unreal engine

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

    I'm not sure if I'm a minority here but I would highly appreciate it if you could visualise a bit more. For example in your assembly gigachad video you show the CPU-Thingies or in a different video you explain why switch statement are fast you dump the thing and show what's going on.
    Maybe I'm not your target audience and you just kinda expect people to know this. I however would highly appreciate at least some visuals.
    Besides that: awesome video! Maybe I'll understand it in a few months or years :D

  • @sauce322aigre
    @sauce322aigre 8 หลายเดือนก่อน +1

    I needed a video like this 👍

  • @luis_mz08
    @luis_mz08 8 หลายเดือนก่อน +1

    not gonna lie, i’m kind of annoyed by the fact that there’s multiple kinds of assembly syntax like a know quite a bit of x86 64bit nasm assembly but the arm assembly syntax is so different that I don’t know any instructions apart from like mov and add

    • @vectoralphaSec
      @vectoralphaSec 8 หลายเดือนก่อน +1

      That's one reason assembly is hard. There are a lot and they are all different and specific to each cpu architecture.

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

    Ahh why are you using the default dwm config? It takes like 15 minutes to set one up to look relatively decent with gaps and thicker more defined window edges and bigger text and even custom icons if you use a font like awesome and change window labels from numbers to character icons included in the font you install. Like yeah it might sound hard at first but when you actually do it and follow someone's tutorial you'll be done in an instant.

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

    Should have mentioned „calling convention“

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

    this was great

  • @Muhammed.Abd.
    @Muhammed.Abd. 7 หลายเดือนก่อน

    How was he able to run arm assembly code on hislinux machine?

  • @Andile-jz1vs
    @Andile-jz1vs 8 หลายเดือนก่อน +19

    seems like, Iam the only one who does not understand s***

    • @oalmaftool
      @oalmaftool 7 หลายเดือนก่อน +1

      You will
      If you search the meaning of terms you don’t understand.
      Keep it up

    • @Make-Money-Online74
      @Make-Money-Online74 7 หลายเดือนก่อน

      Bro, then I'm better than you

    • @Devdevbruh
      @Devdevbruh 6 หลายเดือนก่อน

      Practice every single day. Solve problems with concepts you don't understand so you can understand them

    • @Andile-jz1vs
      @Andile-jz1vs 6 หลายเดือนก่อน

      @@Devdevbruh nahh , assembly does not interest me at all , stick with C and well of course try to go to hardware description language

    • @coRliX4k
      @coRliX4k 4 หลายเดือนก่อน

      you aint the only one... but you gotta start somewhere... im here because ive been playing with base2 math a lot and im curious how 01 makes hardware understand anything