zoukankan      html  css  js  c++  java
  • XE2编译出来的DLL的DLLMain的退出地方用到了halt0

    DelphiXE2内存加模块升级版.支持32位和64位模块.

    已转至新的博客 http://www.raysoftware.cn/?p=51

    很多年以前写过内存加载DLL的一片技术.

    http://blog.csdn.net/wr960204/article/details/2134157
    上几天有人说找遍互联网也找不到内存加载模块能够成功加载DelphiXE2编译出来的的64位DLL的.

    看了一下,其实DelphiXE2编译出来的DLL本身是没问题的,而是这些内存加载忽略了X64情况下异常处理和X86不同.而XE2编译出来的DLL的DLLMain的退出地方用到了halt0,这里面又用的抛异常方式跳出来的.这里就用到了64位PE文件的异常处理部分.而VC等编译的DLL如果没有用到SEH则不会出现问题.但这仅仅试把问题掩盖了.

    花了2天写了这个相对可以完整的处理32/64位Windows动态库的加载模块.


    上传到了谷歌Code.如果哪位兄弟改了代码记得通知我哦.

    http://code.google.com/p/delphi-memory-module/

    参考:http://blog.csdn.net/wr960204/article/details/7655684

  • 相关阅读:
    信息安全学习笔记1
    Linux学习笔记4------磁盘分区(问答形式)
    Linux学习笔记3-------添加磁盘并分区
    用for循环打印三角形
    包机制
    运算符
    变量、常量、作用域
    数据类型转换
    数据的基本类型
    Java运行原理的简单理解
  • 原文地址:https://www.cnblogs.com/findumars/p/4192411.html
Copyright © 2011-2022 走看看