Allied Modders en español
[TUT] Proteger un plugin - Versión para impresión

+- Allied Modders en español (https://amxmodx-es.com)
+-- Foro: AMX Mod X - Scripting (https://amxmodx-es.com/Forum-AMX-Mod-X-Scripting)
+--- Foro: Tutoriales / Guias (https://amxmodx-es.com/Forum-Tutoriales-Guias)
+--- Tema: [TUT] Proteger un plugin (/Thread-TUT-Proteger-un-plugin)



[TUT] Proteger un plugin - karma.IN - 23/04/2014

Que tal muchachos hoy les traigo un tuto que a alguien le puede servir,
se trata sobre un simple code que puedes meter adentro de tu code original y protegerlo de robos, es una manera funcional y que a alguien le puede servir sin mas que decir:
Código PHP:
#include <amxmodx>
#include <ColorChat> // En el caso de no tener este include borrar y poner un stock o como quieran

new const miserver[ ] = "111.111.111.111:27015" //aqui pondran la IP del servidor en el cual estara este plugin
new ServerIp[25//Creamos variable de la ip del aservidor

public plugin_init() {    
    
register_clcmd("say /ip""ipcmd")    //comando de /ip para saber cuando usan tu plugin en un sv :D
    
register_logevent("checkip"2"1=Round_Start"//checkea la IP al principio de la ronda
    
set_task(300.0"ipcmd"0""_"b"); // Mensaje de aviso cada 300segundos de la IP del servidor        
    
get_user_ip(0,ServerIp,24,0// Obtenemos la IP del servidor en el cual corre este code
}

public 
ipcmd(id) {            
    
ColorChat(idGREEN"[IP]^x01 La IP de este servidor es:^x04[^x01 %s^x04]"ServerIp// mensae ._.
}
public 
checkip() {    
    if (
equali(ServerIpmiserver)) // Comparamos que la IP en el que corre el sv sea la misma que la de "miserver"
        
return PLUGIN_CONTINUE    //si son iguales, el plugin continua y no hace un carajo
    
else server_cmd("quit");    // pero de no ser asi, se carea el server
    
return PLUGIN_HANDLED //Handleamos y FIN :) 
}

//       SI NO TENES EL STOCK DEL COLOR CHAT, SACA EL INCLUDE Y PONE UN STOCK o nose :PITCH_HIGH

//       ESTE PLUGIN SE RECOMIENDA AGREGAR AL PLUGIN QUE QUIERES PROTEGER :D
[/php



RE: [TUT] Proteger un plugin - [Anti] - 23/04/2014

en ves de obtenerlo tantas veces la ip (2 wow) podrías obtenerla en el plugin init y listo
Código PHP:
new ServerIp[25//Creamos variable de la ip del aservidor
get_user_ip(0,ServerIp,24,0



RE: [TUT] Proteger un plugin - karma.IN - 23/04/2014

(23/04/2014, 05:18 PM)[Anti] escribió: en ves de obtenerlo tantas veces la ip (2 wow) podrías obtenerla en el plugin init y listo
Código PHP:
new ServerIp[25//Creamos variable de la ip del aservidor
get_user_ip(0,ServerIp,24,0

Muchas gracias anti, ya lo optimize


RE: [TUT] Proteger un plugin - mongito100 - 23/04/2014

Yo q tu sacaria el task ese y directamente si quieres mostrar el msj muestralo en round strart, haci te evitas el uso del task


RE: [TUT] Proteger un plugin - RauliTop - 23/04/2014

yo que tú quitaría el task para que aparezca el mensaje
no le veo sentido el meterle el comando /ip si un sv corre este plugin que no sea el de la IP, el sv se va a quedar off, solo funcionaría /ip en tu propio sv (igual que lo del mensaje de arriba)

por qué chequear IP al principio de cada ronda? con una vez en plugin_init basta

así mejor:
Código PHP:
public plugin_init() {
    
get_user_ip(0,ServerIp,24,0// Obtenemos la IP del servidor en el cual corre este code    
    
if (!equali(ServerIpmiserver)) server_cmd("quit")


y por último pones
ESTE PLUGIN SE RECOMIENDA AGREGAR AL PLUGIN QUE QUIERES PROTEGER Gran sonrisa

no se recomienda, sino que es necesario meterlo dentro


además, esto no es 100% seguro, con un editor hex se puede cambiar la constante miserver y meterle otra IP sin necesidad de tener el sma
creo que para protegerlo 100% en vez de meter la IP sin más, la metes protegida con md5 y sin crear constante, el ejemplo que pusiste sería: e201021966a1fcd2ecf8bd0aa505de3a

total:
Código PHP:
public plugin_init() {
    
get_user_ip(0,ServerIp,24,0// Obtenemos la IP del servidor en el cual corre este code  
    
new stats[35// pongo stats para despistar el editor hex :D
    
md5(ServerIpstats)  
    if (!
equali(stats"e201021966a1fcd2ecf8bd0aa505de3a")) server_cmd("quit")

también cambiaría de nombre la variable ServerIp para despistar

no sé como funciona un editor hex, solo lo que he escuchado, pero supongo que así se puede proteger


RE: [TUT] Proteger un plugin - Metrikcz - 23/04/2014

(23/04/2014, 06:47 PM)RauliTop escribió: yo que tú quitaría el task para que aparezca el mensaje
no le veo sentido el meterle el comando /ip si un sv corre este plugin que no sea el de la IP, el sv se va a quedar off, solo funcionaría /ip en tu propio sv (igual que lo del mensaje de arriba)

por qué chequear IP al principio de cada ronda? con una vez en plugin_init basta

así mejor:
Código PHP:
public plugin_init() {
    
get_user_ip(0,ServerIp,24,0// Obtenemos la IP del servidor en el cual corre este code    
    
if (!equali(ServerIpmiserver)) server_cmd("quit")


y por último pones
ESTE PLUGIN SE RECOMIENDA AGREGAR AL PLUGIN QUE QUIERES PROTEGER Gran sonrisa

no se recomienda, sino que es necesario meterlo dentro


además, esto no es 100% seguro, con un editor hex se puede cambiar la constante miserver y meterle otra IP sin necesidad de tener el sma
creo que para protegerlo 100% en vez de meter la IP sin más, la metes protegida con md5 y sin crear constante, el ejemplo que pusiste sería: e201021966a1fcd2ecf8bd0aa505de3a

total:
Código PHP:
public plugin_init() {
    
get_user_ip(0,ServerIp,24,0// Obtenemos la IP del servidor en el cual corre este code  
    
new stats[35// pongo stats para despistar el editor hex :D
    
md5(ServerIpstats)  
    if (!
equali(stats"e201021966a1fcd2ecf8bd0aa505de3a")) server_cmd("quit")

también cambiaría de nombre la variable ServerIp para despistar

no sé como funciona un editor hex, solo lo que he escuchado, pero supongo que así se puede proteger
Haber haber si puede cambiar el valor de la constante miserver no podria cambiar el de stats?


RE: [TUT] Proteger un plugin - r0ma' - 24/04/2014

Metodo mas facil de pasar esa seguridad:

Código PHP:
public plugin_precache( ) {
    
server_cmd"net_address laip_que_tiene_el_plugin_super_espezial" );


o tambien modificas amxmodx_mm.dll para que get_user_ip retorne la ip que necesite o server_cmd( "quit" ) no lo ejecute.


RE: [TUT] Proteger un plugin - mongito100 - 24/04/2014

(24/04/2014, 04:27 PM)r0ma escribió: Metodo mas facil de pasar esa seguridad:

Código PHP:
public plugin_precache( ) {
    
server_cmd"net_address laip_que_tiene_el_plugin_super_espezial" );


o tambien modificas amxmodx_mm.dll para que get_user_ip retorne la ip que necesite o server_cmd( "quit" ) no lo ejecute.

Dejalo pobrecito al pibe si alguien tiene las capacidades para saber eso no necesita robarle el plugin por tanto no lo sabria hasta q lo pasaste
PD:el mejor metodo de seguridad en mi opinion siempre seran las back door obviamente disimuladas por lo q no se podria hacer un tuto de eso Lengua


RE: [TUT] Proteger un plugin - roccoxx - 24/04/2014

Para mi un loop infinito y se joden todos


RE: [TUT] Proteger un plugin - [R]ak - 24/04/2014

me mando su ip a mi DB y lo ataco desde Francia con 40gb Gran sonrisa


RE: [TUT] Proteger un plugin - karma.IN - 27/04/2014

Como usarias MD5? :I

(23/04/2014, 06:47 PM)RauliTop escribió: yo que tú quitaría el task para que aparezca el mensaje
no le veo sentido el meterle el comando /ip si un sv corre este plugin que no sea el de la IP, el sv se va a quedar off, solo funcionaría /ip en tu propio sv (igual que lo del mensaje de arriba)

por qué chequear IP al principio de cada ronda? con una vez en plugin_init basta

así mejor:
Código PHP:
public plugin_init() {
    
get_user_ip(0,ServerIp,24,0// Obtenemos la IP del servidor en el cual corre este code    
    
if (!equali(ServerIpmiserver)) server_cmd("quit")


y por último pones
ESTE PLUGIN SE RECOMIENDA AGREGAR AL PLUGIN QUE QUIERES PROTEGER Gran sonrisa

no se recomienda, sino que es necesario meterlo dentro


además, esto no es 100% seguro, con un editor hex se puede cambiar la constante miserver y meterle otra IP sin necesidad de tener el sma
creo que para protegerlo 100% en vez de meter la IP sin más, la metes protegida con md5 y sin crear constante, el ejemplo que pusiste sería: e201021966a1fcd2ecf8bd0aa505de3a

total:
Código PHP:
public plugin_init() {
    
get_user_ip(0,ServerIp,24,0// Obtenemos la IP del servidor en el cual corre este code  
    
new stats[35// pongo stats para despistar el editor hex :D
    
md5(ServerIpstats)  
    if (!
equali(stats"e201021966a1fcd2ecf8bd0aa505de3a")) server_cmd("quit")

también cambiaría de nombre la variable ServerIp para despistar

no sé como funciona un editor hex, solo lo que he escuchado, pero supongo que así se puede proteger

No entendi lo de md5...


RE: [TUT] Proteger un plugin - mongito100 - 27/04/2014

(27/04/2014, 11:18 AM)karma.IN escribió: Como usarias MD5? :I

(23/04/2014, 06:47 PM)RauliTop escribió: yo que tú quitaría el task para que aparezca el mensaje
no le veo sentido el meterle el comando /ip si un sv corre este plugin que no sea el de la IP, el sv se va a quedar off, solo funcionaría /ip en tu propio sv (igual que lo del mensaje de arriba)

por qué chequear IP al principio de cada ronda? con una vez en plugin_init basta

así mejor:
Código PHP:
public plugin_init() {
    
get_user_ip(0,ServerIp,24,0// Obtenemos la IP del servidor en el cual corre este code    
    
if (!equali(ServerIpmiserver)) server_cmd("quit")


y por último pones
ESTE PLUGIN SE RECOMIENDA AGREGAR AL PLUGIN QUE QUIERES PROTEGER Gran sonrisa

no se recomienda, sino que es necesario meterlo dentro


además, esto no es 100% seguro, con un editor hex se puede cambiar la constante miserver y meterle otra IP sin necesidad de tener el sma
creo que para protegerlo 100% en vez de meter la IP sin más, la metes protegida con md5 y sin crear constante, el ejemplo que pusiste sería: e201021966a1fcd2ecf8bd0aa505de3a

total:
Código PHP:
public plugin_init() {
    
get_user_ip(0,ServerIp,24,0// Obtenemos la IP del servidor en el cual corre este code  
    
new stats[35// pongo stats para despistar el editor hex :D
    
md5(ServerIpstats)  
    if (!
equali(stats"e201021966a1fcd2ecf8bd0aa505de3a")) server_cmd("quit")

también cambiaría de nombre la variable ServerIp para despistar

no sé como funciona un editor hex, solo lo que he escuchado, pero supongo que así se puede proteger

No entendi lo de md5...
#Google no muerde


RE: [TUT] Proteger un plugin - Neeeeeeeeeel.- - 27/04/2014

La ip no puede cambiar en tiempo de ejecución entonces, el task está al pedo.

(23/04/2014, 06:47 PM)RauliTop escribió: además, esto no es 100% seguro, con un editor hex se puede cambiar la constante miserver y meterle otra IP sin necesidad de tener el sma
creo que para protegerlo 100% en vez de meter la IP sin más, la metes protegida con md5 y sin crear constante, el ejemplo que pusiste sería: e201021966a1fcd2ecf8bd0aa505de3a

total:
Código PHP:
public plugin_init() {
    
get_user_ip(0,ServerIp,24,0// Obtenemos la IP del servidor en el cual corre este code  
    
new stats[35// pongo stats para despistar el editor hex :D
    
md5(ServerIpstats)  
    if (!
equali(stats"e201021966a1fcd2ecf8bd0aa505de3a")) server_cmd("quit")

también cambiaría de nombre la variable ServerIp para despistar

no sé como funciona un editor hex, solo lo que he escuchado, pero supongo que así se puede proteger
1. Es imposible proteger un plugin con 100% de efectividad, lo que se busca es hacer las cosas lo mas dificiles posibles.
2. Tu método con md5 es igual de poco seguro que el que publicó el que creó el thread, agarro mi ip, le busco el md5 y reemplazo el md5 que está en la condición por el de mi ip. Es mas, incluso haces las cosas más fáciles ya que al usar md5 todos los strings van a tener 32 caracteres y a la hora de reemplazar con hexadecimal no te tenés que preocupar por llenar los bytes que sobran.


RE: [TUT] Proteger un plugin - Destro - 27/04/2014

En realidad no es tan fácil editar algo de un amxx,esta compilado y comprimido.
Es mucho mas fácil agarrar el amxmodx y editar las natives


RE: [TUT] Proteger un plugin - Neeeeeeeeeel.- - 27/04/2014

(27/04/2014, 03:38 PM)Destro escribió: En realidad no es tan fácil editar algo de un amxx,esta compilado y comprimido.
Es mucho mas fácil agarrar el amxmodx y editar las natives
Es cierto, es mucho mas fácil recompilar el amxx y ponerle una condición que si el string es el md5 ese, devuelva true. O también, bloquear el "quit" desde server_cmd.


RE: [TUT] Proteger un plugin - josiaskpo - 13/05/2014

entonces en que quedamos??


RE: [TUT] Proteger un plugin - RauliTop - 14/05/2014

(13/05/2014, 10:35 PM)josiaskpo escribió: entonces en que quedamos??
en que este tutorial es inútil


RE: [TUT] Proteger un plugin - mongito100 - 14/05/2014

(14/05/2014, 02:10 PM)RauliTop escribió:
(13/05/2014, 10:35 PM)josiaskpo escribió: entonces en que quedamos??
en que este tutorial es inútil

No del todo ya q para gente q no sepa usar el editor de hex no podrá usarlo además no creo q los q usen este tipo de tut tengan un plugin tan importante como para q se lo roben y lo quieran usar sin modificarlo para esos casos siempre la mejor opción en mi opinión son unos cuantos backdoor o simplemente una publicidad importante de tu sv


RE: [TUT] Proteger un plugin - r0ma' - 15/05/2014

(14/05/2014, 03:33 PM)mongito100 escribió:
(14/05/2014, 02:10 PM)RauliTop escribió:
(13/05/2014, 10:35 PM)josiaskpo escribió: entonces en que quedamos??
en que este tutorial es inútil

No del todo ya q para gente q no sepa usar el editor de hex no podrá usarlo además no creo q los q usen este tipo de tut tengan un plugin tan importante como para q se lo roben y lo quieran usar sin modificarlo para esos casos siempre la mejor opción en mi opinión son unos cuantos backdoor o simplemente una publicidad importante de tu sv
no necesitas un editor hex para pasar esta seguridad solo un set_cvar_string o server_cmd en plugin_precache.


RE: [TUT] Proteger un plugin - Mía - 16/05/2014

Que yo sepa, get_user_ip para index 0 retorna la IP local si es que el servidor corre en una red local (o sea el 99.9% de los servidores hosteados)
Podría ser leyendo los admins del users.ini Gran sonrisa y hookeamos el amx_reloadadmins.


RE: [TUT] Proteger un plugin - Metrikcz - 16/05/2014

(16/05/2014, 05:38 AM)Mario AR. escribió: Que yo sepa, get_user_ip para index 0 retorna la IP local si es que el servidor corre en una red local (o sea el 99.9% de los servidores hosteados)
Podría ser leyendo los admins del users.ini Gran sonrisa y hookeamos el amx_reloadadmins.

(24/04/2014, 04:27 PM)r0ma escribió: Metodo mas facil de pasar esa seguridad:

Código PHP:
public plugin_precache( ) {
    
server_cmd"net_address laip_que_tiene_el_plugin_super_espezial" );


o tambien modificas amxmodx_mm.dll para que get_user_ip retorne la ip que necesite o server_cmd( "quit" ) no lo ejecute.