1 / 20

Advantage And Disadvantage

Advantage And Disadvantage. Advantage : Reduced Risk Reduced Cost Disadvantage : There are practical limits to the extent that a system can be improved by re-engineering 例子 : 影音聊天室. Software Re-Engineering. Process : Source Code Translation (C C++) Reverse Engineering

woods
Download Presentation

Advantage And Disadvantage

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advantage And Disadvantage • Advantage : • Reduced Risk • Reduced Cost • Disadvantage : • There are practical limits to the extent that a system can be improved by re-engineering 例子 : 影音聊天室

  2. Software Re-Engineering • Process : • Source Code Translation (C C++) • Reverse Engineering • Program Structure Improvement • Program Modularization • Data Re-Engineering

  3. Re-Engineering Issues • The quality of the software to be re-engineered • The tool support available for re-engineering • The extent of data conversion required • The availability of expert staff 例子 : Microsoft Window系列

  4. Reverse Engineering • Definition • The Process of analyzing software with the objective of recovering its design and specification • Help Engineers to understand a program before reorganizing its structure

  5. Reverse Engineering Realism of Reverse Engineering BCB6.0(已註冊) + BCB 6.0(未註冊) Key Generator

  6. 我們通常破解些什麼? • 根據你輸入的名字找出註冊碼 • 改變程式的流程﹕用除錯器找出註冊流程,並用hex editor修改程式,以便輸入任何密碼也能註冊 • 把程式的註冊碼計算方法找出。然後寫出註冊碼產生器(註冊機)

  7. 在破解中常見的組合語言 • CALL -- 呼叫 function • JNZ -- jump if not zero • JZ -- jump if zero • CMP -- 比較

  8. Demo

  9. 這些例子是極其簡單的,真實的程式絕不會這樣簡單這些例子是極其簡單的,真實的程式絕不會這樣簡單

  10. Reference • Heko的破解站http://thunder.prohosting.com/~heco/

  11. Merry Christmas and Happy New Year

  12. 用SoftICE進行破解Reverse-Engineering 電機四 紀博文

  13. 什麼是SoftICE? • SoftICE Driver Suite 是一套用來加速微軟Windows裝置驅動程式開發和偵錯的核心 工具。 • SoftICE Driver Suite包括: DriverAgent-開發硬體雛型或全部的應用軟體。VtoolsD-產生Windows的VxDs驅動程式。 DriverWorks-輕鬆的使用功能強大的精靈開發裝置驅動程式。SoftICE-輕鬆的對核心模式的驅動程式進行偵錯。

  14. NuMega SoftICE 特色: 1.透過Internet進行遠端偵錯,提供在單台機器上進行原始程式碼除錯的能力。 2.支援 Windows Millennium Edition,Windows NT,Windows 95,Windows98 和 Windows 2000,提供所有Windows 平台下建立裝置驅動程式和系統元件之強而有力 、可靠的除錯工具。 3.可在Pentium, Pentium Pro, Pentium III多元處理器系統上進行程式碼除錯,透過 使用支援SMP(SoftICE Windows NT)標準的Intel多元處理器方案(APIC)最多可支援8 個CPU。 4.支援Microsoft Kernel Debug extensions。

  15. SoftICE的畫面

  16. SoftICE

  17. 常用HOTKEY • F1 - Help F5 - RUN F8 - Trace (into call) F10 - Trace (not into call) F12 - RET

  18. Example 1 • 137C:0151       CMP BYTE PTR [14AC],00  137C:0156       JNZ  015C  137C:0159       CALL 1A43  137C:015C       MOV  AL,9 • 假設程式設計師把記憶體位置14AC設為00,目的是要表示那程式是未註冊的。 • 而第1行的目的是要比較那記憶體位置是否等於00 ,如果不是的話,當程式跳到第2行的時候,程式的流程便會到第4行(015C) 如果是的話,程式會略過第2行,執行第3行

  19. Example 1 • 將第2行改成相反的,即是 JZ 015C。這樣便將未註冊的軟件當成註冊的 • 或者索性改成 JMP 015C,不論第1行的結果如何程式也不會走到第3行 • 你還可以改第一行成 JMP 015C • 將第1行改成 MOV BYTE PTR [14AC], 01 ,將第2行改成 JMP 015C

  20. Example 2(Winzip32 v6.3) • 00409D89    call 004096EA  00409D8E    test eax, eax  00409D90    jne 00409DD3  00409D92    call 00409F9C • 第 1 行. 那個 call 是一個比較或計算,它將會設定 eax 成  1 或 0 • 第 2 行. test eax, eax 是檢查 eax 是否 0 • 第 3 行如果 eax 是 0 的話,就走到第 4 行那個 call如果 eax 不是 0 的話,就跳到 00409DD3

More Related