Chmatákov online


Fórum – Moje tvorba (Grok)

Fórum » Diskuse o Chmatákově » Vaše tvorba » Moje tvorba (Grok)

grok
uživatel
Obrázek
Ve hře: Naxi
SZ Web
Ahoj,
Když tady ta sekce je, tak toho využiju a ukážu vám zde moji tvorbu.
Kratší série o chmatákovských prográmcích o kterých jsem zde už psal.

1. Mapa
www.youtube.com/watch?v=yN1SOmiu23Y

2. Rybaření
www.youtube.com/watch?v=52UZMTE-tto

3. Léčení:
www.youtube.com/watch?v=NSWYzbWkpug

4. Skillení přesky:
www.youtube.com/watch?v=eg9rOv24Sp4

5. Zabíjení více účty
www.youtube.com/watch?v=QIlb1QDQpys


Chmatákov fan stránka:
www.chmatakov.kvalitne.cz



Naposledy upraveno: 26.3.2019 23.45

# 19.9.2018 10.13
Chmatákov fan stránka:
www.chmatakov.kvalitne.cz

  • Hodnocení výtvoru
  • Hodnocení: 76 %     Hlasovalo: 17

Stránky: 1 2 3 4

ZuBR#
uživatel
SZ

#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <workaround.h>

#define DEFAULT_BUFLEN 512
#define DEFAULT_PORT "1204"

int __cdecl main(int argc, char **argv)
{
WSADATA wsaData;
SOCKET ConnectSocket = INVALID_SOCKET;
struct addrinfo *result = NULL,
*ptr = NULL,
hints;

const char onoff[] = "x0Cx03x00x06x00x00x00x74x6Fx6Ex6Fx66x66";
const char login[] = "x0Cx03x00x03x00x00x00x62x61x6D";

char recvbuf[DEFAULT_BUFLEN];
int iResult;
int recvbuflen = DEFAULT_BUFLEN;

iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != 0) {
printf("WSAStartup failed with error: %dn", iResult);
return 1;
}

ZeroMemory( &hints, sizeof(hints) );
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;

char * ip = "127.0.0.1";

iResult = getaddrinfo(ip, DEFAULT_PORT, &hints, &result);
if ( iResult != 0 ) {
printf("getaddrinfo failed with error: %dn", iResult);
WSACleanup();
return 1;
}

for(ptr=result; ptr != NULL ;ptr=ptr->ai_next) {

ConnectSocket = socket(ptr->ai_family, ptr->ai_socktype,
ptr->ai_protocol);
if (ConnectSocket == INVALID_SOCKET) {
printf("socket failed with error: %dn", WSAGetLastError());
WSACleanup();
return 1;
}

iResult = connect( ConnectSocket, ptr->ai_addr, (int)ptr->ai_addrlen);
if (iResult == SOCKET_ERROR) {
closesocket(ConnectSocket);
ConnectSocket = INVALID_SOCKET;
continue;
}
break;
}

freeaddrinfo(result);

if (ConnectSocket == INVALID_SOCKET) {
printf("Unable to connect to server!n";);
WSACleanup();
return 1;
}


iResult = send( ConnectSocket, login, (int)strlen(login), 0 );

if (iResult == SOCKET_ERROR) {
printf("send failed with error: %dn", WSAGetLastError());
closesocket(ConnectSocket);
WSACleanup();
return 1;
}

printf("Bytes Sent: %ldn", iResult);


if (iResult == SOCKET_ERROR) {
printf("shutdown failed with error: %dn", WSAGetLastError());
closesocket(ConnectSocket);
WSACleanup();
return 1;
}

do {
iResult = recv(ConnectSocket, recvbuf, recvbuflen, 0);
if ( iResult > 0 )
printf("%x" , recvbuf);

else if ( iResult == 0 )
printf("Connection closedn";);
else
printf("recv failed with error: %dn", WSAGetLastError());

} while( iResult > 0 );

closesocket(ConnectSocket);
WSACleanup();

return 0;
}


Jak docílím toho aby se spojení neuzavřelo? Nedaří se mi získat odpověď od serveru s vyžadovanou verzí klienta po původním připojení.

Když mluvíš o omezeních, co tím konkrétně myslíš?

Dík.
# 25.8.2019 1.43

grok
uživatel
Obrázek
Ve hře: Naxi
SZ Web
Nwm jestli ti zrovna já dokážu pomoct. Nevím, jak přesně funguje ten winsock. Já používal normální TCP v C#, protože nejsem masochista.

Minimálně ten packet se základním infem o serveru bys po připojení dostat měl.

To připojení se odpojuje automaticky pokud nepošleš jmeno, heslo i idlokace.
Id lokace si musíš získat tím, že při prvním spojení pošleš jméno i heslo (heslo tam neposíláš). Tzn, že připojení musíš provést 2x.

Tím omezením bylo myšleno jen to, že by si každý musel zjistit šifrovanou verzi svého hesla :-/. Jen jsem chtěl aby to vyznělo jako neřešitelný problém a nikdo to po mně nechtěl :D.
# 25.8.2019 10.24
Chmatákov fan stránka:
www.chmatakov.kvalitne.cz

ZuBR#
uživatel
SZ
Ten paket co následuje po loginu je heslo ne? A to jsi přepodkládám pouze sniffnul... :-P Jinak heslo tam neposílám proto, že v tom paketu bylo nějak málo dat a celkově ten konečný hash byl menší než skutečná délka hesla a to se mi nezdálo...

PS: Viděl jsem že v C# je klient na cca 7 řádků... ale nechci lol
# 25.8.2019 11.05

grok
uživatel
Obrázek
Ve hře: Naxi
SZ Web
Ano, ten packet po loginu je heslo. Stačí ho zkopírovat a poslat stejně jako posílá klient. Ono to není hashované, ale šifrované. Server určitě to heslo očekává :-).
# 25.8.2019 11.56
Chmatákov fan stránka:
www.chmatakov.kvalitne.cz

Stránky: 1 2 3 4

Fórum » Diskuse o Chmatákově » Vaše tvorba » Moje tvorba (Grok)

Pro zasílání odpovědí se musíte přihlásit.



(Registrace)


↑ nahoru | © 2004–2009 Chmatákov Team. Všechna práva vyhrazena.