- 主题:能否给dll尾部加个字符串数组
想法:程序的一个小dll文件要用到一个常量字符串,每次重新编译比较麻烦,现在是预留几MB的空间直接打开dll修改这个字符串(字符串常量可能几KB,也可能几MB)。问题是:如果不想预留几MB长度,能否把字符串加在dll尾部,然后把这个字符串的地址改到dll尾部位置。
--
FROM 223.104.39.*
需求是只能在一个dll内。不知道padding会不会遇到字节对齐等问题出bug,还一个问题是linux的so能否同样处理。
【 在 z16166 的大作中提到: 】
: 当然可以,通过PE file header是可以定位到这个地方的,不过可能要注意一下padding。
: 另外一个办法是单独搞一个resource dll,字符串放在这个resource dll中。
--
FROM 223.104.39.*
重新编译需要编译环境一直在才行啊。
【 在 dormouseBHU 的大作中提到: 】
: 重新编译有啥麻烦的。不就是鼠标点一下的事吗
--
FROM 114.246.248.*
release版本。
【 在 here080 的大作中提到: 】
: 你这是放在debug版本里还是release版本里?
: release我就不参与讨论了。
: 要是debug,完全可以额外加一个文本文件读一下嘛。几行代码的事。
--
FROM 114.246.248.*
dll/so被加载后,dll内的函数获得dll尾部的数据地址用啥函数?
【 在 youngbug 的大作中提到: 】
: 能,如果不想看PE结构,就直接放到文件最后面,用的时候取最后固定长度就行。
:
: #发自zSMTH@HRY-AL00Ta
--
FROM 114.246.248.*
也是一个办法,我试试。
【 在 chenjy 的大作中提到: 】
: 把字符串放资源里,资源有工具可以修改不需要编译
:
--
FROM 114.246.248.*