// FindJmpESP.c  by Sha0  BadCheksum.tk

#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>


#pragma comment (lib,"Advapi32.lib")

int main (int argc, char **argv) {
    int i;
    char *p;
    DWORD addr;
    BOOL  buscando = TRUE;
    
    if (argc != 2) {
        printf ("**** buscador de jmp esp ******\n");
        printf ("uso: FindJmpESP <dll>\n");
        printf ("dll's tipicas: \\nkernel32.dll\nuser32.dll\ngdi32.dll\nwinsrv.dll\n\n\n");
        exit (0);   
    }    
        
    
    HMODULE hDll = LoadLibrary(argv[1]);
    p = (char *)hDll;
    
    printf ("buscando . . . \n");
    while (!(*p == (char)0xff && *(p+1) == (char)0xe4)) {
        //printf ("buscando 0x%x  0x%x%x\n",(unsigned long)p,(char)*p,(char)*(p+1));   
        p++;
    }
    printf ("encontrado: 0x%x  !!!\n",(int)p);
}    
