首页
社区
课程
招聘
[求助]如何这样HOOK自己的DLL?(已解决,结贴)
发表于: 2007-10-16 23:57 5820

[求助]如何这样HOOK自己的DLL?(已解决,结贴)

2007-10-16 23:57
5820
我写了一个测试程序Test.exe,动态链接A.dll中的函数abc(),使之显示一个MessageBox对话框,现在我把A.dll文件放到system32目录也能正常使用,问题是:如果我不修改A.dll的任何内容,再写一个A.dll放到程序自身的目录下,执行如下面的工作

int a,b,c;
a=1;
b=2;
c=a+b;
printf("%d",c);

然后继续执行system32目录下的A.dll中的abc()函数,不让这个目录下的A.dll功能受到任何影响?也就是说,执行完本目录下的A.dll后,可以再继续执行system32目录下的A.dll,HOOK代码应该如何实现呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 7325
活跃值: (3803)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
2
无聊不?干嘛写2个,一个放system32下面,一个放程序目录下?还不如写成一个
有xx目的就说明白点
2007-10-17 08:56
0
雪    币: 256
活跃值: (788)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
是否无聊这并不关系,我只想试一试,写一个当然可以,前面说了,是想试一试,我并无XX的目的,如果老兄知道,烦请告之一二,如果不愿意那也就算了,我的帖子中好像并无任何涉及任何要XX的东西吧?
2007-10-17 14:05
0
雪    币: 8342
活跃值: (4033)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
void test(){
    abc();//先运行本目录下的
   HMODULE h=LoadLibrary("c:\windows\system32\a.dll");
    之后再用 GetProcAddress 获取地址,由于不知道你ABC如何定义的,所以这里就不多说了,你应该知道如何做了
}
2007-10-18 14:24
0
雪    币: 256
活跃值: (788)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
ABC是这样定义的;

void abc(int,int);

本目录下我是动态加载的,这样的方法我试过,但加显示了本目录下的函数的功能,并没有把原system32目录dll里面的功能实现.能不能给个测试样例?
2007-10-18 19:08
0
游客
登录 | 注册 方可回帖
返回
//