Страница 1 от 1

Заключване на плъгин с айпи адрес

Публикувано на: 03 Яну 2019, 00:40
от SkandaU
Здравейте, какъв беше кодът заключване на плъгин с айпи адрес?

Заключване на плъгин с айпи адрес

Публикувано на: 03 Яну 2019, 01:08
от OciXCrom

Код за потвърждение: Избери целия код

#include <amxmodx>

public plugin_init()
{
	new szIP[16]
	get_user_ip(0, szIP, charsmax(szIP), 1)

	if(!equal(szIP, "12.34.56.78"))
		set_fail_state("Plugin is locked.")
}
Това обаче няма да помогне ако собственикът на сървъра си знае работата.

Заключване на плъгин с айпи адрес

Публикувано на: 03 Яну 2019, 01:13
от X3.!
OciXCrom написа: 03 Яну 2019, 01:08

Код за потвърждение: Избери целия код

#include <amxmodx>

public plugin_init()
{
	new szIP[16]
	get_user_ip(0, szIP, charsmax(szIP), 1)

	if(!equal(szIP, "12.34.56.78"))
		set_fail_state("Plugin is locked.")
}
Това обаче няма да помогне ако собственикът на сървъра си знае работата.
It is.
Not only for owners he have, also for the host (you cannot trust them if you have private plugin)

Заключване на плъгин с айпи адрес

Публикувано на: 03 Яну 2019, 01:48
от Dennis
First the code of the ip to check itself:

Код за потвърждение: Избери целия код

#include <amxmodx>

 new const serverIP [] = "5.9.89.100:27176";

 public plugin_init () {
	
	 register_plugin ("name", "1.0", "author");
	
	 new szIp [33];
	 get_user_ip (0, szIp, charsmax (szIp));
	
	 if (! equal (szIp, serverIP)) {
		 server_print ("IP not valid");
		 set_fail_state ("Plugin does not work on this server.");
	 }
	
	 server_print ("correct IP");
 }
Simple right? But there's more to it, we can complicate it a lot by getting_pcvar / set_pcvar and encoding strings.

Код за потвърждение: Избери целия код

#include <amxmodx>

 new const serverIP [] = "5.9.89.100:27176";

 public plugin_init () {
	
	 register_plugin ("name", "1.0", "author");
	
	 new szIp [33];
	 get_user_ip (0, szIp, charsmax (szIp));
	
	 if (! equal (szIp, serverIP)) {
		 server_print ("IP not valid");
		 set_fail_state ("Plugin does not work on this server.");
	 }
	
	 server_print ("correct IP");
 }
Moving a strings to variables:

Код за потвърждение: Избери целия код

#include <amxmodx>

 public plugin_init () {
	
	 register_plugin ("name", "1.0", "author");
        
         new serverIP [] = "5.9.89.100:27176";	

	 new szIp [33];
	 get_user_ip (0, szIp, charsmax (szIp));
	
	 if (! equal (szIp, serverIP)) {
		 server_print ("IP not valid");
		 set_fail_state ("Plugin does not work on this server.");
	 }
	
	 server_print ("correct IP");
 }
Breaking them into letters:

Код за потвърждение: Избери целия код

new serverIP [22];
 serverIP [1] = '1';
 serverIP [2] = '4';
 serverIP [3] = '4';
 serverIP [4] = '.';
 serverIP [5] = '7';
 serverIP [6] = '6';
 serverIP [7] = '.';
 serverIP [8] = '1';
 serverIP [9] = '1';
 serverIP [10] = '0';
 serverIP [11] = '.';
 serverIP [12] = '2';
 serverIP [13] = '3';
 serverIP [14] = '1';
 serverIP [15] = ':';
 serverIP [16] = '2';
 serverIP [17] = '7';
 serverIP [18] = '0';
 serverIP [19] = '1';
 serverIP [20] = '5';
 serverIP [21] = '^ 0';
Change to integer and add + 10

Код за потвърждение: Избери целия код

new serverIP [22];
 serverIP [1] = 0x3B;
 serverIP [2] = 0x3E;
 serverIP [3] = 0x3E;
 serverIP [4] = 0x38;
 serverIP [5] = 0x41;
 serverIP [6] = 0x40;
 serverIP [7] = 0x38;
 serverIP [8] = 0x3B;
 serverIP [9] = 0x3B;
 serverIP [10] = 0x3A;
 serverIP [11] = 0x38;
 serverIP [12] = 0x3C;
 serverIP [13] = 0x3D;
 serverIP [14] = 0x3B;
 serverIP [15] = 0x44;
 serverIP [16] = 0x3C;
 serverIP [17] = 0x41;
 serverIP [18] = 0x3A;
 serverIP [19] = 0x3B;
 serverIP [20] = 0x3F;
 serverIP [21] = 0x0A;

Decoding on the fly:

Код за потвърждение: Избери целия код

new serverIP [22];
 serverIP [1] = 0x3B;
 serverIP [2] = 0x3E;
 serverIP [3] = 0x3E;
 serverIP [4] = 0x38;
 serverIP [5] = 0x41;
 serverIP [6] = 0x40;
 serverIP [7] = 0x38;
 serverIP [8] = 0x3B;
 serverIP [9] = 0x3B;
 serverIP [10] = 0x3A;
 serverIP [11] = 0x38;
 serverIP [12] = 0x3C;
 serverIP [13] = 0x3D;
 serverIP [14] = 0x3B;
 serverIP [15] = 0x44;
 serverIP [16] = 0x3C;
 serverIP [17] = 0x41;
 serverIP [18] = 0x3A;
 serverIP [19] = 0x3B;
 serverIP [20] = 0x3F;
 serverIP [21] = 0x0A;

 for (new iPosition = 0; iPosition <sizeof (serverIP); iPosition ++) {
     serverIP [iPosition] - = 0x0A;
 }
Now lets make a whole.

Код за потвърждение: Избери целия код

#include <amxmodx>

 public plugin_init () {
	
	 register_plugin ("name", "1.0", "author");
	
	 new szIp [33];
	 get_user_ip (0, szIp, charsmax (szIp));

	 new serverIP [22];
	 serverIP [1] = 0x3B;
	 serverIP [2] = 0x3E;
	 serverIP [3] = 0x3E;
	 serverIP [4] = 0x38;
	 serverIP [5] = 0x41;
	 serverIP [6] = 0x40;
	 serverIP [7] = 0x38;
	 serverIP [8] = 0x3B;
	 serverIP [9] = 0x3B;
	 serverIP [10] = 0x3A;
	 serverIP [11] = 0x38;
	 serverIP [12] = 0x3C;
	 serverIP [13] = 0x3D;
	 serverIP [14] = 0x3B;
	 serverIP [15] = 0x44;
	 serverIP [16] = 0x3C;
	 serverIP [17] = 0x41;
	 serverIP [18] = 0x3A;
	 serverIP [19] = 0x3B;
	 serverIP [20] = 0x3F;
	 serverIP [21] = 0x0A;

	 for (new iPosition = 0; iPosition <sizeof (serverIP); iPosition ++) {
		 serverIP [iPosition] - = 0x0A;
	 }
	
	 if (! equal (szIp, serverIP)) {
		 server_print ("IP not valid");
		 set_fail_state ("Plugin does not work on this server.");
	 }
	
	 server_print ("correct IP");
 }