Skip to main content

Posts

gdb: How To Use In Reverse engineering CTFs

  gdb   (GNU Debugger) is a powerful tool for debugging programs in C and other languages. It allows you to inspect the program's state, set breakpoints, step through code, and examine variables. Start  gdb : Open a terminal and run  gdb  with the executable as an argument: gdb ./your_program Replace  your_program  with the name of your executable. Run the Program: Once inside  gdb , you can run your program by typing: run [program arguments] It points out exactly where the segmentation fault occurred. Review Assembly Code: If you want to inspect the assembly code, use  disassemble : disassemble main Set a Breakpoint: Use breakpoints to stop the program’s execution at a specific line. break main Set a breakpoint at a specific line number: break <line_number> Continue Execution: Continue the program’s execution until the next breakpoint or until it completes: continue Step through Code: Use  step  to execute the next line of ...

ALGORITHMS

  I’m making this for my quick reference for what I learned from the video series below and other sources. My C Playlist (In Malayalam): Time Complexity: Types of Time Functions: Time Complexities Cheat Sheet: Time Complexities of all Sorting Algorithms: Divide and Conquer: Recurrence Relation: Masters Theorem For Decreasing Functions: Masters Theorem For Division Functions: ROOT FUNCTION: Binary search Time Complexity: Iterative  method : Heap: (heap is a complete binary tree) Theoretically, index is taken from 1 to make I easy to explain but in programming the index is taken from 0. The positions are left blank to follow the rules. The 3rd binary tree is not a complete binary tree, because even if there is a single missing element in between when represented as an array it is not a complete binary tree(Note* Elements are filled from left to right in a binary tree). So 2nd one is a complete binary tree. Height of a binary tree: log n Min Heap & Max Heap: Inserting element...