亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dosje.txt

?? 關于黑客的論壇的下載資料
?? TXT
?? 第 1 頁 / 共 2 頁
字號:

                       DOS下軟件解淺談
                
  清華大學 計算機系   何開川                                                   
  Email:hyj-dmp@mail.tsinghua.edu.cn 

一、概述∶
          在當今五彩繽紛的軟件世界里,有很多被加過密的軟件,給軟件的使用和
研究帶來諸多不便,然而由于軟件保護法的推行需要一定時間,軟件開發商們為
了維護自身的利益,不可能在短時間內放棄對軟件的加密。因此為了更好地利用
現有軟件和研究軟件技術,我們有必要對軟件的加解密知識有所了解。
          考慮到讀者大多對軟件解密不太了解,本文僅以比較簡單的DOS下軟件
解密(特別是游戲軟件的PASSWORD的解拆)為對象,向大家介紹一下軟件解密
的基本思路。

二、有關的基礎知識∶
                應該說,在任何操作系統下的解密工作都是建立在對此操作系統的高度
熟悉的基礎上的。你對系統的原理理解的越透徹,在進行剖析解密之類的工作時
也就越如魚得水。當然,僅僅為了解一些簡單的DOS下軟件,也沒有必要完整地
研究DOS的體系結構,但下列BASIC KNOWLEDGE不可不知∶
?。保模希拥闹袛鄼C制∶
                 Intel80X86處理器系列藉助于一張256個四字節向量的
中斷向量表提供最多256種不同中斷動作的服務能力。這張表存在實地址的
0∶0-0∶256處。每個向量由32位的地址組成,形成對相應中斷作出響
應時自動調用的例程的"段址∶偏址"
           觸發這樣一個例程有3種方式∶⑴由處理器芯片本身從內部產生; 
⑵由外部中斷請求信號產生(所謂的"硬中斷");⑶由一條軟中斷(INT)
指令產生。我們關心的通常是后兩種。
     最常用的中斷有∶
⑴?。桑危浴。埂?                鍵盤硬中斷,每當有鍵按下時自動產生。游戲程序常接管此中斷。
(2)  INT 10∶
                BIOS的顯示中斷例程,當軟件改變屏幕模式或做屏幕顯示時常調中
斷。
⑶       INT?。保场?       BIOS的磁盤低級輸入、輸出服務例程。有些加密軟件把密鑰信息存
在磁盤上,則其在運行時常會調此中斷。
                INT13     AH=02
                 目的∶    讀絕對扇區入內存。
                 入口參數∶  AL=要讀扇區數
                                          CH=磁道號或
                       柱面號8低位 (對硬盤)
                                          CL=扇區號(bit0-bit5)
                                                  柱面號高2位(bit6-bit7) (對硬盤)
                                          DH=磁頭號
                                          DL=驅動器號  (00H∶A驅,01H∶B驅  80H∶C盤)
                                          ES∶BX  數據緩沖區
        返回∶             CF置位-- 出錯
                                    CF  清零 -- 成功        
⑷       INT?。保丁?                BIOS提供的鍵盤服務軟中斷,程序通常主動調此中斷以讀取鍵盤狀
態。 
    INT16   AH=00H:
         目的∶ 得到擊鍵狀態。
     返回∶ AX=掃描碼
                          AL=ASCII字符
    INT16   AH=01H
     目的∶檢查是否有有效擊鍵。
          返回∶ ZF置位 -- 無有效擊鍵
                          ZF清零 -- 若擊鍵有效,此時∶AH=掃描碼, AL=ASCII字符
    INT16   AH=02H
          目的∶返回BIOS保存的狀態鍵的按下狀態。
     返回 ∶AL=狀態鍵的標志位。
        
⑸ INT 40
                可看作是INT 13的一個子集,它只提供軟盤的中斷例程,其調用接口與
INT13基本相同。
⑹      INT?。常?          鼠標服務例程。
                INT33           AX=0003H
                  目的∶        返回位置和按鈕狀態。
                  返回∶        BX=按鈕狀態
                                                bit0:左按鈕按下;
                                                bit1:右按扭按下;
                                                bit2:中按扭按下;
                                        CX=列坐標;
                                        DX=行坐標。
  
