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。
     
    所有的问题目前正在或者已经被解决,有些事情还是要亲自去做,空想是不能解决问题的。
  • 相关阅读:
    [考试反思]0229省选模拟34:辉光
    [考试反思]0228省选模拟33:展望
    [考试反思]0226省选模拟32:磨灭
    [考试反思]0225省选模拟31:探索
    [考试反思]0224省选模拟30:仓皇
    [考试反思]0223省选模拟29:驻足
    [考试反思]0222省选模拟28:莫返
    大概是个寒假集训总结
    [考试反思]0220省选模拟27:怪异
    [考试反思]0219省选模拟26:精准
  • 原文地址:https://www.cnblogs.com/skogkatt/p/4163616.html
Copyright © 2011-2022 走看看