首页
社区
课程
招聘
[旧帖] [求助]修改ACTIVEX遇到的问题 0.00雪花
发表于: 2008-3-28 20:44 3559

[旧帖] [求助]修改ACTIVEX遇到的问题 0.00雪花

2008-3-28 20:44
3559
各位好,我想修改一个别人的ACTIVEX (类型是DLL) 的GUID,
用peexplorer可以看到TLB里面的GUID,但是不能修改

请问怎么修改啊?
谢谢。

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
现在能修改了,但是光修改了这个ID,注册后并不能直接使用。
怎么做?
2008-3-30 13:17
0
雪    币: 4593
活跃值: (3572)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
3
那得看你怎么改的,怎么个不能使用法。
2008-3-30 20:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我直接用pe工具把DLL的typelib导出来,然后把其中的GUID换成我自动生成的GUID,同时把控件名字也改了,然后把这个新的typelib替换之前的,保存为新的DLL,注册后,可以看到注册成了一个新控件。
但是我用OLE VIEWER打开这个控件时,报错不能创建实例;在VC中也不能添加对应的类。

是不是只改typelib中的这些GUID还不够?
2008-3-30 22:31
0
雪    币: 4593
活跃值: (3572)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
5
我没有这样改过,下面只是从ActiveX本身机制谈谈看法。

假设你现在只改CLSID,不改IID、LIBID。

你这样只修改typelib,照我看,是肯定不行的。DllGetClassObject里调IsEqualCLSID
时传递进去的形参之一你肯定没改吧。typelib是给脚本引擎看的,对于COM本身来说,有
没有它不是问题,仅仅相当于一个二进化的.h文件。问题是.c里引用CLSID时是编译进去的,
你改了.h有什么用,又没有重新编译。大致上就是这么个道理。

同样,如果你需要改IID、LIBID,也得同步改.c里的。我这里说.c是省事的说法,你自己理解
正确啊。
2008-3-31 09:19
0
游客
登录 | 注册 方可回帖
返回
//