我发现在目标进程安装Hook的时候不会运行DllMain,怎么解决? 我发现在目标进程安装Hook的时候不会运行DllMain,那我需要在安装Hook的时候执行的代码怎么办?还有,就是把模块插入到远程进程里面了怎么调试,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DllMain只是在载入时调一次做另一个接口就是了比如 installhook 什么的 工程->设置->debug 标签可执行调式程序栏里填上你的 exe 程序路径 那实际上安装Hook,就是在目标进程安装了这个DLL,为什么不会在目标进程里面运行DllMain呢? 都说了 DllMain只是在载入时调一次 如果你安装钩子的步骤正确,在这个执行顺序下会执行dllmain,运行装载钩子的程序执行installhook,然后运行目标进程.调试的方法:工程->设置->debug 标签 可执行调式程序栏里填上你的目标进程程序路径先执行装载程序,然后在你的dll中按F5,就可以调试了 那如果是VC.net 2002怎么办,根本没有那个“工程”菜单 DllMain在加载和泄载时调用,而且Hook用的DLL不要去调试,打断点没用的,不会断的。 DLLMain是在该DLL将地址映射到进程的地址空间时运行的。当安装HOOK的时候DLLMAIN已经结束。 那有一个问题,你安装hook的时候,就要在hook的进程里面插入这个DLL,为什么这个映射的时候就没有运行DllMain,而只有第一个进程运行了DllMain 如果安装正确,肯定运行了DllMain的。BTW,通过设断点的方法你只能知道你安装hook的那个进程有没有调DllMain,没办法知道你的“目标进程”有没有调用DllMain。 问题解决了。其实,用Hook来做DLL注入的时候,有一个问题,就是如果DLL并不会在安装Hook的时候马上注入,而是在第一次用到Hook进程的时候才注入的。我最后是在安装了Hook以后马上给那个窗口SendMessage,激活这个Hook,就解决了。 自绘edit出问题 怎样监控系统时间修改并在时获取修改前后的时间差 怎样在自己的程序中启动、管理一个进程,就像在VC中启动MSDN一样 从10个客户端大致均匀的接收数据,(流媒体Windows Media SDK) 关于win32 ADO+多线程 问题 后水灾时代硬盘市场深度分析 请教下关于锐捷上网的问题 请API高手帮忙写段代码,定给酬谢。 有关VC使用ADO的问题! 100分求《PC游戏编程--人机博弈》光盘源代码!!在线等.只有五子棋的就行 ...急! ATL控件中全局变量的问题
DllMain只是在载入时调一次
做另一个接口就是了比如 installhook 什么的
调试的方法:
工程->设置->debug 标签 可执行调式程序栏里填上你的目标进程程序路径
先执行装载程序,然后在你的dll中按F5,就可以调试了
BTW,通过设断点的方法你只能知道你安装hook的那个进程有没有调DllMain,没办法知道你的“目标进程”有没有调用DllMain。
其实,用Hook来做DLL注入的时候,有一个问题,就是如果DLL并不会在安装Hook的时候马上注入,而是在第一次用到Hook进程的时候才注入的。
我最后是在安装了Hook以后马上给那个窗口SendMessage,激活这个Hook,就解决了。