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

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

2007-10-16 23:57
5175
我写了一个测试程序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代码应该如何实现呢?

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

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

void abc(int,int);

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