能力值:
( LV2,RANK:10 )
|
-
-
2 楼
类到了内存里 应该 就是
若干函数 操作若干内存
你把类对象看作申请的若干内存 类成员函数看作若干函数
不知道这样说的对不对
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
参考 C++反汇编与逆向分析技术揭秘
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
你确定是C++的类导出?如果是的话可以用工具得到类成员函数声明, 如CppDLL v1.1
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
我有头文件和导入lib 但是在我的实际需求中需要在一个进程中加载多次dll, 如果用头文件和导入lib的话一个进程只能加载一次dll吧, 所以我想把dll文件名改一下然后用动态加载的方式, 多次加载, 我还要继承dll里的类
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
没用, 光有头文件和lib你还不能取得函数地址.函数不多的话直接做映射
就算是LoadLibrary也只会加载一次, 除非每次文件不同, 用https://github.com/fancycode/MemoryModule吧
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
这个貌似跟 loadlibrary差不多吧, 解决不了我的问题, 我的意思是我现在有dll, 头文件, 导入lib都有, 但是想加载多次, 所以就不能用导入lib和头文件这些了, 只能动太加载, 但是这是个c++的库, 我的程序里有个类要从这个库里的类继承, 有头文件的话我直接继承了, 但是现在不能用头文件, 因为想加载多次, 我怎么才能找到这个类, 我的代码要怎么写才能继承到这个类
库里面还有个类, 这个类可能通过一个类静态函数创建类对象, 那么这个静态函数我可以用 loadlibrary和GetProcAddress得到, 然后调用这个类的某个函数, 需要上面我继承的类的对象, 这样程序的信息就可能通过虚函数调用到我的类里了. 不知道我说的清不清楚, , 576013002这是我的QQ, 方便的话加QQ聊
|
能力值:
( LV3,RANK:20 )
|
-
-
8 楼
loadlibrary也是只能加载一次
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
把dll文件名改了就可以加载多次了
|
能力值:
( LV3,RANK:20 )
|
-
-
10 楼
不好意思, 没看见你说的有虚函数
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
我是说普通的dll函数(c函数), 不是我本帖这个问题
难道把dll复制一下改下名称不可以多次加载吗? 记得以前试过是可以的
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
呵呵, 我也头一次遇到这种问题, 以前都没有想过, 有没有什么好的解决办法
|
能力值:
( LV4,RANK:40 )
|
-
-
13 楼
你必须知道函数的名字还有参数
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
这些都知道, 因为我现在就有头文件
|
能力值:
( LV3,RANK:30 )
|
-
-
15 楼
如果你还要继承DLL中的类,那会非常麻烦,你需要自己处理虚函数,等等,写起来也很别扭。不建议走这条路。
我给的建议是,你写一个dll,使用头文件和dll调用其中的类,把功能使用C方式导出。只要把stub dll 和你原始的dll放在不同目录加载,就能加载很多份到一个进程中。
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
这样是不是自己封装的dll加载了很多次, 但是上述第三方dll只加载一次呢? 求详细方法, 或者加下QQ:576013002
|
|
|