关于dll注入目标进程时的问题

1.一般的dll是在什么时候加载到进程的?就是程序本身就需要的dll

2.而通过钩子等dll注入方式,在其它程序中(目标进程正在运行)注入目标进程不需要用到的dll,这时,目标进程内部的执行顺序是怎样?会突然就中断当前代码,保存eip,然后就在进程的虚拟地址空间中,写入注入来的内容,然后开始创建线程和执行吗?

这个没法一般,如果是C++的静态链接那种方式,是在程序启动前加载的。如果是VB那种动态加载的,或者C++里面用Loadlibrary方式加载,那么就是在运行的任意时刻都可能加载。
不是钩子注入dll,而是为了方便,把需要注入的代码放在dll中,这样直接用LoadLibrary就可以加载了。不用这个方式,就要手工写入机器码了,工作量大很多。