久久精品电影网_久久久久久电影_久久99精品久久久久久按摩秒播_天堂福利影院_国产男女爽爽爽免费视频_国产美女久久

軟件破解常見的問題-逆向工程的應用

所屬欄目:軟件開發論文 發布日期:2010-09-15 09:38 熱度:

  摘要:通過分析幾種常規軟件破解的方式,以破解出發,并提出了編寫應用程序需要注意和改進的地方。
  關鍵詞:軟件破解技術;加殼軟件;逆向工程 
  1引言
  軟件破解主要從兩個方面人手,第一是脫掉保護軟件的殼,現在的軟件出廠一般都使用了加密殼、壓縮殼、偽裝殼、多層殼等技術,脫掉軟件的殼是能進行跟蹤調試的前提條件。第二是根據軟件的注冊性質決定采取什么對策進行序列號推算,暴力破解等。
  2.1殼概述
  在一些計算機軟件里有一段專門負責保護軟件不被非法修改或反編譯的程序,它們一般都是先于程序運行,拿到控制權,然后完成它們保護軟件的任務。當加殼后的文件執行時,殼一這段代碼先于原始程序運行,它把壓縮、加密后的代碼還原成原始程序代碼,然后再把執行權交還給原始代碼。軟件的殼分為加密殼、壓縮殼、偽裝殼、多層殼等
  類,目的都是為了隱藏程序真正的OEP(人口點,防止被破解)。
  2.2加殼軟件
  作者編好軟件后,編譯成exe可執行文件。有一些版權信息需要保護起來,不想讓別人隨便改動,如作者的姓名等,即為了保護軟件不被破解,•通常都是采用加殼來進行保護。若需要把程序壓縮小一些,從而方便傳輸,于是,需要用到一些軟件,它們能將exe可執行文件壓縮。另外在黑客界給木馬病毒等加殼以躲避殺毒軟件。能實現上述功能的這些軟件稱為加殼軟件,如ASPACK,UPX,PEcompace等。
  2.3偵殼軟件
  偵測殼和軟件所用編寫語言的軟件為偵殼軟件。脫殼之前必須要查它的殼的類型。常用偵殼軟件有peid,fi等。
  2.4脫殼軟件
  常用的脫殼工具如下:
  (1)文件分析工具(偵測殼的類型):Fi,Get-Typ,peid,pe—scan;
  (2)OEP人口查找工具:peid;
  (3)調試工具:SoftICE,TRW,ollybdg;
  (4)Dump工具:IceDump,TRW,PEditor,ProcDump32,lmrdPE;
  (5)PE文件編輯工具:PEditor,Proc.Dump32,LordPE;
  (6)重建ImportTable工具:ImportREC,Re-Virgin。
  2.5手動脫殼方法
  軟件脫殼有手動脫殼和自動脫殼之分,下面僅介紹手動脫殼。
  手動脫殼的主要步驟是尋找人口點,轉儲(dump)程序,修復引人函數表(ImportTable),修復pe文件。現在的殼分壓縮殼,加密殼,偽裝殼,多重殼。壓縮殼的目的是使文件由大小變小,便于在網上傳播。并有一定的保護作用,他人無法反匯編加殼程序;加密殼的目的是用各種手段保護軟件殼不被脫掉、跟蹤,文件大小不是它的目的,有時候甚至變大;偽裝殼其實也還是一種加密殼,只不過它先是偽裝成一些開發工具的頭部,如VC,使得偵殼工具無法準確地偵察出它加殼的種類;多重殼技術是采用多種殼加密技術,不光加一層殼,加多重不一樣的殼達到保護的目的。
  判斷加殼程序和普通程序很容易,用Ollydbg(簡稱Od)載入程序,沒加殼軟件無任何提示。加密殼有些Od載人時會提示壓縮,用運行后,Od提示程序異常。普通加殼Od載人時一般都會發現,提示軟件被加殼,是否繼續分析。若脫殼沒有脫干凈,Od載人時也會提示加殼。手動脫殼時,用OUdbg載人程序,脫殼程序里面就會有很多循環。對付循環時,只能讓程序往前運行,基本不能讓它往回跳,要想辦法跳出循環圈。單步跟蹤,找到程序的人口地址。這就是動態
  調試脫殼的基本思想。
  開始用Od載人程序,一般有殼的話都會彈出一個人口警告,屬于正常現象,此時,如果先用peid等軟件探察過提示沒有加殼,軟件是用c++編寫的,那么如果彈出入口警告極有可能表示程序的殼是經過偽裝的。這里有幾個小竅門,如果使用aspack或upx加的殼,人口指令一般都是pushad,用于保護現場,記住這個小竅門有可能成為脫掉多層殼的捷徑。然后開始單步跟蹤調試,這也是逆向工程最常用的方法。接下來的步驟就是一路前進,保證不要往后退,對于簡單殼,遇到回跳指令,可直接點擊其下一條指令然后強行跳轉到那里,但是這只是很簡單的情況,一般來說這種情況程序都要跑飛,如此就只有再看前面是否忽略可以跳出循環的地方。
  3軟件保護機制
  3.I常見軟件保護模式 
  3.I.I序列號保護模式
  數學算法一直都是加密的核心,但在一般的軟件加密中,它似乎并不太為人們關心,因為大多數時候軟件加密本身實現的都是一種編程的技巧,但近幾年隨著序列號加密程序的普及,數學算法在軟件加密中的比重似乎是越來越大了。但是當今有名的加密算法如RSADES,MIM,MD5S是為了加密密文或密碼用的,與序列號加密多少有些不同。一般序列號算法都是軟件作者自己創造的,對于數學不可逆要求不是太高,所以一般都比較簡單。破解方法:
  一般軟件用序列號方式,都是輸入字符串,如用戶名,再生成正確序列號,所以我們就可以利用處理字符串的消息斷點,如WM—GETrEXT和WM—COMMAND等,攔截住軟件算號程序對字符串進行的處理,從而讓我們有機會一步一步用調試器(如Ollydbg等)跟蹤調試,找出序列號的正確算法。
  3.1.2時間限制
  有些程序的試用版運行都有時間限制,運行一段時間就會停止,如一個月。顯然這些程序中在安裝時就記住了當前安裝的時間,然后每次運行的時候就和安裝時間比較,看是否過期。破解方法:
  你只需動態跟蹤程序,在幾個常用時間函數處設下斷點,然后將其匯編語句改變即可,如:MOVeCX1e;把3O放人eCX,即一個月MOVeax,[esp+10];把用過天數放到eaxCMPeax,ecx,⋯所以此時只需把“MOVeax,[esp+lO]”改為”MOVeax,1”即可,常見時間函數如下:GetSystemTimeGetIz~alTimeSystemTimeTo-FileTim、SetTimer。
  3.1.3KeyFile保護
  KeyFile(注冊文件)是一種利用文件來注冊軟件的保護方式。KeyFile一般是一個小文件,可以是純文本文件,也可以是包含不可顯示字符的二進制文件,其內容是一些加密過或未加密過的數據,其中可能有用戶名,注冊碼等信息。破解方法:破解過程一般就是建立一假keyf'de取代真keytile,然后用調試工具去破解,和以前大同小異。常用破解kele函數如下:ReadFile、Create-FileA、——l0pen()、FindFirstFileA()等。
  3.1.4功能限制的程序
  這種程序一般是DEMO版或菜單中部分選項是灰色。有些DEMO版本的部分功能里面根本沒有,而有些程序功能全有,只要注冊就正常了。破解方法:破解思路幾乎一致,主要就是找到程序調用函數點,其常見函數如:EnableMenuItem、EnableWindow。
  3.1.5cd檢測
  簡單且最常見的光盤保護就是程序在啟動時判斷光驅中的光盤上是否存在特定的文件,如果不存在則認為用戶沒有正版光盤,拒絕運行。在程序運行中一般不再檢查光盤的存在與否。破解方法:可采用靜態分析,如將游戲光盤拿出來,記下屏幕上顯示的字符串,然后用W32dasm用串式數據參考功能查找相應代碼進行分析。相關函數有GetDrivetype(a)、GetLogicalDrives、GetI~-givalDriveStrings,GetFileAttributesA,GetFileSize,GetLastError、ReadFile等。
  3.2改進意見
  逆向工程的作用不是破解軟件等程序對程序員造成損失,它的作用在于發現程序保護甚至程序本身的不足之處,然后提出改正。可采用以下改進方法提高軟件破解難度。
  (1)一般不要用一目了然的名字來命名敏感函數和文件,如keyiile,liscence等。
  (2)程序中出現明文提示盡可能普遍化或加密,以免靜態調試工具搜索到。
  (3)少用一些眾所周知的系統函數來進行操作,如獲取時間等。
  (4)注冊算法最好有嚴格的數學根據,加強不可逆性,使之無法直接破解,采用比較成熟的密碼學算法。
  (5)注冊碼最好采用一機一碼形式,也就是采用讀取機器內部特征編號等來作為序列號演算的seed,如使用硬盤編號與網卡mac相結合的方式,盡可能防止一個序列號泛濫的情況。
  (6)試用版最好與正式版分開封裝,即試用版沒有的功能只做按鈕,而不放相應的事件代碼,使得編譯的程序根本沒有此項功能。
  (7)采用keyfile方式盡可能將keyfile結構設計得復雜點,在程序中不同地點對keyfile中不同部分進行檢查。
  (8)最好序列號算法不在程序中,多采用聯網注冊方式,并且數據傳輸時要加密。
  4結束語
  通過以上對一般軟件保護破解的分析,如果多采用改進意見中提出的方式就可使軟件破解難度加大,也可對一個序列號泛濫情況起到一定防止作用。

  搜論文知識網致力于為需要刊登論文的人士提供相關服務,提供迅速快捷的論文發表、寫作指導等服務。具體發表流程為:客戶咨詢→確定合作,客戶支付定金→文章發送并發表→客戶接收錄用通知,支付余款→雜志出版并寄送客戶→客戶確認收到。鳴網系學術網站,對所投稿件無稿酬支付,謝絕非學術類稿件的投遞!
  

