zoukankan      html  css  js  c++  java
  • Codename: Ideal

    //名词
    API Hook:通过特定的手段拦截API调用,修改API功能
    x64:微软对x86 64bit技术的简称,这个是基于AMD的说法,后来Intel为了和AMD64兼容,制定了所谓EM64T标准,在二进制上是兼容的
     
     
    //历史
    2005.09.12 Setup Microsoft Windows Xp 64bit edition...
    2005.09.12 Setup Microsoft Visual Studio 2005 Beta 2...
    2005.09.19 Setup Compuware DriverStudio 64bit with null modem cable
    2005.09.22 Setup Intel C++ EM64T Compiler
     
    //主题
    Powerword 的64位之路
    目前的屏幕取词,基本上是完全硬编码到32位x86平台的。很多人认为API Hook是一个很简单的事情,事实并非如此。业余挂接一个API和把这个技术应用在商业软件中,技术跨度远比想象中的大。例如采用何种方式注入代码,Hook的时机,是静态还是动态,针对特殊软件的特殊处理,广泛的硬件兼容性,都是要考虑的问题。
     
    自2002年开始,计算机世界的软硬件发生了一些貌似和词霸无关的变化,IE5、DEP、64bit。而一切都让屏幕取词这个用起来很自然的功能,实现起来却愈加困难。
     
    随着64位平台的崛起,新一轮的洗牌已经开始。有些言论说64位普及还需以时日,理由便是32位平台替换掉16位平台用了近10年的时间。然则我要说,技术的发展是有加速度的,个人计算机的内存从640k增长到16MB用了多少年?从16MB到2G又用了多少年?我们不能把头扎在沙土堆里任凭物换星移。
     
    64位屏幕取词研究,已经进行了一段时间了。以API Hook技术而论,无疑微软走在最前沿,Detours 2.0早已实现了64位API Hook,但它的源代码授权费用却也让国内的软件厂商乍舌:10,000 $。国外某Delphi API Hook论坛上有位仁兄说得好:“On my god!”
     
    目前拦在路上的技术问题大致有以下这么多:
    开发工具:VC++ 2005 64bit不支持内联汇编,这个用Intel的EM64T编译器可以解决。
    代码移植:可以说现有的代码,内核基本上是硬编码到 32位x86的,所有的内联汇编需要重写或者另寻他路;所有的指针计算需要扩展;内存块对齐需要重新设计;内置的反汇编器需要升级到x64。
     
    所有的问题目前正在或者已经被解决,有些事情还是要亲自去做,空想是不能解决问题的。
  • 相关阅读:
    [置顶] Windows Phone后台音乐详解一
    Android应用开发学习笔记之BroadcastReceiver
    二维码闪电登录流程详解,附demo(1/2)
    C#利用Lambda和Expression实现数据的动态绑定
    从M个数中随机选出N个数的所有组合,有序,(二)
    3DShader之立方体环境映射(cubic environment mapping)
    二维码闪电登录流程详解,附demo(2/2)
    oracle 分区表exchange原理
    禁止页面复制功能 js禁止复制 禁用页面右键菜单
    sleep与信号唤醒的问题 & 内核对信号的处理方式
  • 原文地址:https://www.cnblogs.com/skogkatt/p/4163616.html
Copyright © 2011-2022 走看看