當前位置:首頁 » 密碼管理 » oep加密

oep加密

發布時間: 2023-01-21 13:28:44

㈠ 什麼叫"加殼"

加殼:其實是利用特殊的演算法,對EXE、DLL文件里的資源進行壓縮。類似WINZIP 的效果,只不過這個壓縮之後的文件,可以獨立運行,解壓過程完全隱蔽,都在內存中完成。解壓原理,是加殼工具在文件頭里加了一段指令,告訴CPU,怎麼才能解壓自己。現在的CPU都很快,所以這個解壓過程你看不出什麼東東。軟體一下子就打開了,只有你機器配置非常差,才會感覺到不加殼和加殼後的軟體運行速度的差別。當你加殼時,其實就是給可執行的文件加上個外衣。用戶執行的只是這個外殼程序。當你執行這個程序的時候這個殼就會把原來的程序在內存中解開,解開後,以後的就交給真正的程序。所以,這些的工作只是在內存中運行的,是不可以了解具體是怎麼樣在內存中運行的。通常說的對外殼加密,都是指很多網上免費或者非免費的軟體,被一些專門的加殼程序加殼,基本上是對程序的壓縮或者不壓縮。因為有的時候程序會過大,需要壓縮。但是大部分的程序是因為防止反跟蹤,防止程序被人跟蹤調試,防止演算法程序不想被別人靜態分析。加密代碼和數據,保護你的程序數據的完整性。不被修改或者窺視你程序的內幕。
其實我用的最多加殼就是給木馬加殼,也便不被殺毒軟體發現,但是現在類似卡巴斯基的殺毒軟體都很厲害,任你怎麼加,也能發現的。。。

㈡ 萬能脫殼工具如何使用

