首页
社区
课程
招聘
[求助]DLL能主动地知道是谁调用的它吗?
发表于: 2013-4-23 20:13 6486

[求助]DLL能主动地知道是谁调用的它吗?

2013-4-23 20:13
6486
收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 217
活跃值: (25)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
在dllmain调用GetCurrentProcess可否
2013-4-23 20:15
0
雪    币: 217
活跃值: (25)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
不好意思。。看到getcurrentprocess都是返回-1
调用getcurrentprocessid可否
2013-4-23 20:20
0
雪    币: 106
活跃值: (579)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
GetModuleFileName
2013-4-23 20:21
0
雪    币: 1700
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
支持楼上    。
2013-4-23 20:26
0
雪    币: 213
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如果同一个程序被用户起了两个实例,他们都分别各自调用我这个DLL自行其事,那又如何区分呢?
2013-4-23 20:36
0
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
标志……不解释
2013-4-23 20:43
0
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
感觉只能检查ESP的函数返回地址,[ESP]的地址所在的模块能知道上一层调用者是谁......最笨的办法,望高手支招
2013-4-23 21:51
0
雪    币: 213
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
关键是没法预见调用DLL的程序。这个调用程序可不是自己写的。天知道是谁写的。只能在自己的程序里做标志。在人家的程序李做标志?我这里说的不是破解和篡改人家的代码。或者有天然的标志,我不知道?

是不是我孤陋寡闻了?
2013-4-24 00:35
0
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
栈回溯……懂了吧?
2013-4-24 17:48
0
雪    币: 194
活跃值: (25)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
替换原dll,加个getmodulehandle,再调用原dll。
2013-4-24 18:23
0
雪    币: 69
活跃值: (41)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
在dllMain中处理Process_Attach的时候,使用StackWalk64(),栈回溯3层左右,就基本可以确定caller是谁了.
2013-4-24 18:49
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
Mark,学习方法
2013-4-24 19:13
0
雪    币: 110
活跃值: (204)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
一针见血
2013-4-25 15:57
0
游客
登录 | 注册 方可回帖
返回
//