Enviar respuesta 
No-Flash & Anti-NoFlash (Información & Funcionamiento)
Autor Mensaje
Cr3470r Ausente
Anti-cheat Team


Mensajes: 438
Registro en: Feb 2014
Reputación: 8
Mensaje: #1
No-Flash & Anti-NoFlash (Información & Funcionamiento)
Descripción:

El No-Flash es un tipo de Cheat, el cual, mediante la ejecución o modificación de código en el juego, permite que nuestro Cliente no sea cegado por el efecto de una Flashbang.

Tipos de No-Flashs & sus códigos:

Bueno, el resultado SIEMPRE es el mismo en este caso, el cual es eliminar el efecto de las Flashbangs, pero la variedad de códigos para logar esto es muy variada.

Método #1: (OpenGL)

Directamente con el renderizado del juego, se puede detectar cuando nuestra pantalla se vaya a poner de color blanca, cuando esto pase, se le cambia el Alpha del color y se remueve el efecto.


El código es el siguiente:

Código PHP:
//Esto se hace mediante el hookeo a una función de OpenGL32.dll
//Esto funciona para CUALQUIER JUEGO que utilice el OpenGL como renderizado...

bool bFlash FALSE;

void WINAPI glBegin GLenum mode //Función hookeada de Opengl32.dll
{
    if ( 
mode == GL_QUADS //Si se va a dibujar un cuadrado (pantalla :P) ...
    
{
        static 
float col[4];
        
glGetFloatv GL_CURRENT_COLORcol ); //Obtener color actual ...
        
bFlash = ( col[0] == 1.0 && col[1] == 1.0 && col[2] == 1.0 ); //Si el color de la pantalla es blanco, entonces es una flash ...
    
}
}

void WINAPI glVertex2f GLfloat xGLfloat y //Función hookeada de Opengl32.dll
{
    if ( 
bFlash && == 0.0 && == 0.0 //Entonces si hay un efecto de la Flashbang ...
        
glColor4f 1.0f1.0f1.0f0.0f ); //Remover el valor Alpha para elimiar el efecto ...


Método #2: (Engine)

Dicho anteriormente, el efecto es el mismo, pero acá en vez de utilizar funciones en OpenGL, se utilizan funciones del Engine.


El código es el siguiente:

Código PHP:
//Esto se hace mediante el hookeo a una función de client.dll
//Esto funciona para CUALQUIER render del juego, tanto OpenGL, como Direct3D o Software...

void Hook_HUD_Redraw float xint y //Funcion hookeada de client.dll utilizada para hacer dibujados ...
{
    static 
screenfade_t sf = { 0.00.00.00.00000};
    
pEngfuncs->pfnSetScreenFade ( &sf ); //Aplicamos continuamente un ScreenFade limpio, cosa de eliminar cualquier otro ScreenFade ...



Métodos de Anti-NoFlash y sus códigos:

Para contrarrestar este tipo de Cheat lo primero que se hacía es espectear al jugador y ver cómo reaccionaba mediante el efecto de una Flashbang, entonces si éste tenia un buen control y mostraba actitudes como que nada le hacía, entonces era obvio que estaba usando algún Cheat.

Hoy en día existe un método para bloquear este tipo de Cheat, el cual hace uso de la función AddToFullPack, y lo que se hace es chequear si el jugador fué cegado por una Flashbang, se calcula el tiempo que tardaría en desaparecer el efecto de cegado, y mientras tanto, TODA información de entidades es removida para el jugador hasta que el tiempo de cegado termine.

El código que pueden utilizar, es el siguiente:

Código PHP:
#include <amxmodx>
#include <fakemeta>    

public plugin_init ( )
{
    
register_forward FM_AddToFullPack"Fw_AddToFullPack"//Registramos ...
}

public 
Fw_AddToFullPack ( const es_handle, const e, const ent, const host, const flags, const player, const set )
{
    if ( ( 
get_pdata_int host518 ) > 200 ) && ( get_gametime ( ) < get_pdata_float host515 ) + get_pdata_float host516 ) ) ) //Si el jugador fué flasheado ...
    
{
        
forward_return FMV_CELL//Directamente desactivarle el AddToFullPack al jugador ...
        
return FMRES_SUPERCEDE
    
}



Nota: @Neeeeeeeeeel.- avisame si hay algo que no va dentro del post ...
Si alguien no comprende alguna parte de algún código, siéntase libre de preguntar ...
Cualquiera que quiera aportar nuevas ideas a ésto, ¡va a ser bienvenido! ...

[SteamID: Rainnegan]

Destro escribió:  Igual el nombre es horrible, algo así quedaría mejor:
Código PHP:
public g_maxplayers 
02/11/2018 10:29 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Destro Sin conexión
Anti-cheat Team


Buen Tutorial Plugin developer Pensador Plugin popular
Mensajes: 820
Registro en: Oct 2013
Reputación: 4
Mensaje: #2
RE: No-Flash & Anti-NoFlash (Información & Funcionamiento)
Me gusta como lo hace el sxe, si simplemente haces que no se muestre a otros jugadores, todavía podes moverte y apuntar normalmente, pero el sxe te deja re mareado, no podes hacer nada jaja

02/11/2018 11:24 PM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Cr3470r Ausente
Anti-cheat Team


Mensajes: 438
Registro en: Feb 2014
Reputación: 8
Mensaje: #3
RE: No-Flash & Anti-NoFlash (Información & Funcionamiento)
(02/11/2018 11:24 PM)Destro escribió:  Me gusta como lo hace el sxe, si simplemente haces que no se muestre a otros jugadores, todavía podes moverte y apuntar normalmente, pero el sxe te deja re mareado, no podes hacer nada jaja

Justamente eso mismo hace el código que dejé acá, y sobre el Injected tiene sus problemas:

1) Si antes de empezar la ronda te flashean, se te descajeta todo al principio de la ronda.
2) Si el server tiene la sigla "HNS", por más que el server sea un público, se desactiva la protección.
3) Si el server tiene un plugin para flashear al jugador, el bloqueo no hace nada cuando debería de funcionar.

Más motivos para NO usar Injected en el servidor ...

[SteamID: Rainnegan]

Destro escribió:  Igual el nombre es horrible, algo así quedaría mejor:
Código PHP:
public g_maxplayers 
(Este mensaje fue modificado por última vez en: 02/11/2018 11:27 PM por Cr3470r.)
02/11/2018 11:27 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Enviar respuesta 


Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)

Contáctanos | Allied Modders en español | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS