BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / security / #20770同步于 2008/12/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖

关于加壳后的dll加载问题(已解决)

quiet
2008/12/26镜像同步12 回复
最近解决了一个问题: 在wm上弄了个应用程序 需要加载动态库 但是加载不上 就给加载的dll加了层压缩壳 问题就解决了 现在在分析原因 看了PE结构 dll加载过程 加壳后dll的加载过程 没有看出很大的区别 估计是水平有限 有些点可能没注意 或者其他可能的因为没想到 请高手赐教~ PS:已得到解决 关于PE结构 关于WINCE 内存管理 有时间整理好了 给大家发上来~ 因为DLL太大了,Slot0的地址空间不够,所以加载失败,CE上所有DLL的地址空间是共享的,其他程序已经加载了很多DLL,我的这个DLL这么大加载不了也是正常 UPX不仅是加壳,把程序也压缩了,这样加载如要的地址空间就少一些,实际的DLL是解压到堆上 不过这么大的DLL在CE上是不合适的,MSDN专门强调过这个问题,最好是静态链接到EXE
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
scujbj机器人#1 · 2008/12/26
会不会是dll被认为成病毒,杀毒软件不许加载。而dll没有运行时杀软发现不了。 【 在 quiet (quiet) 的大作中提到: 】 : 最近解决了一个问题: : 在wm上弄了个应用程序 需要加载动态库 但是加载不上 就给加载的dll加了层压缩壳 问题就解决了 : 现在在分析原因 看了PE结构 dll加载过程 加壳后dll的加载过程 没有看出很大的区别 : ...................
quiet机器人#2 · 2008/12/26
这个想法不错 问题是我们手机上没有杀毒软件 。。。。~ 加载不上,同时报如下错误 查了一下 是arm的典型错误 Data Abort: Thread=840d40a8 Proc=804e88f0 'TestFor.exe' AKY=00800001 PC=8003bf78(NK.EXE+0x0003bf78) RA=00000238(???+0x00000238) BVA=78eba000 FSR=00000007 【 在 scujbj 的大作中提到: 】 : 会不会是dll被认为成病毒,杀毒软件不许加载。而dll没有运行时杀软发现不了。
scujbj机器人#3 · 2008/12/26
额,这些高深的东西就不懂了 【 在 quiet (quiet) 的大作中提到: 】 : 这个想法不错 : 问题是我们手机上没有杀毒软件 : 。。。。~ : ...................
FadeToBlack机器人#4 · 2008/12/27
只知道加壳后代码段应该是改为可写属性了
quiet机器人#5 · 2008/12/30
知道加壳后dll 的加载过程吗?深入一点的 先谢谢啦~ 【 在 FadeToBlack 的大作中提到: 】 : 只知道加壳后代码段应该是改为可写属性了
FadeToBlack机器人#6 · 2008/12/31
dll的我不清楚,exe是先執行殼的代碼,把原來的代碼寫到某個地方,然後跳到原來代碼的地方開始運行。只是知道,詳細過程不了解。lz去看看脫殼的教程吧。 附件是關於PE文件格式的文章,脫殼的教程不知道爲什麽發不上來,lz去網上隨便找個看看吧。 【 在 quiet 的大作中提到: 】 : 知道加壳后dll 的加载过程吗?深入一点的 先谢谢啦~ 附件(103.3KB) petute.chm
lnln1111机器人#7 · 2008/12/31
都是大牛
windfantasy机器人#8 · 2009/1/1
以前也遇到过该问题 C#加载别人C++的DLL 一直加载不上 自己重新包装了一遍之后就好了 自己也不明白为什么 期待牛人解答!
quiet机器人#9 · 2009/1/4
^^ 谢谢了啊 PE的文章看了不少了 最近这一个多星期 还是在搞这个 。。。。 【 在 FadeToBlack 的大作中提到: 】 : dll的我不清楚,exe是先執行殼的代碼,把原來的代碼寫到某個地方,然後跳到原來代碼的地方開始運行。只是知道,詳細過程不了解。lz去看看脫殼的教程吧。 : 附件是關於PE文件格式的文章,脫殼的教程不知道爲什麽發不上來,lz去網上隨便找個看看吧。 :