@fengshangren 你有没有解决DLL报错的问题?
本帖最后由 urenai 于 2025-1-19 17:56 编辑如果解决了,可以分享一下成果吗?
之前搞DLL报错的童鞋们 进来。 - 火山平台俱乐部 - 递归火山软件开发平台 - Powered by Discuz!
按我之前的方案。
我发现了一个新问题,还不确定是否因为 这个方案引发的。
问题: 视窗文件资源、字节集类 = @视窗.文件值=“路径”
无法获值。
运行时,无法获值,使用工具查看,DLL文件中包含资源。
https://bbs.voldp.com/forum.php?mod=viewthread&tid=11765&highlight=XP 按这个处理测试没啥问题 你压根不知道我经历了什么。
马上哭晕在厕所。
真的。
我说说我的解决方案吧。
因为无法正常加载资源到变量。【视窗文件资源,字节集 @视窗.文件值】
唯一确定的是,它们的确存在于区段内。
于是,我直接通过DLLhModule 取出位于内存的PE 区段。
直接读取这个区段,查找数据。
我日,不易。
意思是DLL直接用封装好的方法取不出来,需要自己来找数据,那现存内存加载DLL已经正常了吧 正常了,
结果测试,没有执行内部初始化的话,
视窗文件数据和字节集 都不会初始化 值 本帖最后由 fengshangren 于 2025-1-19 21:41 编辑
urenai 发表于 2025-1-19 21:31
正常了,
结果测试,没有执行内部初始化的话,
可以直接嵌入十六进制数据,这样不算资源文件,应该可以吧,类似于这种
char data[] = {
0xA6, 0x2B, 0x00, 0x92, 0xA3, 0x82, 0xEB, 0x71, 0x94, 0x92, 0xA0, 0x82, 0x14, 0x8E, 0x90, 0x92,
0x18, 0x82, 0xEB, 0x71, 0x90, 0x92, 0xA0, 0x82, 0xAB, 0x71, 0x90, 0x92, 0xA0, 0x82, 0xEB, 0x71,
0x90, 0x92, 0xA0, 0x82, 0xEB, 0x71, 0x90, 0x92, 0xA0, 0x82, 0xEB, 0x71, 0x90, 0x92, 0xA0, 0x82,
0xEB, 0x71, 0x90, 0x92, 0xA0, 0x82, 0xEB, 0x71, 0x90, 0x92, 0xA0, 0x82, 0x1B, 0x71, 0x90, 0x92,
.............................
}
我怕麻烦,因为效果差不太多。
你想想,
插入区段,把数据放到新区段里。还要在写个工具。好处就是 运行时不用找,直接解析内存区段就行。
把数据放到变量里,好处是不用费事,自动插入到结果。坏处是 要找特征定位数据 ,不能直接引用。
一切都过去了,烦死个人,真的能把人逼死
所以,直接 fengshangren 发表于 2025-1-19 21:38
可以直接嵌入十六进制数据,这样不算资源文件,应该可以吧,类似于这种
char data[] = {
0xA6, 0x ...
火山内嵌非常麻烦,正常情况下,
考虑写个工具。
把数据 的每个字节取出来 可以是十进制,也可以是 16进制。
例如:
字节集类bin = 创建字节集(0x1,0x2,0x3)
字节集类bin = 创建字节集(1,2,3)
都可以,这样不算 资源。
但是费事。 是的,自己写个工具比较方便,能解决就可以了
页:
[1]