C' De Tahribat Anasayfası Arama
-
Merhaba arkadaşlar yardımınıza ihtiyacım var .C de bir program yazıcam daha sonra tahribatın hizmetine sunarım orası rahat, örnek olarak program şöyle işleyecek.Ben halledemedim yardımcı olursanız sevinrim.
-Program tahribata.com un anasayfasında tarama yapıcak ve benim önceden girdiğim örnek olarak ''Atatürk'' kelimesini arayacak[Burada arama CTRL+F mantığıyla olucak ] bulursa bir fiil yapıcak(örnek alert versin) bulamazsa birşey yapmıycak ve bu program bunu 5 dk da bir yeniliycek.
C'den anlayan arkadaşlar varsa yardımcı olabilirlerse çok sevinirim
-
Program, önce aranacak kelimeyi ardından tekrarlanacak süreyi istiyor. süreyi saat.dakika.saniye formatında aralarda nokta ile yazıyorsun. C Case sentetive oldugundan büyük harf küçük harfe dikkat etmelisin, ayrıca ascii karakteri dışındaki karakterler desteklenmediğinden, örneğin ş yerine s, ç yerine c yazmalısın.
Bulunursa iki kere öter ve araç çubuğu parlar. Bulamazsa verilen süreye göre yeniden arar. Son olarak şunu söyleyim, böyle projeler için C uygun dil değildir, C# java vb. kullansan daha rahat edersin.

Kaynak kod ..
***********************************************
#include <stdio.h>
#include <windows.h>
SOCKET skt;
WSADATA wsdata;
char IP[100]="www.tahribat.com";
char tmp[1024]="GET /index.asp HTTP/1.1\r\n "
"host: www.tahribat.com\r\n\r\n";
unsigned short port=80;
struct hostent *sunucu_adi;
struct sockaddr_in bilgiler;
void bekle(const char* sure);
int ara(const char* sozcuk, SOCKET skt);
int main(){
char sozcuk[256]={0};
char sure[16]={0};
char ModuleName[256]={0};
HANDLE hnd;
WSAStartup(MAKEWORD(2,0),&wsdata);
sunucu_adi = gethostbyname(IP);
bilgiler.sin_family = AF_INET;
bilgiler.sin_port = htons(port);
bilgiler.sin_addr = *((struct in_addr *)sunucu_adi->h_addr);
memset(&(bilgiler.sin_zero), 0,0) ;
if((skt=socket(AF_INET, SOCK_STREAM,0))==-1)
perror("Soket Acilamadi!\n");
if(connect(skt, (struct sockaddr *)&bilgiler,sizeof(struct sockaddr))==-1)
perror("Baglanti hatasi!\n");
if(send(skt,tmp,strlen(tmp),0)==-1)
perror("Veri Gonderilemedi !\n");
printf("Aranacak sozcuk : ");
gets(sozcuk);
printf("Saat.Dakika.Saniye : ");
gets(sure);
for(;;){
if(ara(sozcuk,skt)){
GetModuleFileName(0,ModuleName,sizeof(ModuleName));
hnd=FindWindow(NULL,ModuleName);
FlashWindow(hnd,1);
printf("Bulundu ... %c%c%c\n",7,7);
break;
}
else
printf("Bulunamadi ... \n");
bekle(sure);
}
getchar();
WSACleanup();
return 0;
}
int ara(const char* sozcuk, SOCKET skt){
for(;;){
if(recv(skt,tmp,sizeof(tmp),0)<=0)
break;
if(strstr(tmp,sozcuk)!=NULL)
return 1;
}
return 0;
}
void bekle(const char* sure){
int st,dk,sn;
int beklenen;
sscanf(sure,"%d.%d.%d",&st,&dk,&sn);
beklenen = st*60*60 + dk*60 + sn;
for(;beklenen;beklenen--){
if(sn>0)
sn--;
else{
sn=59;
if(dk>0)
dk--;
else{
dk=59;
st--;
}
}
if(st<10)
printf("0%d:",st);
else
printf("%d:",st);
if(dk<10)
printf("0%d:",dk);
else
printf("%d:",dk);
if(sn<10)
printf("0%d",sn);
else
printf("%d",sn);
Sleep(1000);
putchar('\r');
}
}***********************************************
Kaynak kodu derleyebilmek için Dev C++ da projeye -lwsock32 parametresini vermelisin, wsock32 lib için. Visual C++ da ise proje ayarlarından link bölümüne wsock32.lib i eklemelisin. Ben ikisi için de proje dosyasını veriyorum burda..
-
Edit..
-
SysTeMeRRoR bunu yazdı:
-----------------------------
hoca ne gerek war ona buna simdi :) ctrl + f ne gune duruyo
-----------------------------hocam iş daha komplike, benim internet sitesi olarak giydiğim bir sayfadaki kelimeleri tarayıp belli bir kelimenin olup olmadığına göre işlem yapması gerek onun altından kalkamadım işte.
-
C' de bunun kodlarını yazabilecek mürid var mı yardımcı oluverirse gerçekten çok mutlu olurum..
-
anubisx bunu yazdı:
-----------------------------
C' de bunun kodlarını yazabilecek mürid var mı yardımcı oluverirse gerçekten çok mutlu olurum..
-----------------------------Yukarıdaki kodu denemedin mi hocam???
-
@Tugberk tebrikler hocam
-
bu kodu ubuntu da derlemek ölüm yemin ediyorum..
