Themida和Winlicense加殼軟件脫殼教程

(一)Themida和不用license的Winlicense加殼軟件就不說了,直接上腳本脫殼。

 (二)先看看不同版本OEP的一些小特徵:

Temida2.1.X.X版本之後的OEP特徵(2.0.8.0,2.1.0.10,2.1.3.32等)

Temida2.1.X.X版本之後的OEP特徵

 

Temida2.1版本之前的OEP特徵,如(2.0.3.0,1.8.2.0,1.885等):

Temida2.1版本之前的OEP特徵

 

Temida OEP特徵:如(2.0.3.0,)

Temida OEP特徵

   

一,對於Winlicense2.1.0.10及其以下版本,不用license,可自己隨意構造一個license直接bypass.然後脫殼。

bypass過程

1, 先獲得license名稱,自己隨便構造一個license,然後OD運行程序,彈出提示窗口後獲得JMP的首地址:FirstJmpAddress。

2, 下FirstJmpAddress硬件斷點,重新運行程序,中斷後,在第二個jmp,enter進入,然後搜索cmp ecx,eax,下斷點,運行,中斷在CmpEcxEaxAddress。

3, 運行幾次後,會得到eax,ecx不同的值,其中eax爲正確的checkword,把eax值賦給ecx即可。共有兩次不同,所以有兩個checkword。

4, 搜索kenrel.dll的首地址,本機爲7c800000, ctrl+B,輸入:00 00 80 7C。再搜索dll地址的第二個地址,可以獲得SecondDllAddress。在改完第二個checkword後,把SecondDllAddress更改爲首個dll地址,運行即可bypass.

 

二,2.1.X.X版本之後的OEP特徵(2.0.8.0,2.1.0.10,2.1.3.32等):

bypass過程:

1,需要一個可用license

第1,2步驟與以上相同.

第3個步驟中,只有一個checkword,但是這個checkword值也有兩次校驗,分別賦給ecx即可bypass.

 三,還碰到過一種bypass,是需要不斷監控eax和SecondDllAddress 值的,不知道屬於哪個版本。可看教程WinLicense ByPass For SecondDllAddress.

 以上三種版本bypass過程需要如何分辨,主要看cmp ecx,eax時候的值來辨別!

 Winlicense脫殼過程:

把bypass的script插入zhw hwid Themida - Winlicense 1.x - 2.x Multi PRO Edition 1.2.txt中即可實現bypass加脫殼。

搜索/*zhw bypass   */部分可看到插入的script.

原文來自:http://www.jiamikong.com/doc/3724


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章