⑺  INT?。玻?                DOS編程的最主要的API,最好都有所了解。          

          INT21  AH=3D
          目的∶         打開文件(句柄方式)
          入口參數∶AL∶訪問方式
                                  DS∶DX  指向ASCIIZ文件名字符串。      
          INT21  AH=4B
          目的∶          執行程序(EXEC)
          入口參數∶ AL--執行方式
                                   ES∶BX--參數塊指針
                                   DS∶DX--指向EXEC的結構指針,
                                                                其中的偏移04H∶指向程序名的
ASCIIZ字符
                INT21           AH=4CH
                目的∶  帶返回碼的程序中止。

2)       Assembler語言∶
                我們都知道,匯編語言是直接與CPU對話的最低級的語言,也是我們在
解密過程中唯一可以看到的語言形式。因此對匯編語言程序設計的基本了解是解
密必不可少的基礎。

3)其它∶
                由于本文意不在講述DOS編程,因此還有很多相關知識沒有列出,讀
者若有興趣深如研究DOS,不妨參考下列書籍∶
                《深入DOS編程》--求伯君
                《PC?。桑危裕牛遥遥眨校裕印罚alf  Brown & Jim Kyle
                《Advanced  MS-DOS  Programming》-- Ray   Duncan  

三、解密工具∶
                “.工欲善其事,必先利其器",軟件解密的實現在很大程度上依賴于強
有力的工具軟件,下面介紹一下DOS下解密用的常見工具∶
        1)DEBUG∶
                        雖說土了點,但DEBUG畢竟是各類工具程序的鼻祖,也是早期
解密者的唯一工具。不過,時至今日,DEBUG早已過時,除非要體會用石頭
和木棒作戰的辛苦,否則還是換一個先進點的調試器為好。
        2)GAME  BUSTER 4.0∶
                        我不用說大家也都明白了,GB4一向被游戲玩家視為工具經典,
其實它在解密場合也可派上用場。?。ㄔ斠姡嵗治觯ⅲ?        3)GAME TOOL?。常啊?                  Game Tool 亦為一個與Game Buster相仿的"游戲改命工具",但值得
一提的是它的新版本中帶了一個Internal Debug非常好使, 可在找到存命單元后
直接在上面設內存斷點,然后跟蹤追擊找到減命指令,從而把游戲改為"不死
版"。遺憾的是其內置     DEBUG目前還不支持A(匯編)指令,好在其漂亮的彩
色U(反匯編)指令算是對此做出了補償。     
        4) PCTOOLS/NORTON UTILITIES:
                  很多加密、解密的初學者似乎很喜歡用這兩種工具對公用機房的分區
表、子目錄做些手腳。其實這兩種工具的真正用途在與"數據修復"和"反病毒"等
等,用在解密過程中通常是作為程序的PATCH(修補)工具。
        5)TURBO DEBUG
                        對BORLAND公司有感情的用戶對這個名字應該不會陌生,
TURBO DEBUG 在DOS的調試器里"界面"算是一流的,它的優點在于調
BORLAND系列的目標代碼,特別是調高級語言,用于調解密時的機器碼則顯得
不夠靈活。
        6)Soft  Ice     for Dos:
                        如果說上面所述的各種調試器各有所長的話,那么NuMega
Technologies公司的Soft-Ice可謂是集調試器之大成者,它充分發揮了80386的
保護模式特性,例如分頁、I/O特權級、斷點寄存器........,來實現對程序的硬件
級動態調試,而不需額外的電路嵌入式仿真器(ICE),這也正是Soft Ice名字的由
來。 SOFT ICE 有命令行裝入和作為設備驅動程序裝入兩種裝入方式 ,利用后
者裝入時可以發揮其全部特性。
                下面對 SOFT ICE 功能作簡要介紹∶
                一般調試器只有一種中斷程序的方法,即在特定的代碼處設置斷點;有
