Themida / Winlicense (TM / WL)脱壳总结,Themida脱壳,Winlicense脱壳各个版本区别总结

个人总结,不一定十分准确,请勿引用!

(一),

Themida和不用license的Winlicense脱壳就不说了,直接上脚本脱壳。

 

(二),

先看看不同版本OEP的一些小特征:

2.1.X.X版本之后的OEP特征(2.0.8.0,2.1.0.10,2.1.3.32等)

 

2.1版本之前的OEP特征,如(2.0.3.01.8.2.01.885等):

 

Temida OEP特征:如(2.0.3.0,)

 

 

 

一,对于Winlicense2.1.0.10及其以下版本,不用license,可自己随意构造一个license直接bypass.然后脱壳。

bypass过程

1, 先获得license名称,自己随便构造一个license,然后OD运行程序,弹出提示窗口后获得JMP的首地址:FirstJmpAddress

2, FirstJmpAddress硬件断点,重新运行程序,中断后,在第二个jmpenter进入,然后搜索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是需要不断监控eaxSecondDllAddress 值的,不知道属于哪个版本。可看教程WinLicense ByPass For SecondDllAddress.

 

以上三种版本bypass过程需要如何分辨,主要看cmp ecx,eax时候的值来辨别!

 

Winlicense脱壳过程:

bypassscript插入zhw hwid Themida - Winlicense 1.x - 2.x Multi PRO Edition 1.2.txt中即可实现bypass加脱壳。

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

 

 

以上过程如有补充或疑问,可问QQ: 9112627, 对软件破解、Winlicense脱壳,Zprotect脱壳,网络验证破解等有一定的研究。

 

上面的例子我放到资源中供大家下载,里面有加壳的例子以及对应的bypass脚本和脱壳脚本。

地址: http://download.csdn.net/detail/zhw309/4249943

 

 

 

你可能感兴趣的:(Winlicense脱壳,Themida脱壳,逆向工程)