首页
社区
课程
招聘
[求助]动态卸载DLL出现问题
发表于: 2008-9-3 15:07 6398

[求助]动态卸载DLL出现问题

2008-9-3 15:07
6398
我想做一个勾系统WINSOCK  API的全局钩子,一切正常就是在卸载的时候,被挂钩的程序都会崩溃
我想在DLL_PROCESS_DETACH:我已经还原原来代码

        API[0].SetHookOff();
        API[1].SetHookOff();
        API[2].SetHookOff();
        API[3].SetHookOff();
        API[4].SetHookOff();
        API[5].SetHookOff();
        API[6].SetHookOff();
        API[7].SetHookOff();
具体请各位高手看一下附件

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 22
活跃值: (423)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
遇到同样的问题了 没找到办法 帮你顶一下 等待高手出现
2008-9-4 08:49
0
雪    币: 305
活跃值: (36)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
3


会不会是 正在使用中 呢?
2008-9-4 08:54
0
雪    币: 247
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
WST
4
我调试过了,当我点UNHOOK之后,出错地点是我的DLL中的Mysend,Mysendto之类的函数可那时我已还原了原来函数的代码即在DllMain中
case DLL_PROCESS_DETACH:
        API[0].SetHookOff();
        API[1].SetHookOff();
        API[2].SetHookOff();
        API[3].SetHookOff();
        API[4].SetHookOff();
        API[5].SetHookOff();
        API[6].SetHookOff();
        API[7].SetHookOff();
2008-9-4 10:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
如下一段代码:
API[1].SetHookOff();
ret=::recv(s,buf,len,flags);
API[1].SetHookOn();
//----------
recv为阻塞函数,当你在你的dll卸载之前调用了recv的时候,它的顺序是
recv-〉myrecv-〉recv
recv接收到数据返回的时候肯定先进入到myrecv函数,因为它后面还有一些工作要做如API[1].SetHookOn();
而当它返回的时候你已经释放了DLL的话,那它进入的将是一个无效的地址区间。
这样不崩溃倒显得有些不正常了。
2008-9-4 14:16
0
雪    币: 305
活跃值: (36)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=龙星;504999]如下一段代码:
API[1].SetHookOff();
ret=::recv(s,buf,len,flags);
API[1].SetHookOn();
//----------
recv为阻塞函数,当你在你的dll卸载之前调用了recv的时候,它的顺序是
recv-〉myrecv-〉...[/QUOTE]

有道理!
2008-9-4 14:18
0
雪    币: 247
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
WST
7
谢谢各位的回复
但是我还有几个疑问
如果recv或recvfrom函数阻塞,那么它还回下一个该执行的函数应该是SetHookOn
而程序崩溃却位于Mysend或Mysendto的第一条指令,即相对地址0x00001041处
所以在卸过之后send函数的头几个字节并没又被改掉致使它跳到Mysend处执行而此时
这个地址已没在内存了。
2008-9-4 21:39
0
雪    币: 22
活跃值: (423)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
将dll从进程模块列表中移除并保持正常运行
http://hi.baidu.com/zxhouse/blog/item/dc651c90fc7a398fa977a484.html

看看是不是和这个有关系 楼主解决后 不要忘记分享下经验呀:)
2008-9-4 21:54
0
雪    币: 247
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
WST
9
有不有高手在?麻烦帮我帮我改一下。这个程序的错误搞了我一个月,把我头都弄晕了
2008-9-7 13:09
0
游客
登录 | 注册 方可回帖
返回
//