Ayuda con ollydbg

Iniciado por majerisa, 18 Octubre 2016, 23:09 PM

0 Miembros y 1 Visitante están viendo este tema.

majerisa

Muchas gracias por vuestras aportaciones, estoy intentando leer algo y entender vuestras explicaciones, soy un poco profano en la materia.

BloodSharp, si no he entendido mal la solución del CALL no sería viable enotnces?

MCKSys, la solucion que me comentas de activar el flag para que pase la igualdad (entiendo que  la idea es hacer que esta igualdad siempre se cumple (strcmp(password, "PARIS")==0)) me parece buena idea, lo que no entiendo es como "NOPear esa instrucción".


Nuevamente muchas gracias por vuestra ayuda de verdad


BloodSharp

#11
Cita de: majerisa en 20 Octubre 2016, 09:55 AM(...)BloodSharp, si no he entendido mal la solución del CALL no sería viable enotnces?(...)
Para este caso no... en otras situaciones capaz que si...

Cita de: majerisa en 20 Octubre 2016, 09:55 AM(...)MCKSys, la solucion que me comentas de activar el flag para que pase la igualdad (entiendo que  la idea es hacer que esta igualdad siempre se cumple (strcmp(password, "PARIS")==0)) me parece buena idea, lo que no entiendo es como "NOPear esa instrucción".(...)

Lo que él te sugiere sería equivalente a hacer algo como esto:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void passwordOK();

int main()
{
char password[4];
int isOK = 0;
int i =0;
while(isOK == 0 && i<3)
{
i++;
printf("Password: ");
gets(password);
strcmp(password, "PARIS");
isOK = 1;
};
if (isOK ==1)
{
passwordOK();
}
else
{
printf("ERROR: 3 passwords NOT OK\n");
system("PAUSE");
}
return 0;
}

__declspec(noinline)void passwordOK()
{
    printf("Password OK\n ");
    system("PAUSE");
}


...pero solo modificando el ejecutable así:

Link de imagen




B#




majerisa

Muchísimas gracias por tu explicación.