天天看點

痛心:《萬能資料庫查詢分析器》采用EXE檔案加殼技術,導緻被防毒軟體誤殺

      本來想防止别人使用DEBUG工具來破解《萬能資料庫查詢分析器》,來更好地保護自己的知識産權,是以《萬能資料庫查詢分析器》中英文版本《DB 查詢分析器》、《DB Query Analyzer》均采用了EXE檔案加殼技術。但實在想不到的居然是,防毒軟體誤将其當作木馬病毒。真是痛心啊!

    2007年5月份在國内外各大軟體下載下傳網站(包括國外的download.com、softpedia.com,并且後者還聲明說“DB Query Analyzer - SOFTPEDIA "100% CLEAN" AWARD”)釋出時,都沒有被誤殺啊,怎麼今年就開始誤殺了呢,木馬病毒都出現了多少年了噢,真是想不通啊!

    看來,本人非常有必要來向大家闡述一下《萬能資料庫查詢分析器》的加殼技術了,以避免不必要的誤解。

《萬能資料庫查詢分析器》的EXE檔案加殼技術

      馬根峰  ( 廣東聯合電子收費股份有限公司, 廣州 510300)

作者部落格:

新浪部落格:  http://blog.sina.com.cn/magenfeng

搜狐部落格:  http://magenfeng.blog.sohu.com/ 

QQ空間:  http://630414817.qzone.qq.com/   

1       引言  

     對于一個程式開發機關或者個人而言,如何才能防止别人使用DEBUG工具來破解您的程式,更好地保護您的知識産權?

     一個比較通用的做法就是把你的EXE檔案進行加殼,即将EXE檔案進行切分、加密。對外您隻需釋出各個加密的EXE子檔案,而不用提供EXE檔案。這樣别人也就無法DEBUG您的EXE檔案來進行破解。 

     在系統啟動時,通過運作EXE外殼程式,來對各個加密EXE子檔案進行解密并加載到一塊記憶體中,進而在記憶體中直接啟動您的應用程式。

     總之,在釋出軟體時,您可以不釋出EXE檔案,隻釋出各個加密的EXE子檔案和EXE外殼引導程式,實作對您的軟體的保護。

2      萬能資料庫查詢分析器所采用的軟體保護技術

     中國本土程式員馬根峰推出的個人作品----萬能資料庫查詢分析器,其中文版本《DB 查詢分析器》、英文版本《DB Query Analyzer》。它集哈希技術、連結清單等多種資料結構于一體,使用先進系統開發技術,經曆4年的研究、開發、測試周期,長達5萬多行代碼的工作量,使得萬能資料庫查詢分析器具有強大的功能、友好的操作界面、良好的操作性、跨越資料庫平台。

     出于對對自已程式的保護,馬根峰同樣對中英文版本的EXE程式檔案進行了加殼技術。從系統産生至今的三個版本,1.0版本、1.03版本到1.04版本都采用了加殼技術,并且EXE檔案進行切分、加密是用自己開發的程式所完成。釋出的安裝程式中“DB_part1.del”、“DB_part2.del”、“DB_part3.del”、“DB_part4.del”就是萬能查詢分析器中英文版本的EXE檔案所切分、加密後的密文檔案,具體的生成過程見圖1所示。

痛心:《萬能資料庫查詢分析器》采用EXE檔案加殼技術,導緻被防毒軟體誤殺

                   圖1   《萬能資料庫查詢分析器》EXE檔案的切分、加密過程

      使用者下載下傳《萬能資料庫查詢分析器》中英文版本安裝程式,在計算機上安裝後,就可以運作了。整個程式運作的過程如圖2所示。

痛心:《萬能資料庫查詢分析器》采用EXE檔案加殼技術,導緻被防毒軟體誤殺

             圖2   《萬能資料庫查詢分析器》的裝載與執行過程

      “DBQueryAnalyzer.ex_”(這是安裝前的檔案名,安裝到計算機系統中之後,名稱就變成“DBQueryAnalyzer.exe”),就是自己所編寫的EXE外殼引導程式。“DBQueryAnalyzer.ex_”的作用就是将EXE檔案切分、加密後的四個子檔案“DB_part1.del”、“DB_part2.del”、“DB_part3.del”、“DB_part4.del”解密,然後組裝後裝入記憶體,這時EXE外殼引導程式“DBQueryAnalyzer.exe”就退出運作,調用記憶體中“萬能資料庫查詢分析器”的執行檔案區域。

3        計算機病毒的重要特征

計算機病毒具有以下幾個特點:

寄生性

       計算機病毒寄生在其他程式之中,當執行這個程式時,病毒就起破壞作用,而在未啟動這個程式之前,它是不易被人發覺的。

傳染性

       計算機病毒不但本身具有破壞性,更有害的是具有傳染性,一旦病毒被複制或産生變種,其速度之快令人難以預防。傳染性是病毒的基本特征。

潛伏性

       有些病毒像定時炸彈一樣,讓它什麼時間發作是預先設計好的。比如黑色星期五病毒,不到預定時間一點都覺察不出來,等到條件具備的時候一下子就爆炸開來,對系統進行破壞。

破壞性

       計算機中毒後,可能會導緻正常的程式無法運作,把計算機内的檔案删除或受到不同程度的損壞 。通常表現為:增、删、改、移。

可觸發性

       病毒因某個事件或數值的出現,誘使病毒實施感染或進行攻擊的特性稱為可觸發性。為了隐蔽自己,病毒必須潛伏,少做動作。如果完全不動,一直潛伏的話,病毒既不能感染也不能進行破壞,便失去了殺傷力。病毒既要隐蔽又要維持殺傷力,它必須具有可觸發性。

4        加殼技術的美中不足

         EXE檔案加殼技術有效的保護了自己的軟體,然而由于其加載到記憶體運作的原理有點類似于病毒的工作原理,是以被相當一部分防毒軟體誤認為是木馬病毒。但在一個程式中往往會調用另外的程式、或者動态配置設定記憶體,僅憑這一點就作為判斷病毒的依據,豈非有點兒戲。

        從另一方面講,《萬能資料庫查詢分析器》根本不具有計算機病毒的特征:寄生性、傳染性、潛伏性、破壞性、可觸發性。是以我都不知道國内外的防毒軟體産品依據什麼來将《萬能資料庫查詢分析器》誤判為計算機病毒,真是頗為費解。

        盡管本人已經發信給國内外的防毒軟體商,告知他們本人的程式,但由于别人财大氣粗,效率不高,至今《萬能資料庫查詢分析器》的中文版本《DB 查詢分析器》、英文版本《DB Query Analyzer》的安裝程式依然被當成木馬病毒而誤殺。

       很不可思議的是,2007年5月份在國内外各大軟體下載下傳網站(包括國外的download.com、softpedia.com,并且後者還聲明說“DB Query Analyzer - SOFTPEDIA "100% CLEAN" AWARD”)釋出時,都沒有被誤殺啊,怎麼今年就開始誤殺了呢,木馬病毒都出現了多少年了噢,真是想不通啊!

技術交流的話,

聯系方式:

QQ:630414817

MSN: [email protected]

QQ添加好友時請輸入驗證資訊:查詢分析器

痛心:《萬能資料庫查詢分析器》采用EXE檔案加殼技術,導緻被防毒軟體誤殺