zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    ABAP接口用法
    监听textarea数值变化
    The first step in solving any problem is recognizing there is one.
    Wrinkles should merely indicate where smiles have been.
    God made relatives.Thank God we can choose our friends.
    Home is where your heart is
    ABAP跳转屏幕
    Python 工具包 werkzeug 初探
    atom通过remote ftp同步本地文件到远程主机的方法
    Mongodb学习笔记一
  • 原文地址:https://www.cnblogs.com/lbkjw/p/3937743.html
Copyright © 2011-2022 走看看