問題一:軟體破解有沒有通用萬能的脫殼的好工具?asprotect殼有什麼工具可以脫掉? (一).殼的概念
作者編好軟體後,編譯成exe可執行文件。 1.有一些版權信息需要保護起來,不想讓別人隨便改動,如作者的姓名等,即為了保護軟體不被破解,通常都是採用加殼來進行保護。 2.需要把程序搞的小一點,從而方便使用。於是,需要用到一些軟體,它們能將exe可執行文件壓縮, 3.在黑客界給木馬等軟體加殼脫殼以躲避殺毒軟體。
實現上述功能,這些軟體稱為加殼軟體。
(二).加殼軟體最常見的加殼軟體ASPACK ,UPX,PEpact 不常用的加殼軟體WWPACK32;PE-PACK ;PETITE ;NEOLITE
(三).偵測殼和軟體所用編寫語言的軟體,因為脫殼之前要查他的殼的類型。 1.偵測殼的軟體fileinfo.exe 簡稱fi.exe(偵測殼的能力極強) 2.偵測殼和軟體所用編寫語言的軟體language.exe(兩個功能合為一體,很棒) 推薦language2000中文版(專門檢測加殼類型) 3.軟體常用編寫語言Delphi,VisualBasic(VB)---最難破,VisualC(VC)
(四)脫殼軟體。 軟體加殼是作者寫完軟體後,為了保護自己的代碼或維護軟體產權等利益所常用到的手段。目前有很多加殼工具,當然有盾,自然就有矛,只要我們收集全常用脫殼工具,那就不怕他加殼了。軟體脫殼有手動脫殼和自動脫殼之分,下面我們先介紹自動脫殼,因為手動脫殼需要運用匯編語言,要跟蹤斷點等,不適合初學者,但我們在後邊將稍作介紹。
加殼一般屬於軟體加密,現在越來越多的軟體經過壓縮處理,給漢化帶來許多不便,軟體漢化愛好者也不得不學習掌握這種技能。現在脫殼一般分手動和自動兩種,手動就是用TRW2000、TR、SOFTICE等調試工具對付,對脫殼者有一定水平要求,涉及到很多匯編語言和軟體調試方面的知識。而自動就是用專門的脫殼工具來脫,最常用某種壓縮軟體都有他人寫的反壓縮工具對應,有些壓縮工具自身能解壓,如UPX;有些不提供這功能,如:ASPACK,就需要UNASPACK對付,好處是簡單,缺點是版本更新了就沒用了。另外脫殼就是用專門的脫殼工具來對付,最流行的是PROCDUMP v1.62 ,可對付目前各種壓縮軟體的壓縮檔。在這里介紹的是一些通用的方法和工具,希望對大家有幫助。我們知道文件的加密方式,就可以使用不同的工具、不同的方法進行脫殼。下面是我們常常會碰到的加殼方式及簡單的脫殼措施,供大家參考: 脫殼的基本原則就是單步跟蹤,只能往前,不能往後。脫殼的一般流程是:查殼->尋找OEP->Dump->修復 找OEP的一般思路如下: 先看殼是加密殼還是壓縮殼,壓縮殼相對來說容易些,一般是沒有異常,找到對應的popad後就能到入口,跳到入口的方式一般為。 我們知道文件被一些壓縮加殼軟體加密,下一步我們就要分析加密軟體的名稱、版本。因為不同軟體甚至不同版本加的殼,脫殼處理的方法都不相同。
常用脫殼工具: 1、文件分析工具(偵測殼的類型):Fi,GetTyp,peid,pe-scan, 2、OEP入口查找工具:SoftICE,TRW,ollydbg,loader,peid 3、mp工具:IceDump,TRW,PEditor,ProcDump32,LordPE 4、PE文件編輯工具:PEditor,ProcDump32,LordPE 5、重建Import Table工具:ImportREC,ReVirgin 6、ASProtect脫殼專用工具:Caspr(ASPr V1.1-V1.2有效),Rad(只對......>>

問題二:軟體如何脫殼,用什麼軟體脫殼 首先你要檢查一下加的什麼殼,要是你檢測時候發現是VC++寫的,那就說明沒加殼,自然就不需要脫殼。用什麼加的殼,先PEid查看一下,然後再去找專門的脫殼工具,一旦檢測出殼的種類,就可以脫殼了。

問題三:萬能脫殼工具QuickUnpack怎麼脫殼 (QuickUnpack)使用方法
1、點擊【打開文件】選擇要脫殼的文件
2、點擊【連接進程】選擇要連接的進程和模板
3、點擊【完全脫殼】開始脫殼

問題四:軟體破解脫殼法 什麼是脫殼技術?
在一些電腦軟體里有一段專門負責保護軟體不被非法修改或反編譯的程序。它們一般都是先於程序運行拿到控制權,然後完成它們保護軟體的任務。就像動植物的殼一般都是在身體外面一樣理所當然(但後來也出現了所謂的「殼中帶籽」的殼)。由於這段程序和自然界的殼在功能上有很多相同的地方,基於命名的規則,大家就把這樣的程序稱為「殼」了。就像電腦病毒和自然界的病毒一樣,其實都是命名上的方法罷了。從功能上抽象,軟體的殼和自然界中的殼相差無幾。無非是保護、隱蔽殼內的東西。而從技術的角度出發,殼是一段執行於原始程序前的代碼。原始程序的代碼在加殼的過程中可能被壓縮、加密……。當加殼後的文件執行時,殼這段代碼先於原始程序運行,他把壓縮、加密後的代碼還原成原始程序代碼,然後再把執行權交還給原始代碼。 軟體的殼分為加密殼、壓縮殼、偽裝殼、多層殼等類,目的都是為了隱藏程序真正的OEP(入口點,防止被破解)。關於「殼」以及相關軟體的發展歷史請參閱吳先生的《一切從「殼」開始》。
(一)殼的概念:作者編好軟體後,編譯成exe可執行文件。
1.有一些版權信息需要保護起來,不想讓別人隨便改動如作者的姓名,即為了保護軟體不被破解,通常都是採用加殼來進行保護。
2.需要把程序搞的小一點,從而方便使用。於是需要用到一些軟體,它們能將exe可執行文件壓縮。
3.在黑客界給木馬等軟體加殼脫殼以躲避殺毒軟體。實現上述功能,這些軟體稱為加殼軟體。
(二)加殼軟體最常見的加殼軟體ASPACK ,UPX,PEpact 不常用的加殼軟體WWPACK32;PE-PACK;PETITE NEOLITE
(三)偵測殼和軟體所用編寫語言的軟體,因為脫殼之前要查他的殼的類型。
1.偵測殼的軟體 fileinfo.exe 簡稱 fi.exe (偵測殼的能力極強)。
2.偵測殼和軟體所用編寫語言的軟體language.exe(兩個功能合為一體,很棒)推薦。language2000中文版(專門檢測加殼類型)。
3.軟體常用編寫語言Delphi;VisualBasic (VB)最難破;VisualC (VC)。
(四)脫殼軟體。
軟體加殼是作者寫完軟體後,為了保護自己的代碼或維護軟體產權等利益所常用到的手段。目前有很多加殼工具,當然有盾,自然就有矛,只要我們收集全常用脫殼工具,那就不怕他加殼了。軟體脫殼有手動脫和自動脫殼之分,下面我們先介紹自動脫殼,因為手動脫殼需要運用匯編語言,要跟蹤斷點等,不適合初學者,但我們在後邊將稍作介紹。
=======================================================================
加殼一般屬於軟體加密,現在越來越多的軟體經過壓縮處理,給漢化帶來許多不便,軟體漢化愛好者也不得不學習掌握這種技能。現在脫殼一般分手動和自動兩種,手動就是用TRW2000、TR、SOFTICE等調試工具對付,對脫殼者有一定水平要求,涉及到很多匯編語言和軟體調試方面的知識。而自動就是用專門的脫殼工具來脫,最常用某種壓縮軟體都有他人寫的反壓縮工具對應,有些壓縮工具自身能解壓,如UPX;有些不提供這功能,例如:ASPACK,就需要UNASPACK對付,好處是簡單,缺點是版本更新了就沒用了。另外脫殼就是用專門的脫殼工具來對付,最流行的是PROCDUMP v1.62,可對付目前各種壓縮軟體的壓縮檔。在這里介紹的是一些通用的方法和工具,希望對大家有幫助。我們知道文件的加密方式,就可以使用不同的工具、不同的方法進......>>

問題五:有沒有萬能的中文版脫殼機!怎麼使用! 小生我怕怕工具包有你所要的,至於怎麼用望自學成才。

問題六:軟體脫殼工具有哪些 10分 常見的脫殼工具有兩種:
1。OD自帶脫殼插件
滑鼠右鍵菜單,選擇Dump debugged process->設置Entry Point->點擊Dump
2.LordPE
LordPE進程列表中選擇目標進程->滑鼠右鍵菜單,選擇完整脫殼;
脫殼步驟
查殼
使用PEID, PE-SCAN等查殼工具查殼
查找OEP
使用OllyDbg跟蹤調試找到OEP
脫殼
右鍵使用OLLYDBG自帶的脫殼插件
修復
脫下的程序如果不能執行,使用Import ReConstructor工具修復

問題七:萬能脫殼工具QuickUnpack怎麼脫殼 萬能脫殼工具(QuickUnpack)使用方法
1、點擊【打開文件】選擇要脫殼的文件
2、點擊【連接進程】選擇要連接的進程和模板
3、點擊【完全脫殼】開始脫殼

問題八:軟體如何脫殼 步驟1 檢測殼
殼的概念:
所謂「殼」就是專門壓縮的工具。
這里的壓縮並不是我們平時使用的RAR、ZIP這些工具的壓縮,殼的壓縮指的是針對exe、、和dll等程序文件進行壓縮,在程序中加入一段如同保護層的代碼,使原程序文件代碼失去本來面目,從而保護程序不被非法修改和反編譯,這段如同保護層的代碼,與自然界動植物的殼在功能上有很多相似的地方,所以我們就形象地稱之為程序的殼。
殼的作用:
1.保護程序不被非法修改和反編譯。
2.對程序專門進行壓縮,以減小文件大小,方便傳播和儲存。
殼和壓縮軟體的壓縮的區別是
壓縮軟體只能夠壓縮程序
而經過殼壓縮後的exe、和dll等程序文件可以跟正常的程序一樣運行
下面來介紹一個檢測殼的軟體
PEID v0.92
這個軟體可以檢測出 450種殼
新版中增加病毒掃描功能,是目前各類查殼工具中,性能最強的。
另外還可識別出EXE文件是用什麼語言編寫的VC++、Delphi、VB或Delphi等。
支持文件夾批量掃描
我們用PEID對easymail.exe進行掃描
找到殼的類型了
UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
說明是UPX的殼
下面進行
步驟2 脫殼
對一個加了殼的程序,去除其中無關的干擾信息和保護限制,把他的殼脫去,解除偽裝,還原軟體本來的面目。這個過程就叫做脫殼。
脫殼成功的標志
脫殼後的文件正常運行,功能沒有損耗。
還有一般脫殼後的文件長度都會大於原文件的長度。
即使同一個文件,採用不同的脫殼軟體進行脫殼,由於脫殼軟體的機理不通,脫出來的文件大小也不盡相同。
關於脫殼有手動脫殼和自動脫殼
自動脫殼就是用專門的脫殼機脫 很簡單 按幾下就 OK了
手動脫殼相對自動脫殼 需要的技術含量微高 這里不多說了
UPX是一種很老而且強大的殼 不過它的脫殼機隨處就能找到
UPX本身程序就可以通過
UPX 文件名 -d
來解壓縮 不過這些需要的 命令符中輸入
優點方便快捷 缺點DOS界面
為了讓大家省去麻煩的操作 就產生了一種叫 UPX SHELL的外殼軟體
UPX SHELL v3.09
UPX 外殼程序!
目的讓UPX的脫殼加殼傻瓜化
註:如果程序沒有加殼 那麼我們就可以省去第二步的脫殼了,直接對軟體進行分析了。
脫完後 我們進行
步驟3
運行程序
嘗試注冊
獲取注冊相關信息
通過嘗試注冊 我們發現一個關鍵的字元串
「序列號輸入錯誤」
步驟4
反匯編
反匯編一般用到的軟體 都是 W32Da ***
W32da *** 對於新手 易於上手 操作簡單
W32Da *** 有很多版本 這里我推薦使用 W32Da *** 無極版
我們現在反匯編WebEasyMail的程序文件easymail.exe
然後看看能不能找到剛才的字元串
步驟5
通過eXeScope這個軟體來查看未能在w32da *** 中正確顯示的字元串信息
eXeScope v6.50
更改字體,更改菜單,更改對話框的排列,重寫可執行文件的資源,包括(EXE,DLL,OCX)等。是方便強大的漢化工具,可以直接修改用 VC++ 及 DELPHI 編制的程序的資源,包括菜單、對話框、字元串表等
新版可以直接查看 加殼文件的資源
我們打開eXeScope
找到如下字串符
122,序列號輸入錯誤
123,恭喜......>>

問題九:將一個軟體脫殼之後該怎麼能做呢、 脫殼後要修復 如果脫殼後 能正常使用 就不用修復了沒有殼後 可以修改程序裡面的標簽、標題、文本等....可以用 c32 這個軟體修改 查看原帖>>
求採納

問題十:軟體脫殼後用什麼軟體來修改 第一步,用fi243確定殼的類型,有自動脫殼工具的,用工具脫。否則第二步。
第二步,用bw2k確定程序的真正入口點OEP,不妨記為xxxx;若找不到,請試一試Softice + icemp: 使用Icemp 的/tracex 命令可能找到OEP 的地址;若還找不到,只能手動跟蹤,看你的功力和運氣了。
第三步,用trw裝入(load)程序,下bpx xxxx,g。中斷後用pemp命令脫殼,格式是
pemp c: est est.exe。不能中斷時運行superbpm,選中erase,重復第三步操作。若脫出來的test.exe可以運行,則脫殼完畢,否則第四步。
第四步, 用peditor 修正test.exe,用Import REConstructor v1.2 beta2修復輸入表,參照以下這篇文章
若還是不行,建議你用內存補丁或放棄暴破,去算注冊號吧。
以下以S-Spline 2.04為例,講一講手動脫殼和修復import表的具體操作步驟。S-Spline 2.04
第一步,用fi243確定殼的類型。fi243沒有GUI界面,是命令行程序,用法是這樣:
c:fi243fi s-spline.exe。
Fi已經檢測不出新版asprotect了,所以如果遇到檢測不出的類型,就有可能是asprotect。接著往下做吧。
第二步,用bw2k確定程序的真正入口點OEP,
運行bw2k,面板上的entry point顯示為00000000。按track鈕,再運行s-spline.exe,程序界面出來之後,bw2k的面板上entry point顯示為7e910,這就是入口點了。退出s-spline,我們又邁出了可喜的第二步。
第三步,運行SuperBPM,選中erase(默認為不選中),確保trw能夠中斷。
第四步,運行trw2k,按browse找到並選中s-spline.exe,按loader裝入。下bpx 47e910,g。trw彈出時輸入pemp c: est est.exe,退出trw(不退也行),但不要退出s-spline。在c: est下會找到test.exe。這個程序目前還不能運行,因為它的import表是被加密的。
第五步,用peditor修正test.exe。運行peditor,按browse找到test.exe,確定。再按sections,彈出一個窗口,顯示每個section的信息。在窗口中點右鍵,在彈出菜單中選mpfixer(RS=VS & RO=VO),提示'DONE',這時可以關閉peditor了。
第六步,運行ImportREC1.2beta2,在Attach to an Active Process下拉框中選中s-spline.exe,然後在左下方OEP中輸入7e910(就是EP-image base=47e910-400000),按IAT AutoSearch。出現對話框Found Something!=》

㈢ 脫殼和加殼

脫殼 在一些計算機軟體里有一段專門負責保護軟體不被非法修改或反編譯的程序。它們一般都是先於程序運行,拿到控制權,然後完成它們保護軟體的任務。就像動植物的殼一般都是在身體外面一樣理所當然(但後來也出現了所謂的「殼中帶籽」的殼)。由於這段程序和自然界的殼在功能上有很多相同的地方,基於命名的規則,大家就把這樣的程序稱為「殼」了。就像計算機病毒和自然界的病毒一樣,其實都是命名上的方法罷了。 從功能上抽象,軟體的殼和自然界中的殼相差無幾。無非是保護、隱蔽殼內的東西。而從技術的角度出發,殼是一段執行於原始程序前的代碼。原始程序的代碼在加殼的過程中可能被壓縮、加密……。當加殼後的文件執行時,殼-這段代碼先於原始程序運行,他把壓縮、加密後的代碼還原成原始程序代碼,然後再把執行權交還給原始代碼。 軟體的殼分為加密殼、壓縮殼、偽裝殼、多層殼等類,目的都是為了隱藏程序真正的OEP(入口點,防止被破解)。關於「殼」以及相關軟體的發展歷史請參閱吳先生的《一切從「殼」開始》。

加殼 加殼的全稱應該是可執行程序資源壓縮,是保護文件的常用手段.
加殼過的程序可以直接運行,但是不能查看源代碼.要經過脫殼才可以查看源代碼.
加殼:其實是利用特殊的演算法,對EXE、DLL文件里的資源進行壓縮、加密。類似WINZIP 的效果,只不過這個壓縮之後的文件,可以獨立運行,解壓過程完全隱蔽,都在內存中完成。它們附加在原程序上通過Windows載入器載入內存後,先於原始程序執行,得到控制權,執行過程中對原始程序進行解密、還原,還原完成後再把控制權交還給原始程序,執行原來的代碼部分。加上外殼後,原始程序代碼在磁碟文件中一般是以加密後的形式存在的,只在執行時在內存中還原,這樣就可以比較有效地防止破解者對程序文件的非法修改,同時也可以防止程序被靜態反編譯。
解壓原理,是加殼工具在文件頭里加了一段指令,告訴CPU,怎麼才能解壓自己。現在的CPU都很快,所以這個解壓過程你看不出什麼東西。軟體一下子就打開了,只有你機器配置非常差,才會感覺到不加殼和加殼後的軟體運行速度的差別。當你加殼時,其實就是給可執行的文件加上個外衣。用戶執行的只是這個外殼程序。當你執行這個程序的時候這個殼就會把原來的程序在內存中解開,解開後,以後的就交給真正的程序。所以,這些的工作只是在內存中運行的,是不可以了解具體是怎麼樣在內存中運行的。通常說的對外殼加密,都是指很多網上免費或者非免費的軟體,被一些專門的加殼程序加殼,基本上是對程序的壓縮或者不壓縮。因為有的時候程序會過大,需要壓縮。但是大部分的程序是因為防止反跟蹤,防止程序被人跟蹤調試,防止演算法程序不想被別人靜態分析。加密代碼和數據,保護你的程序數據的完整性。不被修改或者窺視你程序的內幕。

㈣ 怎麼脫E語言程序的VMP殼

已解決問題 收藏 轉載到QQ空間 什麼是脫殼? 5 [ 標簽:脫殼 ] 脫殼則是加殼的逆過程 痛並快樂著 回答:3 人氣:3 解決時間:2008-06-30 17:07 滿意答案在一些計算機軟體里有一段專門負責保護軟體不被非法修改或反編譯的程序。它們一般都是先於程序運行,拿到控制權,然後完成它們保護軟體的任務。就像動植物的殼一般都是在身體外面一樣理所當然(但後來也出現了所謂的「殼中帶籽」的殼)。由於這段程序和自然界的殼在功能上有很多相同的地方,基於命名的規則,大家就把這樣的程序稱為「殼」了。就像計算機病毒和自然界的病毒一樣,其實都是命名上的方法罷了。 從功能上抽象,軟體的殼和自然界中的殼相差無幾。無非是保護、隱蔽殼內的東西。而從技術的角度出發,殼是一段執行於原始程序前的代碼。原始程序的代碼在加殼的過程中可能被壓縮、加密……。當加殼後的文件執行時,殼-這段代碼先於原始程序運行,他把壓縮、加密後的代碼還原成原始程序代碼,然後再把執行權交還給原始代碼。 軟體的殼分為加密殼、壓縮殼、偽裝殼、多層殼等類,目的都是為了隱藏程序真正的OEP(入口點,防止被破解)。關於「殼」以及相關軟體的發展歷史請參閱吳先生的《一切從「殼」開始》。

一、殼的概念:作者編好軟體後,編譯成exe可執行文件。 1.有一些版權信息需要保護起來,不想讓別人隨便改動,如作者的姓名,即為了保護軟體不被破解,通常都是採用加殼來進行保護。 2.需要把程序搞的小一點,從而方便使用。於是,需要用到一些軟體,它們能將exe可執行文件壓縮, 3.在黑客界給木馬等軟體加殼脫殼以躲避殺毒軟體。實現上述功能,這些軟體稱為加殼軟體。

二、加殼軟體最常見的加殼軟體ASPACK ,UPX,PEcompact 不常用的加殼軟體WWPACK32;PE-PACK ;PETITE NEOLITE 。

三、偵測殼和軟體所用編寫語言的軟體,因為脫殼之前要查他的殼的類型。 1.偵測殼的軟體fileinfo.exe 簡稱fi.exe(偵測殼的能力極強) 2.偵測殼和軟體所用編寫語言的軟體language.exe(兩個功能合為一體,很棒) 推薦language2000中文版(專門檢測加殼類型) 3.軟體常用編寫語言Delphi,VisualBasic(VB)---最難破,VisualC(VC)。

四、脫殼軟體: 軟體加殼是作者寫完軟體後,為了保護自己的代碼或維護軟體產權等利益所常用到的手段。目前有很多加殼工具,既然有矛,自然就有盾,只要我們收集全常用脫殼工具,那就不怕他加殼了。軟體脫殼有手動脫和自動脫殼之分,下面我們先介紹自動脫殼,因為手動脫殼需要運用匯編語言,要跟蹤斷點等,不適合初學者,但我們在後邊將稍作介紹。

加殼一般屬於軟體加密,現在越來越多的軟體經過壓縮處理,給漢化帶來許多不便,軟體漢化愛好者也不得不學習掌握這種技能。現在脫殼一般分手動和自動兩種,手動就是用TRW2000、TR、SOFTICE等調試工具對付,對脫殼者有一定水平要求,涉及到很多匯編語言和軟體調試方面的知識。而自動就是用專門的脫殼工具來脫,最常用某種壓縮軟體都有他人寫的反壓縮工具對應,有些壓縮工具自身能解壓,如UPX;有些不提供這功能,如:ASPACK,就需要UNASPACK對付,好處是簡單,缺點是版本更新了就沒用了。另外脫殼就是用專門的脫殼工具來對付,最流行的是PROCDUMP v1.62 ,可對付目前各種壓縮軟體的壓縮檔。在這里介紹的是一些通用的方法和工具,希望對大家有幫助。我們知道文件的加密方式,就可以使用不同的工具、不同的方法進行脫殼。下面是我們常常會碰到的加殼方式及簡單的脫殼措施,供大家參考: 脫殼的基本原則就是單步跟蹤,只能往前,不能往後。脫殼的一般流程是:查殼->尋找OEP->Dump->修復 找OEP的一般思路如下: 先看殼是加密殼還是壓縮殼,壓縮殼相對來說容易些,一般是沒有異常,找到對應的popad後就能到入口,跳到入口的方式一般為。 我們知道文件被一些壓縮加殼軟體加密,下一步我們就要分析加密軟體的名稱、版本。因為不同軟體甚至不同版本加的殼,脫殼處理的方法都不相同

㈤ 用查殼軟體查不到殼,事實上有是殼的,這種情況怎麼解決

偵測工具peid
是根據一定特徵的修改入口點特徵或加密後或加二個殼,或偽裝殼,都不能正解查到用的是什麼殼!用萬能脫殼機試下!或用OD載入!手動脫殼!1.PUSHAD (壓棧) 代表程序的入口點,
2.POPAD (出棧)代表程序的出口點,與PUSHAD想對應,一般找到這個OEP就在附近
3.OEP:程序的入口點,軟體加殼就是隱藏了OEP(或者用了假的OEP/FOEP),只要我們找到程序真正的OEP,就可以立刻脫殼。

方法一:單步跟蹤法
1.用OD載入,點「不分析代碼!」
2.單步向下跟蹤F8,實現向下的跳。也就是說向上的跳不讓其實現!(通過F4)
3.遇到程序往回跳的(包括循環),我們在下一句代碼處按F4(或者右健單擊代碼,選擇斷點——>運行到所選)
4.綠色線條表示跳轉沒實現,不用理會,紅色線條表示跳轉已經實現!
5.如果剛載入程序,在附近就有一個CALL的,我們就F7跟進去,不然程序很容易跑飛,這樣很快就能到程序的OEP
6.在跟蹤的時候,如果運行到某個CALL程序就運行的,就在這個CALL中F7進入
7.一般有很大的跳轉(大跨段),比如 jmp XXXXXX 或者 JE XXXXXX 或者有RETN的一般很快就會到程序的OEP。

Btw:在有些殼無法向下跟蹤的時候,我們可以在附近找到沒有實現的大跳轉,右鍵-->「跟隨」,然後F2下斷,Shift+F9運行停在「跟隨」的位置,再取消斷點,繼續F8單步跟蹤。一般情況下可以輕松到達OEP!

方法二:ESP定律法
ESP定理脫殼(ESP在OD的寄存器中,我們只要在命令行下ESP的硬體訪問斷點,就會一下來到程序的OEP了!)
1.開始就點F8,注意觀察OD右上角的寄存器中ESP有沒突現(變成紅色)。(這只是一般情況下,更確切的說我們選擇的ESP值是關鍵句之後的第一個ESP值)
2.在命令行下:dd XXXXXXXX(指在當前代碼中的ESP地址,或者是hr XXXXXXXX),按回車!
3.選中下斷的地址,斷點--->硬體訪--->WORD斷點。
4.按一下F9運行程序,直接來到了跳轉處,按下F8,到達程序OEP。

方法三:內存鏡像法
1:用OD打開軟體!
2:點擊選項——調試選項——異常,把裡面的忽略全部√上!CTRL+F2重載下程序!
3:按ALT+M,打開內存鏡象,找到程序的第一個.rsrc.按F2下斷點,然後按SHIFT+F9運行到斷點,接著再按ALT+M,打開內存鏡象,找到程序的第一個.rsrc.上面的.CODE(也就是00401000處),按F2下斷點!然後按SHIFT+F9(或者是在沒異常情況下按F9),直接到達程序OEP!

方法四:一步到達OEP
1.開始按Ctrl+F,輸入:popad(只適合少數殼,包括UPX,ASPACK殼),然後按下F2,F9運行到此處
2.來到大跳轉處,點下F8,到達OEP!

方法五:最後一次異常法
1:用OD打開軟體
2:點擊選項——調試選項——異常,把裡面的√全部去掉!CTRL+F2重載下程序
3:一開始程序就是一個跳轉,在這里我們按SHIFT+F9,直到程序運行,記下從開始按SHIFT+F9到程序運行的次數m!
4:CTRL+F2重載程序,按SHIFT+F9(這次按的次數為程序運行的次數m-1次)
5:在OD的右下角我們看見有一個"SE 句柄",這時我們按CTRL+G,輸入SE 句柄前的地址!
6:按F2下斷點!然後按SHIFT+F9來到斷點處!
7:去掉斷點,按F8慢慢向下走!
8:到達程序的OEP!

方法六:模擬跟蹤法
1:先試運行,跟蹤一下程序,看有沒有SEH暗樁之類
2:ALT+M打開內存鏡像,找到(包含=SFX,imports,relocations)

內存鏡像,項目 30
地址=0054B000
大小=00002000 (8192.)
Owner=check 00400000
區段=.aspack
包含=SFX,imports,relocations
類型=Imag 01001002
訪問=R
初始訪問=RWE

3:地址為0054B000,如是我們在命令行輸入tc eip<0054B000,回車,正在跟蹤ing。。

Btw:大家在使用這個方法的時候,要理解他是要在怎麼樣的情況下才可以使用

方法七:「SFX」法
1:設置OD,忽略所有異常,也就是說異常選項卡裡面都打上勾
2:切換到SFX選項卡,選擇「位元組模式跟蹤實際入口(速度非常慢)」,確定。
3:重載程序(如果跳出是否「壓縮代碼?」選擇「否」,OD直接到達OEP)
如何分辨加密殼和壓縮殼,通用特點,Od載入時有入口警告或詢問是壓縮程序嗎?普通壓縮殼Od調試時候沒有異常,加密殼全部有反跟蹤代碼,會有許多SEH陷阱使OD調試時產生異常。
找OEP的一般思路如下:
先看殼是加密殼還是壓縮殼,壓縮殼相對來說容易些,一般是沒有異常。
外殼解壓代碼起始點如果是

pushfd
pushad

跟蹤時如果有發現

popad
popfd

對應
有些殼只有

pushad



popad

相對應
附近還有

retn
jmp

等指令,發生跨斷跳躍一般就到了OEP處。
當然也有其他的,如 je OEP等等,一般都是段之間的大跳轉,OD的反匯編窗口裡都是同一個段的內容,所以更好區別是否是段間跳轉。

找Oep時注意兩點。
1、單步往前走,不要回頭。
2、觀察。注意poshad、poshfd,popad、popfd等,和外殼代碼處對應,注意地址發生大的變化。單步跟蹤什麼時候F8走,F7,F4步過?

這里我說說關於F8(Step Over)和F7(Step in)的一般方法,粗跟的時候一般都是常用F8走,但是有些call是變形的Jmp,此時就需要F7代過,區別是否是變形Jmp的一個簡單方法是比較call的目標地址和當前地址,如果兩者離的很近,一般就是變形Jmp了,用F7走。對於Call的距離很遠,可以放心用F8步過,如果你再用F7步過,只是浪費時間而已。F8步過對壓縮殼用的很多,F7步過加密殼用的很多,如果用F8一不小心就跑飛(程序運行),跟蹤失敗。

加密殼找Oep
對於加密殼,我的方法一般是用OD載入,鉤掉所有異常(不忽略任何異常,除了忽略在KERNEL32 中的內存訪問異常打勾。有時由於異常過多可以適當忽略一些異常),運行,數著用了多少次Shift+F9程序運行,顯然最後一次異常後,程序會從殼跳到OEP開始執行,這就是我們尋找OEP的一個關鍵,如果程序 Shift+F9後直接退出,很明顯加密殼檢測調試器,最簡單的應付方法就是用OD插件隱藏OD

㈥ 用脫殼軟體脫完殼後,怎麼知道OEP入口呢軟體上要顯示嗎

找OEP的一般思路如下: 先看殼是加密殼還是壓縮殼,壓縮殼相對來說容易些,一般是沒有異常,找到對應的popad後就能到入口,跳到入口的方式一般為:jmp OEP、push OEP ret、call OEP,當然也有其它的,如 je OEP等等,一般都是段之間的大跳轉,OD的反匯編窗口裡都是同一個段的內容,所以更好區別是否是段間跳轉。
我就知道這些了...不好意思 我是計算機初學者

㈦ 脫themida/winlicense殼成功不能運行程序怎樣修復

不能運行說明脫殼腳本不是萬能的,網上的脫殼腳本最多也就是能修復大部分iat表,找到oep,不能運行的原因有很多種,有的是因為有代碼加密,到oep這的時候,代碼還是加密的,脫殼後解密不了,需要跟蹤找到進行解密。還有就是部分iat修復錯誤,或者直接沒修復,導致程序崩潰,這種情況比較多,需要找出來修復。

㈧ 破解軟體怎樣看是否到達oep

查殼通常使用PEID,目前最新版是0.94,再配合一個比較全的殼特徵碼信息庫,絕大多數的殼都可以查出來。
可以針對不同類型的殼,使用專用的脫殼工具來脫掉它。如果要練習手脫的話可以用OllyDbg(XP下最常用的調試器),大多數壓縮殼可以用ESP定律脫掉,加密殼可以對照教程慢慢來。跟蹤到程序的OEP(原入口地址)後,可以用LordPE將內存中的文件mp下來,再用ImportRec修復程序的IT(輸入表),OK,恭喜你,簡單的殼到現在就算是脫掉了。至於優化PE什麼的你可以慢慢學習。
接下來的步驟就是用OD對這個程序進行分析。具體怎樣做還要根據你的目的,循序漸進。
如果想學習逆向技術,可以去,這里有很多教程,學習氛圍非常不錯。

補:
一些入門教程是圖文並茂的,還有一些動畫,但是等你學的差不多的時候,會發現還是純文字的教程簡單明了。

㈨ 程序脫殼是什麼意思

殼的概念:
所謂「殼」就是專門壓縮的工具。
這里的壓縮並不是我們平時使用的RAR、ZIP這些工具的壓縮,殼的壓縮指的是針對exe、com、和dll等程序文件進行壓縮,在程序中加入一段如同保護層的代碼,使原程序文件代碼失去本來面目,從而保護程序不被非法修改和反編譯,這段如同保護層的代碼,與自然界動植物的殼在功能上有很多相似的地方,所以我們就形象地稱之為程序的殼。

殼的作用:
1.保護程序不被非法修改和反編譯。
2.對程序專門進行壓縮,以減小文件大小,方便傳播和儲存。

殼和壓縮軟體的壓縮的區別是
壓縮軟體只能夠壓縮程序
而經過殼壓縮後的exe、com和dll等程序文件可以跟正常的程序一樣運行

下面來介紹一個檢測殼的軟體
PEID v0.92
這個軟體可以檢測出 450種殼
新版中增加病毒掃描功能,是目前各類查殼工具中,性能最強的。
另外還可識別出EXE文件是用什麼語言編寫的VC++、Delphi、VB或Delphi等。
支持文件夾批量掃描

我們用PEID對easymail.exe進行掃描
找到殼的類型了
UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
說明是UPX的殼
下面進行

步驟2 脫殼
對一個加了殼的程序,去除其中無關的干擾信息和保護限制,把他的殼脫去,解除偽裝,還原軟體本來的面目。這個過程就叫做脫殼。
脫殼成功的標志
脫殼後的文件正常運行,功能沒有損耗。
還有一般脫殼後的文件長度都會大於原文件的長度。
即使同一個文件,採用不同的脫殼軟體進行脫殼,由於脫殼軟體的機理不通,脫出來的文件大小也不盡相同。

關於脫殼有手動脫殼和自動脫殼
自動脫殼就是用專門的脫殼機脫 很簡單 按幾下就 OK了
手動脫殼相對自動脫殼 需要的技術含量微高 這里不多說了

UPX是一種很老而且強大的殼 不過它的脫殼機隨處就能找到
UPX本身程序就可以通過
UPX 文件名 -d
來解壓縮 不過這些需要的 命令符中輸入
優點方便快捷 缺點DOS界面
為了讓大家省去麻煩的操作 就產生了一種叫 UPX SHELL的外殼軟體

UPX SHELL v3.09
UPX 外殼程序!
目的讓UPX的脫殼加殼傻瓜化

註:如果程序沒有加殼 那麼我們就可以省去第二步的脫殼了,直接對軟體進行分析了。

脫完後 我們進行

步驟3
運行程序
嘗試注冊
獲取注冊相關信息

通過嘗試注冊 我們發現一個關鍵的字元串

「序列號輸入錯誤」

步驟4
反匯編

反匯編一般用到的軟體 都是 W32Dasm
W32dasm對於新手 易於上手 操作簡單
W32Dasm有很多版本 這里我推薦使用 W32Dasm 無極版

我們現在反匯編WebEasyMail的程序文件easymail.exe

然後看看能不能找到剛才的字元串

步驟5
通過eXeScope這個軟體來查看未能在w32dasm中正確顯示的字元串信息

eXeScope v6.50
更改字體,更改菜單,更改對話框的排列,重寫可執行文件的資源,包括(EXE,DLL,OCX)等。是方便強大的漢化工具,可以直接修改用 VC++ 及 DELPHI 編制的程序的資源,包括菜單、對話框、字元串表等
新版可以直接查看 加殼文件的資源

我們打開eXeScope
找到如下字串符

122,"序列號輸入錯誤 "
123,"恭喜您成為WebEasyMail正式用戶中的一員! "
124,注冊成功
125,失敗

重點是122

步驟6
再次返回 w32dasm

* Possible Reference to String Resource ID=00122: "?鰺e?"

但是雙擊後
提示說找不到這個字串符
不是沒有 是因為 "?鰺e?"是亂碼 w32dasm對於中文顯示不是太好
畢竟不是國產軟體

先把今天會用到的匯編基本指令跟大家解釋一下

mov a,b ;把b的值賦給a,使a=b
call :調用子程序 ,子程序以ret結為
ret :返回主程序
je或jz :若相等則跳轉
jne或jnz :若不相等則跳轉
push xx:xx 壓棧
pop xx:xx 出棧

棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的存儲區。裡面的變數通常是局部變數、函數參數等。

我們搜索
Possible Reference to String Resource ID=00122
因為對E文支持很好
我們來到了

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406F17(C) //跳轉來自 406F17
|

* Possible Reference to String Resource ID=00125: "1%"
|
:004070DD 6A7D push 0000007D
:004070DF 8D4C2410 lea ecx, dword ptr [esp+10]
:004070E3 E8F75A1200 call 0052CBDF

* Possible Reference to String Resource ID=00122: "?鰺e?"
|
:004070E8 6A7A push 0000007A
:004070EA 8D4C2408 lea ecx, dword ptr [esp+08]
:004070EE E8EC5A1200 call 0052CBDF

我們來到

:00406F01 8B876C080000 mov eax, dword ptr [edi+0000086C]這里是對
:00406F07 8B4C2408 mov ecx, dword ptr [esp+08]
:00406F0B 50 push eax//這兩個eax和ecx入棧就比較讓我們懷疑了
:00406F0C 51 push ecx//產生注冊碼
:00406F0D E8AE381100 call 0051A7C0//這CALL里對注冊位應該會有設置
:00406F12 83C40C add esp, 0000000C
:00406F15 85C0 test eax, eax// 檢測注冊位
:00406F17 0F85C0010000 jne 004070DD //不存在注冊位 就會跳到4070DD就會出現那個錯誤的字串符了

我們記住406F01這個地址

接著進行下一步

步驟7
這一步我們進行的是調試

用到的軟體是ollydbg

好了我們找到了 注冊碼0012AF04 00FD4A10 ASCII ""

但是這個並不是我們的主要目的

我們還要做出屬於自己的注冊機

相信這個是很多人夢寐以求的事情

步驟8
製作注冊機

注冊機我們需要的是一個KEYMAKE的軟體
因為2.0是演示版而且停止更新了
所以我們用1.73版

做一個內存注冊機 需要下面幾個資料

中斷地址:406F0C
中斷次數:1
第一位元組:51
指令長度:1

好了 一個完美的注冊機 就產生了
還不趕快發給你的朋友 炫耀一下
保證讓他迷糊死 佩服得你要死
其實最後還有幾個步驟
就是撰寫破文
不過大家都是新手 這個步驟 就去了吧

不知不覺說了這么多廢話 希望能對大家有些作用
如果有什麼不懂 不理解的事情 請聯系我 或者到論壇發貼
QQ:9595859
MSN:[email protected]
今天的課程就到這里 大家趕快去動手實踐吧~!

--------------------------------------------------------------------------------

-- 作者:admin
-- 發布時間:2005-10-11 11:13:00

-- 實戰查殼脫殼製作破解注冊機最詳細的教程

大家好,我是kcarhc
今天8月1日了 剛從醫院回來 正好凌晨
這期的課程做晚了 這里給大家道個歉
8月1日 如果我沒記錯
是建軍節
既然是建軍節 也要象徵性的弄些東西來
為了建軍節 這期我選擇打擊黑暗勢力--黑社會

那麼今天的主題就是
-----------
迎接建軍節,鏟除黑社會
-----------
首先介紹軟體

黑社會2.0
[功能簡介]:
1 五大必備功能
遠程屏幕; 完全控制; 文件傳送; Telnet; 遠程關機
2 提供IP反彈定位功能
可以通過靜態IP動態域名,網頁文件的方式反彈通知IP.
3 集成vidc客戶端
內網的朋友想用自動上線功能,可以實現了
4 本軟體集成了常用攻擊工具(如OpenTelnet OpenTftp等)
通過IPC拷貝,而且帶有標準的拷貝進度,全球首次面世;
opentelnet就不介紹了,相信大家都知道;
opentftp為本軟體獨創,可以遠程開啟tftp服務;
5 本軟體集成的極速埠掃描器(掃描速度世界領先)
最開始我用的掃描器是大名鼎鼎的SuperScan3.0,感覺速度很慢;
後來改用SSPort1.0 掃描速度有了明顯的提高.
經過速度對比,本軟體掃描速度比SSPort快 1/3 ,是SuperScan的N倍!!!
我的機器是 賽揚700+256M內存,一般掃描速度為180台/秒;
一些號稱可以達到1000台/秒的掃描器在本機上試驗只有120台/秒.
--------------------
准備工作:

安裝黑社會
--------------------
步驟一 查殼

Peid v0.92
ASPack 2.12 -> Alexey Solodovnikov、
--------------------
步驟二 脫殼

手動脫殼

快速脫掉ASPACK所有版本的方法

的OEP關鍵點在下面

0048D3AF 61 POPAD
0048D3B0 75 08 JNZ SHORT 黑社會.0048D3BA
0048D3B2 B8 01000000 MOV EAX,1
0048D3B7 C2 0C00 RETN 0C//402c4a
0048D3BA 68 00000000 PUSH 0

402ca4就是我們要找的OEP

自動脫殼

AspackDie v1.41

這是一個小小的 PE 文件解壓縮器 (EXE, DLL, ...) 她可以解壓縮
自 Aspack 2000 以後的任何 Aspack 版本. 包括:

- Aspack 2000
- Aspack 2001
- Aspack 2.1
- Aspack 2.11
- Aspack 2.11c/d
- Aspack 2.12
- Aspack 2.12a/b
- 一些未知的版本

-------------------
步驟三 試運行程序 發現突破點

看到關鍵字元串
「注冊碼錯誤!」
-------------------
步驟四 W32DASM 尋找突破點

用w32dasm載入已經脫殼的程序
字元串察看
未發現 字元串 而是發現一堆亂碼
大家於是一定想到了第一節的辦法

用EXESCOPE
-------------------
步驟四 察找 字元串

打開eXeScope 並載入 但是發現 都沒有字元串
這項
為啥呢?大家一定會疑問
一般用eXeScope查不到
我們將開始
-------------------
步驟五 查詢軟體的編譯類型

Peid v0.92
Microsoft Visual Basic 5.0 / 6.0
--------------------
步驟六 採用GetVBRes v0.51 對付VB程序

GetVBRes v0.51 一個非常好的VB漢化工具

對於VB程序 我們用專門漢化用的GetVBRes v0.51來對付它
也許有人不理解 為啥用漢化工具呢
其實eXeScope也屬於漢化工具
GetVBRes載入黑社會
發現沒有亂碼了
看到的全是完整的字元
我們找到了
注冊碼錯誤!
這個字元串
接著為了能搞到程序關鍵點地址
我們把「注冊碼錯誤!」
改成111111
為啥改成111111因為111111111
保存修改
---------------------
步驟六 用W32Dasm載入修改後的文件
發現字元串中有111111
那個就是我們修改的 原來是「注冊碼錯誤!」

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004792EF(C)
|
:00479474 B904000280 mov ecx, 80020004
:00479479 B80A000000 mov eax, 0000000A
:0047947E 894D9C mov dword ptr [ebp-64], ecx
:00479481 894DAC mov dword ptr [ebp-54], ecx
:00479484 894DBC mov dword ptr [ebp-44], ecx
:00479487 8D5584 lea edx, dword ptr [ebp-7C]
:0047948A 8D4DC4 lea ecx, dword ptr [ebp-3C]
:0047948D 894594 mov dword ptr [ebp-6C], eax
:00479490 8945A4 mov dword ptr [ebp-5C], eax
:00479493 8945B4 mov dword ptr [ebp-4C], eax

* Possible StringData Ref from Code Obj ->"1111111" //剛才我們看到的注冊嗎錯誤的哦
|
:00479496 C7458C98194100 mov [ebp-74], 00411998
:0047949D C7458408000000 mov [ebp-7C], 00000008

發現跳轉來自到4792EF
安照習慣 我們來到4792EF後 接著向前看
看到一個跳到這里的那個地址
這里是40928C

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00479278(C)
|
:0047928C 8B55E4 mov edx, dword ptr [ebp-1C]

* Reference T MSVBVM60.__vbaStrMove, Ord:0000h
|
:0047928F 8B3578124000 mov esi, dword ptr [00401278]
:00479295 8D4DE0 lea ecx, dword ptr [ebp-20]
:00479298 895DE4 mov dword ptr [ebp-1C], ebx
:0047929B FFD6 call esi
:0047929D 8B4DE8 mov ecx, dword ptr [ebp-18]
:004792A0 6A01 push 00000001
:004792A2 8D55E0 lea edx, dword ptr [ebp-20]
:004792A5 51 push ecx
:004792A6 52 push edx
:004792A7 E8440F0000 call 0047A1F0
:004792AC 8BD0 mov edx, eax
:004792AE 8D4DDC lea ecx, dword ptr [ebp-24]
:004792B1 FFD6 call esi
:004792B3 50 push eax
:004792B4 53 push ebx

* Reference T MSVBVM60.__vbaInStr, Ord:0000h
|
:004792B5 FF15E8114000 Call dword ptr [004011E8]
:004792BB 8BF0 mov esi, eax
:004792BD 8D45E8 lea eax, dword ptr [ebp-18]
:004792C0 F7DE neg esi
:004792C2 8D4DDC lea ecx, dword ptr [ebp-24]
:004792C5 50 push eax
:004792C6 1BF6 sbb esi, esi
:004792C8 8D55E0 lea edx, dword ptr [ebp-20]
:004792CB 51 push ecx
:004792CC 52 push edx
:004792CD F7DE neg esi
:004792CF 6A03 push 00000003
:004792D1 F7DE neg esi

* Reference T MSVBVM60.__vbaFreeStrList, Ord:0000h
|
:004792D3 FF150C124000 Call dword ptr [0040120C]
:004792D9 8D45D4 lea eax, dword ptr [ebp-2C]
:004792DC 8D4DD8 lea ecx, dword ptr [ebp-28]
:004792DF 50 push eax
:004792E0 51 push ecx
:004792E1 6A02 push 00000002

* Reference T MSVBVM60.__vbaFreeObjList, Ord:0000h
|
:004792E3 FF1548104000 Call dword ptr [00401048]
:004792E9 83C41C add esp, 0000001C
:004792EC 663BF3 cmp si, bx
:004792EF 0F847F010000 je 00479474

我們在
004792AC看到下面這些
EAX=0015A47C, (UNICODE "")
EDX=00000000

懷疑EAX為的

為注冊碼
------------------
步驟七 用不確定正確的注冊 嘗試注冊



這個注冊後
我們發現 注冊成功
------------------
步驟八 製做注冊機

Keymake v1.73

中斷地址:4792AC
中斷次數:1
第一位元組:8B
指令長度:2
------------------
步驟九 發布注冊機

找一個網站比如黑基或者你的朋友之間
------------------
步驟十 休息

黑社會終於幹掉了
現在去找你的男朋友或者女朋友
老公或者老婆
找個地方聊聊天 放鬆放鬆
告訴他們 你剛剛把黑社會 擺平了
一定很有趣的
------------------
課程結束
------------------
有事情大家可以去論壇
不過你如果性子急
或者嫌我回復的速度慢
我建議你直接聯系我
只要我在 基本可以馬上給你解答
不在可以留言
我的兩個聯系方式
QQ:9595859
MSN:[email protected]
最後 說一個事
我的女朋友最近生病了
所以才導致這期的課程 這么晚才做出來
希望大家能理解我
我還希望大家能祝福她早日康復
不然的話
你們見到我的日子可能會少了
甚至可能會消失在你們眼前
好了不說了 今天就是到此OVER吧
---------- kcarhc
2004年8月1日 凌晨 沈陽

--------------------------------------------------------------------------------

-- 作者:admin
-- 發布時間:2005-10-11 16:42:00

-- 使用OllyDbg快速脫殼

作者:KU-凌
目標:採用ASPACK、UPX加殼的NOTEPAD.EXE
工具:OllyDbg 1.09英文版、DUMP插件、PEditor
系統:Win98SE
關鍵詞: 脫殼、OllyDbg、OD、DUMP、PUSHAD、POPAD

預備知識
大多數殼都有一個共同的特點。在殼准備開始解壓時都要執行PUSHAD,當殼解壓
完時都要調用POPAD。到底PUSHAD和POPAD是什麼干什麼用的呢?其實PUSHAD是用來將
所有普通寄存器順序進棧的指令,POPAD是所有普通寄存器順序出棧指令。POPAD的出
棧順序和PUSHAD相反。殼為了保護寄存器,便在解壓前將所有寄存器進棧保護起來,
當解壓完成後又將寄存器出棧,恢復其原貌,並將IP設置為原程序的OEP。這樣我們就可以通過這個特點快速脫掉多種軟體的殼。

ASPACK篇
先用ASPACK將NOTEPAD.EXE加殼。用OllyDbg(以下簡稱OD)載入。看見游標停在
殼的入口處。
0040D001 >60PUSHAD ;殼的入口。准備開始解壓,保護寄存器
0040D002E8 03000000CALLNOTEPAD.0040D00A
……
我們不管它,直接向下翻頁找POPAD指令。在40D3AF處找到POPAD
……
0040D3AF61POPAD ;解壓完成,恢復寄存器
0040D3B075 08JNZSHORT NOTEPAD.0040D3BA
0040D3B2B8 01000000MOVEAX, 1
0040D3B7C2 0C00RETN0C
0040D3BA68 CC104000PUSHNOTEPAD.004010CC ;返回到原程序OEP處
0040D3BFC3RETN
……
選定40D3AF這一行,F4運行到此處。在這里說明殼已經完成解壓工作。並且返回到原
程序的入口處。F8單步到4010CC,這里便是原程序的OEP。用DUMP插件直接DUMP出來就可以了(在DUMP時注意將入口點改為10CC,即4010CC-400000=10CC,400000是映象基地址)。文件大小是77059位元組,用PEditor重建PE頭便可以了。未壓縮的文件大小是53248位元組,脫殼後的文件大小是60930位元組。

UPX篇
用UPX將NOTEPAD.EXE加殼,然後用OD載入。停在PUSHAD處,用脫ASPACK同樣的方
法,向下翻頁找POPAD。
……
0040E9FE61POPAD
0040E9FF- E9 C826FFFFJMPNOTEPAD.004010CC
……
下面的JMP就是跳轉到程序的OEP處。F4到40E9FF處,F8單步一下,來到OEP處,DUMP出來。DUMP文件的大小是65536位元組,直接就可以運行。為了完美,用PEditor重建PE頭。那麼脫殼後的文件大小是60293位元組。

後記
用上面說的方法,很多種殼都可以快速的手動脫掉。如果你沒有OD的DUMP插件,
可以到新論壇的下載區找。如果實在沒有,也可以直接停在OEP處用PEDump來DUMP。很久沒有寫東西了。這一篇是寫給初學者練手的。其實殼也是軟體,再怎麼復雜都有可能被脫下來。祝你好運。
另外,轉載時請保持本文的完整。

--------------------------------------------------------------------------------

-- 作者:admin
-- 發布時間:2005-10-11 17:10:00

-- 用Ollydbg手脫EncryptPE V1.2003.5.18加殼的DLL

有兄弟讓看看EncryptPE加殼的DLL,我說新版的就不行了,搞不定的。後來看是EncryptPE V1.2003.5.18舊版加殼的,應該用的是老王老師發布的免費版。呵呵,所以脫了一下,順便記錄過程。
大家可以自己用EncryptPE V1.2003.5.18免費版加個EdrLib.dll看看。

—————————————————————————————————
一、避開IAT加密

設置Ollydbg忽略所有的異常選項。用IsDebug 1.4插件去掉Ollydbg的調試器標志。
添加「同時忽略0EEDFADE、C0000008、009B25C、00953D74」異常。

代碼:--------------------------------------------------------------------------------
00877000 60 pushad//進入OD後停在這
00877001 9C pushfd
00877002 64:FF35 00000000 push dword ptr fs:[0]
00877009 E8 79010000 call EdrLib.00877187
--------------------------------------------------------------------------------

下斷:BP IsDebuggerPresent 斷下後取消斷點
現在我們Ctrl+G:711A0000
為何用這個地址?因為V12003518.EPE是相同的。呵呵,鑽了個舊版的空子。

其實可以再BP GetProcAddress,根據返回地址來判斷。如果返回地址是711XXXXX,說明這是V12003518.EPE的調用,就可以取消斷點Ctrl+F9返回了。具體情況以堆棧的返回地址為准。

現在Ctrl+S 在「整個區段」搜索命令序列:

代碼:--------------------------------------------------------------------------------
mov eax,edi
mov edx,dword ptr ss:[ebp-8]
mov dword ptr ds:[eax],edx
xor eax,eax
--------------------------------------------------------------------------------

找到在711A339F處,我們在711A339F處下個 硬體執行 斷點。
現在我們關閉Ollydbg,重新載入這個dll,直接Shift+F9運行,中斷在711A339F處

代碼:--------------------------------------------------------------------------------
711A339F 8BC7 mov eax,edi
711A33A1 8B55 F8 mov edx,dword ptr ss:[ebp-8]
//改為: mov edx,dword ptr ss:[ebp-4] ★ 正確函數寫入
711A33A4 8910 mov dword ptr ds:[eax],edx
711A33A6 33C0 xor eax,eax
711A33A8 5A pop edx
711A33A9 59 pop ecx
711A33AA 59 pop ecx
711A33AB 64:8910 mov dword ptr fs:[eax],edx
711A33AE EB 0A jmp short V1200351.711A33BA
--------------------------------------------------------------------------------

把711A33A1處修改好之後,取消以前下的711A339F處的斷點。
再Ctrl+S搜索命令序列:

代碼:--------------------------------------------------------------------------------
add ebx,4
mov eax,dword ptr ss:[ebp-4C]
add eax,4
--------------------------------------------------------------------------------

找到在711A43C2處,我們在下面xor eax,eax的711A4401下斷。Shift+F9運行

代碼:--------------------------------------------------------------------------------
711A43C2 83C3 04 add ebx,4
711A43C5 8B45 B4 mov eax,dword ptr ss:[ebp-4C]
711A43C8 83C0 04 add eax,4
711A43CB 8945 B4 mov dword ptr ss:[ebp-4C],eax
711A43CE 8B03 mov eax,dword ptr ds:[ebx]
711A43D0 85C0 test eax,eax
711A43D2 0F87 39FDFFFF ja V1200351.711A4111
711A43D8 A1 74C71B71 mov eax,dword ptr ds:[711BC774]
711A43DD 8038 00 cmp byte ptr ds:[eax],0
711A43E0 75 1F jnz short V1200351.711A4401
711A43E2 8B45 C4 mov eax,dword ptr ss:[ebp-3C]
711A43E5 83C0 14 add eax,14
711A43E8 8945 C4 mov dword ptr ss:[ebp-3C],eax
711A43EB 8B45 C4 mov eax,dword ptr ss:[ebp-3C]
711A43EE 8378 0C 00 cmp dword ptr ds:[eax+C],0
711A43F2 76 0D jbe short V1200351.711A4401
711A43F4 8B45 C4 mov eax,dword ptr ss:[ebp-3C]
711A43F7 8378 10 00 cmp dword ptr ds:[eax+10],0
711A43FB 0F87 38FCFFFF ja V1200351.711A4039//循環處理IAT
711A4401 33C0 xor eax,eax//此處下斷! ★
--------------------------------------------------------------------------------

當我們中斷在711A4401處時IAT已經處理完畢,此時就可以用ImportREC得到正確的輸入表了。
因為EncryptPE後面有自校驗,所以我們返回711A33A1處,點右鍵->撤銷選擇,恢復原來的代碼。

—————————————————————————————————
二、得到重定位表信息、獲得OEP

Ctrl+S 在「整個區段」搜索命令序列:

㈩ 病毒植入系統加殼加密怎麼解

有一個簡單的方法(對中文軟體效果較明顯)。用記事本打開一個可執行文件,如果能看到軟體的提示信息則一般是未加殼的,如果完全是亂碼,則多半是被加殼的。我們還可以使用一款叫做Fileinfo的工具來查看文件具體加的是什麼殼。目前,較常見到的殼有「UPX」、「ASPack」、「PePack」、「PECompact」、「UPack」、「NsPack」、「免疫007」、「木馬綵衣」等等。

病毒加殼的原理很簡單,現在黑客營中提供的多數病毒中,很多都是經過處理的,而這些處理就是所謂的加殼。我們知道當一個普通的EXE程序生成好後,很輕松的就可以利用諸如資源工具和反匯編工具對它進行修改,但如果程序員給EXE程序加一個殼的話,那麼至少這個加了殼的EXE程序就不是那麼好修改了,如果想修改就必須先脫殼。病毒加殼後也是同樣的道理,我們也必須先為病毒脫殼。

三 脫殼方法:

目前有很多加殼工具,既然有矛,自然就有盾,只要我們收集全常用脫殼工具,那就不怕病毒加殼了。脫殼主要是通過工具來脫殼。

常用脫殼工具有:

1.文件分析工具(偵測殼的類型):Fi,GetTyp,peid,pe-scan,

2.OEP入口查找工具:SoftICE,TRW,ollydbg,loader,peid

3.mp工具:IceDump,TRW,PEditor,ProcDump32,LordPE

4.PE文件編輯工具PEditor,ProcDump32,LordPE

5.重建Import Table工具:ImportREC,ReVirgin

6.ASProtect脫殼專用工具:Caspr(ASPr V1.1-V1.2有效),Rad(只對ASPr V1.1有效),loader,peid

(1)Aspack: 用的最多,但只要用UNASPACK或PEDUMP32脫殼就行了

(2)ASProtect+aspack:次之,國外的軟體多用它加殼,脫殼時需要用到SOFTICE+ICEDUMP,需要一定的專業知識,但最新版現在暫時沒有辦法。

(3)Upx: 可以用UPX本身來脫殼,但要注意版本是否一致,用-D 參數

(4)Armadill: 可以用SOFTICE+ICEDUMP脫殼,比較煩

(5)Dbpe: 國內比較好的加密軟體,新版本暫時不能脫,但可以破解

(6)NeoLite: 可以用自己來脫殼

(7)Pcguard: 可以用SOFTICE+ICEDUMP+FROGICE來脫殼

(8)Pecompat: 用SOFTICE配合PEDUMP32來脫殼,但不要專業知識

(9)Petite: 有一部分的老版本可以用PEDUMP32直接脫殼,新版本脫殼時需要用到SOFTICE+ICEDUMP,需要一定的專業知識。

(10)WWpack32: 和PECOMPACT一樣其實有一部分的老版本可以用PEDUMP32直接脫殼,不過有時候資源無法修改,也就無法漢化,所以最好還是用SOFTICE配合 PEDUMP32脫殼

熱點內容
外國編程 發布:2025-08-27 22:20:27 瀏覽:359
六位手機號服務密碼一般是多少 發布:2025-08-27 21:47:53 瀏覽:766
如何復位酷開路由器的密碼 發布:2025-08-27 21:36:25 瀏覽:599
labsql訪問資料庫 發布:2025-08-27 21:13:43 瀏覽:106
a4紙板文件夾 發布:2025-08-27 20:47:15 瀏覽:611
我的世界發展迅速的伺服器 發布:2025-08-27 20:33:07 瀏覽:586
怎樣設置郵箱伺服器ip 發布:2025-08-27 20:25:47 瀏覽:865
萬彩動畫大師怎麼配置java路徑 發布:2025-08-27 20:16:58 瀏覽:162
linux中的用戶 發布:2025-08-27 20:11:36 瀏覽:456
我的世界伺服器怎麼創造不了 發布:2025-08-27 19:43:00 瀏覽:906