[ES][C] Loader reemplazando bloques x veces

Topic created · 1 Mensajes · 522 Visitas
  • [alinear-centro]Un source que hizo el amigo Linkgl para crackear un crackme (valga la redundancia), lo que hace es correr el programa y una vez en memoria buscar instrucciones (opcodes) y reemplazarlos por otras instrucciones (opcodes) es como un replace() pero en memoria, solo que tu escoges el numero de instrucciones iguales que sustituira por la tuya sirve para parchear ejecutables por ejemplo que no permiten modificaciones en el binario :icon_cheesygrin: saludos

    el uso MassiveReplace(memoria virtual donde inicia la busqueda,puntero a los bytes a reemplazar,puntero a los bytes que reemplazan,ruta del programa,tamaño de los opcodes,veces que va a reemplazar)[/alinear-centro]

    #include
    #include
    #include

    DWORD MassiveReplace(DWORD inicio,LPVOID bytes,LPVOID replace,LPSTR proceso,DWORD tam,DWORD limite)
    {
    /*
    @Coder->Linkgl
    @Docs:msdn
    @Este código puede ser editado/modificado, respetando los créditos
    */
    //Estructuras necesarias para las API's siguientes
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    //Llenamos las estructuras con 00 para evitar errores
    ZeroMemory(&si, sizeof(si));
    ZeroMemory(&pi, sizeof(pi));
    //Indicamos el tamaño de la estructura
    si.cb = sizeof(si);
    // -->Variables necesarias