《萬能資料庫查詢分析器》的exe檔案加殼技術
馬根峰 ( 廣東聯合電子收費股份****, 廣州 510300)
作者部落格:
qq空間:
csdn文庫:
csdn部落格:
magenfeng
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所示。
圖1 《萬能資料庫查詢分析器》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》的安裝程式依然被當成木馬病毒而誤殺。
(包括國外的download.com、softpedia.com,並且後者還宣告說「db query analyzer -
softpedia "100% clean" award」)發布時,都沒有被誤殺啊,怎麼今年就開始誤殺了呢,木馬病毒都出現了多少年了噢,真是想不通啊!
技術交流的話,
****:
msn: [email protected]
qq新增好友時請輸入驗證資訊:查詢分析器
Hibernate萬能資料庫訪問程式及其存在問題
建立查詢條件類,並利用反射技術及hibernate框架自帶的criteria類,實現此功能。查詢類 public class sortandfilterbean private string valuefuzz private string name private string type publ...
查詢資料庫中的所有觸發器
select name from sysobjects where xtype tr 所有觸發器 select name from sysobjects where xtype p 所有儲存過程 select name from sysobjects where xtype v 所有檢視 selec...
達夢資料庫 查詢優化器的執行計畫介紹
查詢優化器的執行計畫介紹 執行計畫是sql語句的執行方式,由查詢優化器為語句設計的執行方式,交給執行器去執行。在sql命令列使用explain可以列印出語句的執行計畫。例如 建表和建索引語句 create table t1 c1 int c2 char create table t2 d1 int ...