Resources

My Database Learning Scripts

Commands

  • Mem Leak
    • Vangrind
      gcc -g Memory_Leaks.c -o leak_test
      valgrind --leak-check=full ./leak_test
  • Glibc
    ldd ./myprogram
  • Manuals
    man malloc
  • Tips & Tricks
    mkdir -p tiny_implant/{src,include,lib,obj,bin}
  • Generating
    • Manual
      • Static
        # Object Files
        gcc -I./include -Wall -c src/crypto.c -o obj/crypto.o
        gcc -I./include -Wall -c src/Base64.c -o obj/Base64.o
         
        # Creating Lib
        ar rcs lib/libcrypto.a obj/*.o
         
        # Making Final Move 
        gcc -I./include -Wall src/main.c -o bin/implant -Llib -lcrypto
         
        ./bin/implant
      • Shared
        mkdir -p obj lib bin
         
        gcc -I./include -Wall -fPIC -c src/Base64.c -o obj/Base64.o
        gcc -I./include -Wall -fPIC -c src/Base64.c -o obj/Base64.o
         
        gcc -shared -o lib/libcrypto.so obj/*.o
         
        gcc -I./include -Wall src/main.c -o bin/implant -Llib -lcrypto
         
        export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
        ./bin/implant
    • Make
    • Tips & Tricks
      • For Loop
        for file in src/*.c; do
            if [ "$file" != "src/main.c" ]; then
                gcc -I./include -Wall -fPIC -c "$file" -o "obj/$(basename "$file" .c).o"
            fi
        done
      • Seeing exported Sympols
        nm -D lib/libcrypto.so
        objdump -T lib/libcrypto.so
         
        # List exported Symplos only 
        nm -D lib/libcrypto.so | grep ' T '

Tools

Notes