文章標題:軟件破解常見的問題-逆向工程的應用

轉載請注明來自:http://www.56st48f.cn/fblw/dianxin/ruanjiankaifa/4168.html

相關問題解答

SCI服務

搜論文知識網 冀ICP備15021333號-3

主站蜘蛛池模板: 国产午夜精品视频 | 综合网在线 | 久久激情视频 | 日韩av在线免费 | 国产精品区二区三区日本 | 91精品久久久久久久久 | 精品国产一区二区三区久久影院 | 欧美乱人伦视频 | 亚洲欧美中文日韩在线v日本 | 蜜桃精品视频在线 | 国产精品中文字幕在线 | 久久久久久91 | 男女网站免费观看 | 一区二区三区韩国 | 电影午夜精品一区二区三区 | 精品欧美乱码久久久久久 | 男女视频在线观看网站 | 久久精品国产免费一区二区三区 | 自拍偷拍第一页 | 亚洲成人一区二区在线 | 国产一区二区在线91 | 91麻豆精品国产91久久久久久 | 天天干亚洲 | 99精品国产一区二区三区 | 久久久成人精品 | 国产精品一区视频 | 午夜影院官网 | 精品国产一区二区国模嫣然 | 欧美专区在线 | 亚洲毛片在线 | 一区二区三区四区在线免费观看 | 欧美成人精品一区二区三区 | 精品日韩一区二区 | 9久9久9久女女女九九九一九 | 99在线免费视频 | 中文字幕精品一区二区三区精品 | 色天堂视频 | 九九热免费在线观看 | 毛片一级片 | 91精品久久久 | 欧美精品一级 |