亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        陷阱技術(shù)探秘──動態(tài)漢化Windows技術(shù)的分析

        字號:

        "陷阱"技術(shù)探秘
            ──動態(tài)漢化Windows技術(shù)的分析
             四通利方(RichWin)、中文之星(CStar)是大家廣為熟知的漢化Windows產(chǎn)品,"陷阱"技術(shù)即動態(tài)修改Windows代碼,一直是其對外宣稱的過人技術(shù)。本文從Windows的模塊調(diào)用機制與重定位概念著手,介紹了"陷阱"技術(shù)的實現(xiàn),并給出了采用"陷阱"技術(shù)動態(tài)修改Windows代碼的示例源程序。
             一、發(fā)現(xiàn)了什么?
             筆者多年來一直從事Windows下的軟件開發(fā)工作,經(jīng)歷了Windows 2.0 、 3.0 、3.1 ,直至Windows 95、NT的成長過程,也遍歷了長青窗口、長城窗口、DBWin、CStar、RichWin等多個Windows漢化產(chǎn)品。從現(xiàn)在看來,影響也最為成功的,當推四通利方的RichWin;此外,中文之星CStar與RichWin師出一門,其核心技術(shù)自然也差不多。其對外宣傳采用獨特的"陷阱"
             技術(shù)即動態(tài)修改Windows代碼,一直是筆者感興趣的地方。
             EXEHDR是Microsoft Visual C++開發(fā)工具中很有用的一個程序,它可以檢查NE(New-Exe cutable)格式文件,用它來分析RichWin的WSENGINE.DLL或CStar的CHINESE.DLL,就會發(fā)現(xiàn)與眾不同的兩點(以CStar
             1.20為例):
            C:\CSTAR>exehdr chinese.dll /v
            ..................................
            6 type offset target
             BASE 060a seg 2 offset 0000
             PTR 047e imp GDI.GETCHARABCWIDTHS
             PTR 059b imp GDI.ENUMFONTFAMILIES
             PTR 0451 imp DISPLAY.14 ( EXTTEXTOUT )
             PTR 0415 imp KEYBOARD.4 ( TOASCII )
             PTR 04ba imp KEYBOARD.5 ( ANSITOOEM )
             PTR 04c9 imp KEYBOARD.6 ( OEMTOANSI )
             PTR 04d8 imp KEYBOARD.134( ANSITOOEMBUFF )
             PTR 05f5 imp USER.430 ( LSTRCMP )
             PTR 04e7 imp KEYBOARD.135( OEMTOANSIBUFF )
             PTR 0514 imp USER.431 ( ANSIUPPER )
             PTR 0523 imp USER.432 ( ANSILOWER )
             PTR 05aa imp GDI.56 ( CREATEFONT )
             PTR 056e imp USER.433 ( ISCHARALPHA )
             PTR 05b9 imp GDI.57 ( CREATEFONTINDIRECT )
             PTR 057d imp USER.434 ( ISCHARALPHANUMERIC )
             PTR 049c imp USER.179 ( GETSYSTEMMETRICS )
             PTR 0550 imp USER.435 ( ISCHARUPPER )
             PTR 055f imp USER.436 ( ISCHARLOWER )
             PTR 0532 imp USER.437 ( ANSIUPPERBUFF )
             PTR 0541 imp USER.438 ( ANSILOWERBUFF )
             PTR 05c8 imp GDI.69 ( DELETEOBJECT )
             PTR 058c imp GDI.70 ( ENUMFONTS )