的調試器(TURBO DEBUG)雖能用鍵盤把當前程序中斷,但由于優先級太低,常
常在想斷的時候斷不下來。而SOFT-ICE 是以虛擬機方式運行DOS,工作在
DOS之上,所以凡是DOS實模式的程序幾乎沒有斷不下來的。
                SOFT ICE 支持DEBUG的所有命(除N、L、W)外, 而且提供了功能
強大的斷點命令∶
⑴BPM:
        語法∶ BPM  [size] address
                        size:B、W、D分別代表Byte,Word,Double Word
   功能 ∶ 在指定內存處設讀、寫斷點
   舉例∶  bpm  ds:1234      (ds=2000)
                    當地址2000∶1234處的BYTE被、寫時激活斷點。
⑵ BPR:
    語法∶ BPR  start-address end-address   [verb]
                         verb: R,W,RW,T,TW  (R、W代表讀、寫;T代表跟蹤)
  功能∶ 設內存范圍斷點,利用其中的T或TW選項可以實現"逆指令流" 
跟蹤的高級調試方法。
⑶?。拢校桑希?        語法∶BPIO  port
    功能∶在I、O端口上設斷點。
        舉例∶BPIO      378  在端口378H設斷點。
                        這條在解軟件狗、加密卡等利用外設加密的軟件時非常有用,如果
在高級操作(DOS、BIOS調用)中沒有發現程序的加密方法,可以通過設I/O斷
點來進行更深入的考察。
⑷ BPINT 
        語法∶BPINT  int-number [<AL|AH|AX>=value]
    功能∶在中斷上設斷點。
        距例∶ BPINT 13  AX=0201   當對BIOS的13號中斷得功能02(讀盤)發出
調用時激活斷點;
                        BPINT 21        AH=3D      當用INT21H打開文件時激活斷點。

        此命令是最常用的斷點命令,用于在某一中斷號上設斷點,有與DOS編程
要頻繁地調用DOS、BIOS中斷,因此對中斷進行監視,就可對程序的來龍去
脈有一個大至的把握。
⑸ 其它命令∶
        EXIT:用于強迫從當前DOS程序退出。
        VECS∶顯示中斷向量列表。
        MAP∶查看DOS的內存圖(MCB鏈)
   ? 或 H∶聯機幫助,對其它諸多命令,可以通過幫助了解其用法。
                                DOS下軟件解淺談  (二)
| 清華大學 計算機科學與技術系  何開川                                                           
| EMAIL:hyj-dmp@mail.tsinghua.edu.cn

四、解密?。健「櫋??
                如果要用兩個字概括解密的實質的話,那就是∶跟蹤;是的,就是跟蹤。
我們在調試一般程序的時候也需要跟蹤,但兩者的目的是不盡相同的。后者是為
了排錯、而前者是為了窺探,具體地說,就是找出程序在哪兒加的密、如何加的,
從而找到"修改點",以便將其改為解密版。
                先介紹解密的幾條思路∶
?。保念^至尾式∶
                        拿到一個軟件,從第一條指令開始,逐條跟蹤,直至找到"修改
點",這就是最基本的解密方法。但要注意,跟蹤過程中應采?。⑾却趾蠹?,偶
而回溯"的方針。比如下面一段程序∶
                        
                *                       *                          *
         Initialize
                    |               
          ?。?        Call Module1
                   |
                     V   
        Call Module2-->Call Module3 
                    |                   |
                    V                   V 
                  ...      Call Module4 -> Call  Module 5
                                                    |
|
                                                    V                        
                                              檢查Password                                                             Or   ax,ax
        我們要找的修改點 ======>     jz  游戲入口
                                          jnz 顯示"Password" 不對 
                                                                                                                                   ...               
                          *                     *                       *                               
  我們要找的"修改點"藏在Module 4里面,如果我們從Module1開始一條一條
