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

  • 相关阅读:
    sprint1的个人总结及《构建之法》8、9、10章读后感
    操作系统作业----实验三
    《构建之法》第六,七章读后感
    实验二 作业调度模拟程序 报告
    参考的博客园
    复利计算器6.0
    复利计算-做汉堡,结对2.
    复利计算器5.0
    0608典型用户
    0603我的感受
  • 原文地址:https://www.cnblogs.com/lbkjw/p/3937743.html
Copyright © 2011-2022 走看看