Depends on what you mean be "modify" - Yes.
A modification that might be needed some times is to make a dll strong named.
For such modification, use
ILMerge.
Or you might want to decorate the dll with some aspects. If you want to do that, and if you have the right version of Visual Studio, you might use
VSInstr and its companions for tracing function calls, etc.
Or, if sufficiently sophisticated, you might use
ildasm &
ilasm and patch the code in between ;-)
Cheers
Andi