bah...
Une DLL est un exécutable comme un autre ( enfin pas vraiment, mais ça marche pareil).
donc si tu n´a pas le code source tu ne peut que la désassembler ce qui n´est pas terrible pour la modifier.
Essaye de te procurer son code source oubien il ne te reste qu´a la réécrire.
Mais une autre solution, si il n´y a que quelques fonction à ajouter ou à modifier, alors tu te procure un outils comme dépendency walker ou alors le SDK de la DLL,
et tu cré une nouvelle DLL qui a le même nom que l´autre ( tu renome l´ancienne un peu différemment).
Tu recré toute l´interface de l´ancienne DLL plus les nouvelle fonction si necésasire.
Les fonction différente ou nouvelle, tu les réécrit, et pour toute les autres, tu fait appel à la vrai DLL en lui passant juste les argument que ta " fausse" fonction recoit et en renvoyant le retour.