😈
ReverseMe
  • Introduction
  • References
  • ReverseMe
    • Introduction
      • What is Reverse Engineering?
      • Legality of Reverse Engineering
      • Reverse Engineering Communities
  • Programming Language
    • C
      • Basic
        • Pointer
        • Casting
      • Reference
        • stdio.h
          • fclose()
          • fopen()
          • fseek()
          • ftell()
          • fgetc()
          • fgets()
          • fread()
          • fprintf()
          • fwrite()
          • printf()
          • putchar()
          • puts()
          • sprintf()
          • snprintf()
        • stdlib.h
          • malloc()
          • calloc()
          • realloc()
          • free()
          • rand()
          • srand()
        • string.h
          • strcat()
          • strncat()
          • strcmp()
          • strncmp()
          • strcpy()
          • strncpy()
        • time.h
          • time()
  • Reversing Fundamentals
    • Stripped and Unstripped
  • Tools
    • file
    • strings
    • ltrace
    • ghidra
  • CTF Writeups
    • HackTheBox Challenges
      • Baby RE
      • You Cant C Me
  • ABOUT ME
    • Mail
    • LinkedIn
    • GitHub
Powered by GitBook
On this page
  • Mengenal Bahasa Pemrograman C
  • Apakah Harus Belajar Bahasa Pemrograman C?
  • Kurikulum Bahasa C
  1. Programming Language

C

Bahasa pemrgoraman C

PreviousProgramming LanguageNextBasic

Last updated 2 months ago

Pada sub-bab ini kita akan mempelajari tentang bahasa pemrograman C.

Mengenal Bahasa Pemrograman C

Bahasa pemrograman C adalah bahasa yang dibuat oleh pada tahun 1972 di Bell Telephone Laboratories dengan tujuan untuk mengembangkan sistem operasi Unix.

Hingga saat ini, bahasa C masih berkembang dan banyak digunakan di berbagai bidang, seperti:

  • Sistem Operasi: Banyak sistem operasi, seperti Unix, Linux dan komponen Windows, dibuat menggunakan bahasa C.

  • Embedded Systems: Bahasa C sering digunakan dalam pengembangan perangkat embedded seperti mikrokontroler, perangkat IoT, dan embedded system lainnya.

  • Compiler dan Interpreter: Banyak program yang menerjemahkan kode dari bahasa pemrograman ke bahasa mesin dibuat dengan bahasa C. Contoh:

    • CPython: Interpreter standar untuk bahasa Python ditulis dalam bahasa C.

    • Ruby: Interpreter utama Ruby juga dibuat dengan bahasa C.

  • Driver dan Perangkat Keras: Pengembangan driver perangkat keras dan interaksi dengan sistem tingkat rendah banyak memanfaatkan bahasa C.

  • Perangkat Lunak Aplikasi: Banyak aplikasi dengan kebutuhan performa tinggi, seperti game engine, menggunakan bahasa C.

  • Library dan Framework: Banyak library untuk berbagai bahasa pemrograman ditulis dalam bahasa C karena efisiensi dan portabilitasnya.

Apakah Harus Belajar Bahasa Pemrograman C?

Jika Anda ingin melakukan reverse engineering terhadap native code, maka mempelajari bahasa C adalah suatu keharusan. Decompiler biasanya menghasilkan psedocode dalam bahasa C, karena proses dekompilasi mengubah kode mesin (assembly) yang kompleks menjadi pseudocode yang lebih mudah dipahami.

Bahasa C dipilih karena strukturnya yang sederhana dan kedekatannya dengan kode assembly, sehingga mempermudah analisis dan pemetaan fungsi dalam binary hasil dekompilasi.

Kurikulum Bahasa C

1

C Basic

  1. Syntax

  2. Output

  3. Comments

  4. Variables

  5. Data Types

  6. Constants

  7. Operators

  8. Booleans

  9. If..Else

  10. Switch

  11. While Loop

  12. For Loop

  13. Break/Continue

  14. Arrays

  15. Strings

  16. User Input

  17. Memory Address

  18. Pointers

2

C Functions

  1. Functions

  2. Function Parameter

  3. Scope

  4. Funciton Declaration

  5. Recursion

  6. Math Functions

3

C Files

  1. Create Files

  2. Write to Files

  3. Read Files

4

C Structures

  1. Structures

5

C Enums

  1. Enums

6

C Memory

  1. Memory Management

7

C Reference

  1. Keywords

  2. <stdio.h>

  3. <stdlib.h>

  4. <string.h>

  5. <math.h>

  6. <ctype.h>

Dennis Ritchie