|
You last visited: Today at 00:26
Advertisement
[Source] Antiplagiatsfunktion
Discussion on [Source] Antiplagiatsfunktion within the Flyff Private Server forum part of the Flyff category.
04/28/2011, 23:03
|
#1
|
elite*gold: 0
Join Date: May 2009
Posts: 122
Received Thanks: 160
|
[Source] Antiplagiatsfunktion
Ok, da Pumbaaa sich beschwert hat werde ich alles releasen
1. Ein Programm zum encrypten und anzeigen des Computernamens und der IP
#include <stdio.h>
#include <WinSock.h>
#include <iostream>
#pragma comment(lib, "wsock32.lib")
//encrypt by .Crasy
CHAR* encrypt(const char* plaintext)
{
int len = strlen(plaintext);
char* cyphertext = new char[len+1];
for(int i=0 ; i<len ; ++i)
{
cyphertext[i] = plaintext[i] + 65453135 - 32535454;
}
cyphertext[len] = 0;
return cyphertext;
}
int main(int argc, char *argv[])
{
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 1, 1 );
char *ip;
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
if( gethostname ( name, sizeof(name)) == 0)
{
printf("Host name: %s\n", name);
if((hostinfo = gethostbyname(name)) != NULL)
{
int nCount = 0;
while(hostinfo->h_addr_list[nCount])
{
ip = inet_ntoa(*(
struct in_addr *)hostinfo->h_addr_list[nCount]);
printf("IP #%d: %s\n", ++nCount, ip);
getchar();
}
}
}
puts("\nHostname encrypted in INT:\n");
char* ext = encrypt(name);
for(int i=0; i<strlen(ext);i++)
std::cout << ext[i]-'0' << std::endl;
puts("\n\nIP encrypted in INT:\n");
char* ext2 = encrypt(ip);
for(int i=0; i<strlen(ext2);i++)
std::cout << ext2[i]-'0' << std::endl;
getchar();
return 0;
}
2. die eigentliche Schutzfunktion
1. DPMng.cpp in der Funktion BOOL InitializeNetLib() unter LOAD_WS2_32_DLL;
#if !defined(__CLIENT) & defined(__SYSSECURITY)
PHOSTENT hostinfo;
CHAR name[260];
CHAR * ip;
if( gethostname( name, sizeof(name) ) == 0 )
{
if( ( hostinfo = gethostbyname( name ) ) )
ip = inet_ntoa( *(struct in_addr*)*hostinfo->h_addr_list ) ;
}
int cmpip[] = {-78,-70,-77,-81,-78,-73,-71,-81,-78,-81,-77,0,}; //Hier müsst ihr eure verschlüsselte IP in einzelnen chars eintragen, in diesem Fall ist zB jede -81 ein . von der IP
ip = encrypt(ip);
int cmphost[] = {-52,-54,-45,-62,-82,-79,-79,-78,0,}; //Hier kommt euer Hostname rein (euer Computername) in meinem Fall KIRA-001
char * nameext = encrypt(name); //wieder Encrypt^^
for(int i=0;cmpip[i]!=0;i++)
{
if(ip[i]!=cmpip[i]+'0')
{
return FALSE;//Falls eine Stelle nicht übereinstimmt (alternativ auch exit(0) 
}
}
for(int i=0;cmphost[i]!=0;i++)
{
if(nameext[i]!=cmphost[i]+'0')
{
return FALSE; // s.o.
}
}
#endif
2. über obriger Funktion definiert ihr eure Encrypt-Funktion
#ifdef __SYSSECURITY
//encrypt by .Crasy
CHAR* encrypt(const char* plaintext)
{
int len = strlen(plaintext);
char* cyphertext = new char[len+1];
for(int i=0 ; i<len ; ++i)
{
cyphertext[i] = plaintext[i] + 65453135 - 32535454;
}
cyphertext[len] = 0;
return cyphertext;
}
#endif
In der VersionCommon.h dann noch
Code:
#define __SYSSECURITY
...und wenn ihr alles richtig eingefügt habt wird bei falscher IP oder Computername jedes Mal beim Netzwerkaufbau der Server nicht starten^^
Viel Spaß damit
|
|
|
04/29/2011, 00:41
|
#2
|
elite*gold: 20
Join Date: Apr 2009
Posts: 804
Received Thanks: 829
|
Uuuunnnnd ein weiterer sinnfreier Release.
Diejenigen die den Algo kennen bzw ihn logisch schließen können, können sich so ein Ding auch gut selber basteln, also: Sinnlos und Spam (meine Meinung).
|
|
|
04/29/2011, 09:57
|
#3
|
elite*gold: 0
Join Date: May 2009
Posts: 122
Received Thanks: 160
|
willst du damit sagen dass ich entweder alles oder garnichts releasen soll?
Ansonsten kann ich dir tatsächlich nur zustimmen, dass Leute, die den Algho nachvollziehen können, das ganze auch selbst programmieren können^^.
Trotzdem ist es kein Spam:
Quote:
|
Als Spam [spæm] oder Junk (englisch für ‚Abfall‘ oder ‚Plunder‘) werden unerwünschte [...] Nachrichten bezeichnet, die dem Empfänger unverlangt zugestellt werden und häufig werbenden Inhalt haben.
|
Da sich bereits jmnd bedankt hat denke ich nicht, dass dieser Thread unerwünscht ist.
Desweiteren kann dieser Code auch als Programmierbeispiel dienen.
|
|
|
04/29/2011, 10:11
|
#4
|
elite*gold: 30
Join Date: Oct 2010
Posts: 1,509
Received Thanks: 849
|
Ich finds gut. Für diejenigen, die es gebrauchen können versteht sich.
|
|
|
04/29/2011, 10:19
|
#5
|
elite*gold: 45
Join Date: Mar 2010
Posts: 1,561
Received Thanks: 350
|
XD,
fand davor schon nice Release ;b
auf jeden fall gut zu gebrauchen
|
|
|
04/29/2011, 11:14
|
#6
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
|
Quote:
Originally Posted by Pumbaaa
Uuuunnnnd ein weiterer sinnfreier Release.
Diejenigen die den Algo kennen bzw ihn logisch schließen können, können sich so ein Ding auch gut selber basteln, also: Sinnlos und Spam (meine Meinung).
|
Da bekommt man etwas gutes vorgelegt und du meckerst ?
Dann bring du etwas raus und hof mal, dass nicht jeder meckert ok ?
@Topic:
Ich find es nice, aber die methode kannte ich schon-
|
|
|
04/29/2011, 11:52
|
#7
|
elite*gold: 45
Join Date: Oct 2010
Posts: 2,065
Received Thanks: 416
|
xDDD da meckert pumbaa , dass er's releasen soll und dann sagt er es ist sinnlos und richtig einfach omg
Ansonsten Nice Release hat mir geholfen
|
|
|
04/29/2011, 13:19
|
#8
|
elite*gold: 0
Join Date: Aug 2010
Posts: 190
Received Thanks: 46
|
ich finds auch gut, werde es zwar nicht gebrauchen aber für die die es brauchen nice
|
|
|
All times are GMT +1. The time now is 00:27.
|
|