Windowsda C Dilində İlk Proqram Yaratmaq – Buffer Overflow Hazırlığı
C nədir ? VS code nədir? Virtual Studio nədir? C dilində proqram necə yazılır? C dili üçün mühit necə qurulur?
Telegram kanalına qoşularaq bu və digər mövzular üzrə quizlərdə iştirak edə bilərsiniz!
Telegram (Kanal): https://t.me/xakeraz_official
Reverse-Engineering üçün numunə
Biz bu paylaşımda reverse-engineering yerinə yetirmək üçün C dilində sadə proqram yaradacayıq.Burada reverse engineering proqramın assembler dilində koduna nəzər salmaq və arxa fonda hansı əməliyyatların keçdiyini görməkdir.
Visual Studio ilə Sadə Proqramın Yaradılması
Tapşırığı yerinə yetirmək üçün əməliyyat sistemi olaraq Windows 10 əməliyat sistemindən istifadə edəcəyik.(Reverse Engineering və Buffer Overflow əməliyyatını yerinə yetirmək üçün Windows əməliyyat sisteminə və bufferinin işləmə qaydasına öyrəşmək lazımdır. Səbəb olaraq isə bu sahədə olan exploitlərin 90 % məhz Windows üzərindədir.) Aşağıdakı linki istifadə edərək Visual Studio Code proqramını yükləyirik.
https://code.visualstudio.com/download
Visual Studio quraşdırıldıqdan sonra C++ (extension) üçün olan modulu əlavə edirikki, biz C və C++ dilində proqramlarımızı yaza bilək.

İnstall deyərək uzantını yükləyirik.
C dilində yazılmış kodlarımız icra etmək üçün bir ədəd modula daha ehtiyacımız vardır buda Code Runner-dir.Eyni qayda olaraq onu da yükləyirik.

Biz c dilində yazacağımız proqramı icra etməzdən əvvəl Mingw binary fayllarını yükləməliyik. Bunun üçün aşağıdakı linkdən istifadə edə bilərik:
https://sourceforge.net/projects/mingw/

İnstallation prosesi zamanı bütün fayların sizin cihaza quraşdırıldığını əmin olmaq üçün bütün təlimatlara riayyət etməlisiniz.Mingw proqramı daxilində packageler seçilərək yüklənməlidir.Daha sonra yüklənən faylları sistem tərəfindən icra edilməsi üçün PATH dəyişəninə qovluğun yeri göstərilməlidir:
- Windows settings hissəsinə daxil olun.
Edit system environment variableshissəsinə daxil oluruq.- Path adlı dəyişənə gələrək onu Edit edirik.
- Yüklədiyiniz Mingw proqramın versiyasından asılı olaraq onun yolunu daxil edirik. Bizim üçün bu yol: C:\MinGW\mingw32\bin-dir
- Edit etdikdən sonra OK düyməsini sıxıb yaddaşa veririk.
Demək olar bütün quraşdırma işlərini bitirdik.Artıq C proqramlaşdırma dilində proqramımızı yaza bilərik. Visual Studio Code proqramına daxil olub New File düyməsini sıxırıq (ya da Ctrl +N) daha sonra yeni sətirdən aşağıdakı kodu yazırıq.
#include <stdio.h>
int main()
{
char* message="Hello World From Xaker.az\n";
printf(message);
return 0;
}

Proqram; kompilyatora göndərməzdən əvvəl Ctrl+S əmri ilə onu yaddaşa verir və HelloWorld.c adını veririk. Proqramı icra etmək üçün pəncərənini sağ tərəfində Run Code və ya Run tabından istifadə edərək icra edirik.
[Running] cd "c:\Users\Rose\Desktop\" && gcc HelloWorld.c -o HelloWorld && "c:\Users\Rose\Desktop\"HelloWorld
Hello World From Xaker.az
[Done] exited with code=0 in 1.611 seconds

Reverse Engineering etməyə başlamazdan əvvəl C dilində proqramların yazılmasını başa düşməyiliyik. Yazdığımız proqramda standart daxiletmə-xaricetmə kitabxanasını daxil etdik, printf kommandasını yerinə yetirmək üçün.Daha sonra main funksiyasını yaratdıq və message dəyişənini təyin etdik. C dilində mətn tipli verilənlər simvolların massivi kimi emal edildiyindən burada (char*) ilə təyin etdik.messsage dəyişənini printf funksiyası ilə çap etdirdik, son olaraq proqramın bitməsini bildirən return 0 kommandası ilə proqramı bitirdik.
Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Paylaşımların səliqəli yığılmış halı: https://t.me/xakerazgroup
Fikir və şərhləriniz : https://t.me/xakerazchat