EliteHackers
SALUT 2022!! NE-AM MUTAT PE DISCORD ! Vrei să inviți un prieten? [T]eoria [H]aosului [C]ontrolat - https://discord.com/invite/U4HBCHzm7r Acesta aste link-ul oficial al acestui server.
Lista Forumurilor Pe Tematici
EliteHackers | Reguli | Inregistrare | Login

POZE ELITEHACKERS

Nu sunteti logat.
Nou pe simpatie:
lovely_pink
Femeie
25 ani
Bucuresti
cauta Barbat
25 - 48 ani
EliteHackers / Programare / Chat Consola / C++ Moderat de Ad_Infinitum, AntiKiler, Puscas_marin, r3v
Autor
Mesaj Pagini: 1
Exploit
Administrator

Din: I'm from everywhere..
Inregistrat: acum 18 ani
Postari: 600
Un chat tip consola creat in C++, el joaca defapt rol de server si asculta pe portul 100. Se recomanda a se folosi Putty pt client sau ceva fara caracteristica (terminal, adica trimite caracterele tastate imediat). In momentul in care un client se conecteaza va afisa si IP-ul, iar cand va receptiona un mesaj va reda un sunet. Se poate accesa de pe Internet fara probleme. Acum eu va dau sursa, dar nu si sunetul, sunetul il luati si redenumiti: sound.wav
COD:
=====================



#include <iostream>
#include <stdio.h>
#include <winsock2.h>
#include <windows.h>
#pragma comment(lib, "ws2_32"
#pragma comment(lib, "Winmm"
using namespace std;

#ifndef EROARE
#define EROARE (-1)
#endif
#ifndef FALS
#define FALS 0
#endif
#define MsgIntapinare "*========================================rnCopyright (C) 2006-2007 Win32 Corporationrn*========================================rnrnChat activ.rn"
#define port 100
char de_trimis[256]="";
char msg[256]="";
char end[]="rn";
char de_primit[256]="";
char semn[]="rn--> ";

BOOL Thread_Send(LPVOID param)
{    SOCKET accsckSOCKET)param;
    while(gets_s(msg, sizeof(msg)))
    {
        strcat_s(de_trimis, semn);
        strcat_s(de_trimis, msg);
        strcat_s(de_trimis, end);
        send(accsck, de_trimis, sizeof(de_trimis), 0);
        ZeroMemory(de_trimis, sizeof(de_trimis));
    }
    return TRUE;
}

int main(void)
{    SetConsoleTitle("[[Real Chat]] - v0.1";
    //HANDLE IdentifStdout=GetStdHandle(STD_OUTPUT_HANDLE);
    //SetConsoleTextAttribute(IdentifStdout,FOREGROUND_INTENSITY | FOREGROUND_BLACK | BACKGROUND_GREEN);
    cout<<MsgIntapinare<<"---------------------------"<<endl;

//Initializare WSA.
    WSADATA wsdt;
    int wsaini;
    WORD wVersion=MAKEWORD(2,2);
    wsaini = WSAStartup(wVersion, &wsdt);
    if(wsaini == EROARE)
    {    printf("WSAStartupt == ERROR";
        WSACleanup();
    }
    else cout<<"WSAStartupt == OK"<<endl;

//Creare socket.
    SOCKET listen_socket;
    listen_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if(listen_socket == EROARE)
    {    cout<<"Listen_Sockett == ERROR"<<endl;
        closesocket(listen_socket);
        WSACleanup();
    }
    else cout <<"Listen_Sockett == OK"<<endl;

//Atribuie un port socketului creat. (BIND)
    sockaddr_in local_server;
    local_server.sin_family            = AF_INET;
    local_server.sin_addr.s_addr    = INADDR_ANY;
    local_server.sin_port            = htons(port);
    int unire;
    unire = bind(listen_socket, (SOCKADDR*) &local_server, sizeof(local_server));
    if(unire == EROARE)
    {    cout<<"Bind_funct == ERROR"<<endl;
        closesocket(listen_socket);
        WSACleanup();
    }
    else cout <<"Bind_funct == OK"<<endl;

//Asculta pe socket.
    int asculta;
    asculta=listen(listen_socket, 10);
    if(asculta == EROARE)
    {    cout <<"Listen_funct == ERROR"<<endl;
        closesocket(listen_socket);
        WSACleanup();
    }
    else cout<<"Listen_funct == OK"<<endl;
   
    cout<<"Portul este:t == "<<port<<endl;
    cout<<"---------------------------rn"<<endl;
//---------------------------------
    sockaddr_in remote_client;
    int sin_size;
    sin_size=sizeof(sockaddr_in);
//---------------------------------
    for(;{
//Accepta conexiuni.
    SOCKET accept_socket;
    cout<<"Se asteapta conexiuni..."<<endl;
    while(accept_socket=accept(listen_socket,(SOCKADDR*)&remote_client, &sin_size))
    {    cout<<"Client conectat"<<endl;
        cout<<"IP: "<<inet_ntoa(remote_client.sin_addr)<<"rn"<<endl;
        send(accept_socket, MsgIntapinare, strlen(MsgIntapinare), 0);
        DWORD tSend;
        HANDLE ***;
        *** =CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE) Thread_Send, (LPVOID) accept_socket, NULL, &tSend);
        while(recv(accept_socket, de_primit, sizeof(de_primit), 0))
        {
            cout<<semn<<de_primit<<endl;
            ZeroMemory(de_primit, sizeof(de_primit));
            PlaySound("sound.wav",NULL, SND_FILENAME |SND_SYNC);
        }
        //TerminateThread(***,0);
        cout<<"Client deconectat.."<<endl;
        closesocket(accept_socket);
        break;
    }
    }
    cout<<"am iesit din bucla"<<endl;
    system("pause";
    return FALS;
}





====================================
Pana aici.
Dati un copy peste cod si apoi il salvati ca fisier cu extensia *.cpp Se recomanda a se compila cu Microsoft Visual Studio 2005 folosind comanda de consola CL.exe /EHsc chat.cpp
Daca il compilati cu altceva veti avea probleme cu strcat_s, si trebuie sa-l redenumiti strcat.
Cam atat.


_______________________________________
...:::Only God Can Judge Me:::...

pus acum 18 ani
   
Pagini: 1  

Mergi la