Ocultar un variable para programas externos.

Iniciado por anonimo12121, 8 Marzo 2011, 00:30 AM

0 Miembros y 2 Visitantes están viendo este tema.

anonimo12121

Hola como toy aprendiendo clases etc...

Y ma dado la curiosidad del private.
He provado para comprovar si era modificable la variable. y oro en private se muede modificar desde el cheat enginer , hay formas para que no se pueda hacer esto?
#include <iostream>
using namespace std;
class clase{
    private:
        int oro;
    public:
        void addoro(int x);
        int vieworo();
};
void clase::addoro(int x){
    oro=x;
};
int clase::vieworo(){
    return oro;
};
int main(int argc,char *argv[]){
    clase pj;
    pj.addoro(23);
    while(1){
        cout << pj.vieworo() << "\t" << endl;
        cin.get();
    }
    cin.get();
    return 0;
}
Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746

ace332

Citar
                                                                                    Privacy Versus Security
Declaring methods or data private enables the compiler to find programming mistakes before they become bugs. Any programmer worth his consulting fees can find a way around privacy if he wants to. Stroustrup, the inventor of C++, said, "The C++ access control mechanisms provide protection against accident--not against fraud." (ARM, 1990.)
Fuente: Teach Yourself C++ in 21 Days, Second Edition

anonimo12121

Cita de: BeetleJuice en  8 Marzo 2011, 01:00 AM
Fuente: Teach Yourself C++ in 21 Days, Second Edition
El google traductor no es muy bueno. Y no lo entendido muy bien.
Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746

ace332

Bueno, aqui va una traducción un tanto informal:

Citar
                                                                     Privacidad Versus Seguridad


Declarar métodos o datos private habilita al compilador a encontrar errores de programación antes de que estos se conviertan en bugs. Cualquier programador competente puede encontrar la manera de violar esta privacidad si así lo desea. Stroustrup, el inventor del C++, dice, "El mecanismo de control de acceso del C++ provee protección contra accidentes -- no contra fraudes."
Fuente: Aprenda Ud. mismo C++ en 21 dias, Segunda edición.

Un saludo 

Littlehorse

Hay varios niveles de complejidad que dependen de que tanto queres proteger un programa.
Por ejemplo, ofuscando el código podes lograr que quien quiera utilizar Cheat Engine tenga que primero analizar la lógica que empleaste. Es decir, en lugar de tener una variable 'A' con el dato especifico, tenes la variable 'A', 'B' y 'C' que combinadas de una forma en particular generan el valor necesario para el progreso del programa, utilizando algún tipo de cifrado, etc.
Con la ofuscación te aseguras que por lo menos no puedan hacer trampa los típicos usuarios que utilizan Cheat Engine buscando un valor y luego limitando el rango buscando nuevamente que valores cambiaron. No podrás frenar a los creadores de cheats solo ofuscando el código, pero si podrás frenar a los que podríamos denominar newbies.

Saliendo de la ofuscación, algo coherente y que la mayoría de juegos online hacen es usar un sistema de protección aparte, donde el núcleo es un driver. A grandes rasgos lo que se hace es hookear ciertas funciones y chequear los parámetros para permitir o denegar las operaciones, en pos de poder evitar la modificación de la memoria del juego.
Al hacer eso, para usar algo como Cheat Engine, primero tendrían que saltar el sistema de protección, lo cual complica un poco mas el asunto para los que quieran modificar datos que no corresponde.

Saludos!
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

anonimo12121

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746