跟的話,恐怕要看幾千條指令,但如果我們按"先粗后細"的原則,先用P 命令,
即Step方式跟蹤,當發現Step過Module2時,游戲已檢查過Password,說明跟"過"
了,于是用"偶而回溯"策略,從新執行程序,這次跟入Module2, 再用P粗
線條跟蹤,發現Step過Module4后又錯過了"修改點",于是返回頭來跟入Module4,
這次終于發現在一處由 Or  ax,ax /  jz  XXXX  產生的分支與程序是否"認
為"Password正確直接相關,不妨試著把jz  XXXX改為jmp XXXX--成功了,
游戲已正常進入主畫面。這說明我們找到了"修改點",解密的主要工作也就完成
了,關于如何把這一修改"固化"下來,參見后文。

2)中途攔截式∶
        抗日影片《鐵道游擊隊》中,機警勇敢的游擊隊戰士在同日寇交鋒時常
常不是正面進攻,而是早早地埋伏在鐵路旁,等敵人的火車經過時,給它來個"
中途攔截",從而達到出其不意的制勝效果。 在軟件解密的過程中亦有同樣的戰
術∶拿到一個軟件后,先不忙著從頭跟起,而是考慮一下,有沒有辦法跳過程序
的初始化部分,直接切入程序判斷密鑰的"關鍵點"或是"關鍵點"附近的部分。若
是存在這樣的捷徑,就可省去不少跟蹤之苦。
        這里,僅以解拆游戲PASSWORD為例。讓我們思考這樣一個問題∶程

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品成a人| 国产精品夜夜爽| 久久久久国产精品厨房| 这里只有精品视频在线观看| 欧美性猛片aaaaaaa做受| 色婷婷综合久久久中文一区二区 | 亚洲四区在线观看| 欧美激情中文字幕一区二区| 亚洲精品一区二区三区99| 国产成人精品亚洲午夜麻豆| 亚洲国产精品麻豆| 欧美日韩亚洲综合一区二区三区| 91福利视频网站| 欧美吻胸吃奶大尺度电影| 欧美日韩综合在线| 欧美精品粉嫩高潮一区二区| www欧美成人18+| 26uuu久久综合| 欧美精彩视频一区二区三区| 欧美国产精品专区| 亚洲精品国产精华液| 亚洲综合色网站| 蜜臀av国产精品久久久久| 麻豆国产精品777777在线| 国产精品一二三区| 97国产一区二区| 欧美日本国产视频| 久久久一区二区三区捆绑**| 中文字幕av在线一区二区三区| 九九精品一区二区| 国产亚洲欧美激情| 91亚洲男人天堂| 日本道色综合久久| 日韩一区二区精品在线观看| 日本一区二区三区视频视频| 亚洲一区二区欧美日韩| 奇米精品一区二区三区四区| 成人午夜免费电影| 欧美剧在线免费观看网站 | 一级做a爱片久久| 日本麻豆一区二区三区视频| 国产成人久久精品77777最新版本| 色成人在线视频| 欧美成va人片在线观看| 亚洲精品成人a在线观看| 黑人精品欧美一区二区蜜桃| 91免费版在线| 国产三级一区二区三区| 亚洲成av人片一区二区三区| 国产精品综合在线视频| 欧美日韩国产精品成人| 国产精品欧美极品| 久久er精品视频| 欧洲一区二区三区免费视频| 欧美国产综合色视频| 美女视频黄频大全不卡视频在线播放| 99re在线精品| 国产女同性恋一区二区| 六月丁香综合在线视频| 91精品1区2区| 国产精品你懂的在线| 国内精品久久久久影院薰衣草| 欧美影片第一页| 亚洲婷婷综合色高清在线| 国产又粗又猛又爽又黄91精品| 欧美久久一区二区| 亚洲在线免费播放| 色综合久久88色综合天天6| 久久精品无码一区二区三区| 青青草精品视频| 91麻豆精品国产自产在线 | 91精品国产综合久久香蕉的特点| 18成人在线视频| 成人av在线观| 国产精品久久久久aaaa| 国产suv精品一区二区三区| 国产婷婷色一区二区三区在线| 久久成人免费日本黄色| 欧美成人精品高清在线播放| 日韩在线卡一卡二| 91精品国产高清一区二区三区| 亚洲一区影音先锋| 欧美揉bbbbb揉bbbbb| 五月天激情综合| 6080亚洲精品一区二区| 日韩国产精品久久久| 欧美一区二区女人| 欧美bbbbb| 精品电影一区二区三区| 国产ts人妖一区二区| 国产精品久久久久久妇女6080| 成人av电影免费在线播放| 亚洲人成7777| 欧美乱妇15p| 另类人妖一区二区av| 久久久久综合网| av网站免费线看精品| 亚洲精品欧美激情| 欧美三级中文字幕在线观看| 午夜精品久久久久久久 | 国产麻豆视频精品| 国产精品无码永久免费888| 色婷婷综合五月| 日本色综合中文字幕| 久久精品在线观看| 色老头久久综合| 蜜臀av一区二区在线免费观看| 久久久精品一品道一区| 91免费精品国自产拍在线不卡| 亚洲国产另类av| 精品少妇一区二区三区| 91在线高清观看| 日韩在线卡一卡二| 中文字幕免费不卡在线| 欧美综合一区二区三区| 精品一区二区免费| 最新欧美精品一区二区三区| 91精品国产免费| 9l国产精品久久久久麻豆| 日韩成人伦理电影在线观看| 久久精品日产第一区二区三区高清版| 一本色道a无线码一区v| 久久精品国产第一区二区三区| 国产精品国产三级国产a| 日韩欧美国产一二三区| 97se狠狠狠综合亚洲狠狠| 男男视频亚洲欧美| 一区二区在线观看视频在线观看| 欧美成人女星排名| 欧美日韩午夜在线视频| 国产99一区视频免费 | 欧美成人猛片aaaaaaa| 91看片淫黄大片一级在线观看| 激情深爱一区二区| 午夜国产不卡在线观看视频| 亚洲欧洲日韩综合一区二区| 精品国产sm最大网站免费看| 欧美日韩高清在线播放| 91猫先生在线| 成人高清免费在线播放| 国产麻豆成人传媒免费观看| 亚洲第一主播视频| 亚洲精品国产一区二区三区四区在线| 久久久精品黄色| ...中文天堂在线一区| 欧美成人精品二区三区99精品| 色悠悠久久综合| a级精品国产片在线观看| 国产精品中文字幕一区二区三区| 美女视频网站久久| 另类综合日韩欧美亚洲| 日本欧美一区二区三区| 天堂蜜桃91精品| 午夜电影网一区| 天天综合网 天天综合色| 亚洲国产成人91porn| 一区二区三区色| 亚洲一区视频在线观看视频| 亚洲一区自拍偷拍| 亚洲一区二区三区视频在线播放| 亚洲精品日韩一| 亚洲综合在线电影| 亚洲一区二区精品3399| 亚洲综合一区在线| 午夜av一区二区三区| 天天影视涩香欲综合网| 日本在线播放一区二区三区| 污片在线观看一区二区| 蜜桃视频第一区免费观看| 蜜桃精品视频在线| 国产精品亚洲一区二区三区妖精| 国产精品正在播放| 99久久久精品| 欧美亚洲国产一区在线观看网站 | 青椒成人免费视频| 九九精品视频在线看| 国产成人精品亚洲日本在线桃色| 成人免费看片app下载| 色狠狠一区二区三区香蕉| 欧美日韩黄色影视| 精品奇米国产一区二区三区| 欧美国产精品一区二区三区| 亚洲三级电影网站| 免费观看日韩av| 国产69精品久久777的优势| 色综合久久久久网| 日韩一级免费观看| 中文字幕一区二区三区不卡在线 | 国产精品一区二区三区网站| av色综合久久天堂av综合| 欧美久久久久久蜜桃| 久久九九久精品国产免费直播| 中文字幕制服丝袜成人av | 狠狠色狠狠色综合系列| 成人久久久精品乱码一区二区三区 | 国产精品乱码久久久久久| 亚洲一卡二卡三卡四卡五卡| 国产真实精品久久二三区| 日本久久一区二区| 精品第一国产综合精品aⅴ|