Ayuda con hooks

Iniciado por Josta, 24 Diciembre 2013, 05:48 AM

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

Josta

http://pastebin.com/rU337ft7

Ahí tienes el desensamblado
Eso que me dices no tengo idea como hacerlo, déjame investigar un poco

cpu2

Bien, creo que esa seria una solucion, antes de leer todo eso. En la funcion OnSAMPQuery si es un Linux quieres que retorne a alguna direccion. Bien colocando una etiqueta que no es mas que un simbolo enrealidad saltas a una direccion, pues pon esa etiqueta donde quieras que salte si es un Linux, para que no cree un ciclo infnito, o lo que sea.

Como ya tengo un lio montado no se si te refieres a esto.

    void funcion_original()
    {
       hook_funcion(); // Esperar a que termine

       asm ("_Linux:");   // No se si te refieres a esto, si es un Linux pues que vuelva a la funcion original, despues de la llamada.

       // continuamos
    }


Si no es asi, puedes colocar esa etiqueta donde quieras que salte, en los if de OnSAMPQuery. Espero que lo entiendas.

Un saludo.

Josta

Lo que pasa es que no tengo acceso al fuente del ejecutable

cpu2

Pues estamos como antes, biendo el dissasembler anterior prefiero hacer esto que te digo, se puede hacer igual no importa que no tengas el codigo, simplemente tienes que buscar el offset al que quieres saltar haciendo un dissasembler a ese ejecutable y luego poner un jmp en el if como te comente antes.

Quieres que salte despues de una llamada concreta no? Intenta hacerlo tu solo, si no puedes ya sabes que tienes que subir el dissasembler, pero algunas partes no hace falta que lo subas todo.

Un saludo.