
Argc/Argv'ler komut satırı argümanlarıdır.
şöyle diyelim ;
Bir web exploiti olan sqlmap'dan örnek verelim.
sqlmap -u www.site.com/php?id=10 --dbs
sqlmap = argv[0]
-u = argv[1]
www.site.com/php?id=10 = argv[2]
--dbs = argv[3]
Argc/Argv'lerdeki Argv bir dizi olduğu için her zaman 0. indeksde başlar.
Haydi bi' örnekle anlatalım. Girdiğimiz argümanların sayısını bulan program.
Kod:
#include <iostream>
int main(int argc,char **argv) {
std::cout << "Girilen argüman sayısı : " << argc;
return 0;
}
Burada ./a.out TurkHackTeam Ar-Ge Kulübü yazdığımda bana "Girilen argüman sayısı : 4 diyecek. Şimdi girilen tüm argümanları listeleyen programı yazalım.
Kod:
#include <iostream>
int main(int argc,char **argv) {
for(int i = 0; i < argc; ++i) {
std::cout << argv[i] << std::endl;
}
return 0;
}
Bunu derleyip çalıştırdığımda yani ./a.out
TurkHackTeam Ar-Ge Kulübü yazdığımda bana
Kod:
/root/Desktop/a.out
TurkHackTeam
Ar-Ge
Kulübü
Outputunu verecek.
Son düzenleme:

