(一)Themida和不用license的Winlicense加壳软件就不说了,直接上脚本脱壳。

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

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

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

Temida OEP特征:如(2.0.3.0,)

一,对于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

Themida和Winlicense加壳软件脱壳教程的更多相关文章

  1. 总结Themida / Winlicense加壳软件的脱壳方法

    总结下Themida/ Winlicense (TM /  WL) 的脱壳方法. 1, 查看壳版本,这个方法手动也可以,因为这个壳的版本号是写在程序里面的,在解压后下断点即可查看,这里有通用的脚本,我 ...

  2. NET程序的代码混淆、加壳与脱壳

    通常我们通过代码混淆.加密的形式达到软件保护的目的.在Web开发里我们接触过的可能就是JS代码加密了,可以通过对JS代码进行混淆.加密从而实现对核心JS代码的保护.如果没有接触过的可以在这里简单了解一 ...

  3. 加壳软件-Virbox Protector Standalone

    Virbox Protector Standalone 加壳工具 防止代码反编译,更安全,更方便 产品简介 Virbox Protector Standalone提供了强大的代码虚拟化.高级混淆与智能 ...

  4. VMP虚拟机加壳的原理学习

    好久没有到博客写文章了,9月份开学有点忙,参加了一个上海的一个CHINA SIG信息比赛,前几天又无锡南京来回跑了几趟,签了阿里巴巴的安全工程师,准备11月以后过去实习,这之前就好好待在学校学习了. ...

  5. UPX源码分析——加壳篇

    0x00 前言 UPX作为一个跨平台的著名开源压缩壳,随着Android的兴起,许多开发者和公司将其和其变种应用在.so库的加密防护中.虽然针对UPX及其变种的使用和脱壳都有教程可查,但是至少在中文网 ...

  6. 【腾讯Bugly干货分享】Android Linker 与 SO 加壳技术

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57e3a3bc42eb88da6d4be143 作者:王赛 1. 前言 Andr ...

  7. AndroidLinker与SO加壳技术之上篇

    1. 前言 Android 系统安全愈发重要,像传统pc安全的可执行文件加固一样,应用加固是Android系统安全中非常重要的一环.目前Android 应用加固可以分为dex加固和Native加固,N ...

  8. Android Linker 与 SO 加壳技术

    1. 前言 Android 系统安全愈发重要,像传统pc安全的可执行文件加固一样,应用加固是Android系统安全中非常重要的一环.目前Android 应用加固可以分为dex加固和Native加固,N ...

  9. ASProtect注册码使用教程|ASProtect SKE(加壳脱壳工具) 2.56 汉化注册版

    ASProtect 是功能非常完善的加壳.加密保护工具.能够在对软件加壳的同时进行各种保护.如:反调试跟踪.自校验及用密钥加密保护等:还有多种限制使用措施,如:使用天数限制.次数限制及对应的注册提醒信 ...

随机推荐

  1. VC++常用数据类型转化

    char* 转换成 LPCTSTR const char* dibFileName; , , dibFileName, -, NULL, ); wchar_t *wide = new wchar_t[ ...

  2. 运行Shell脚本的几种方式解析

    1 给脚本加上执行权限chmod u+x a.sh, 而后就可以直接用全路径来执行脚本了,比如当前文件夹下用./a.sh, 如果脚本所在目录在PATH环境变量之中, 则直接用a.sh即可 2 sh/b ...

  3. jsp发布:Could not publish server configuration: null. java.lang.NullPointerException

    1.jsp发布: Could not publish server configuration: null. java.lang.NullPointerException

  4. 网页qq客服代码并自定义图片

    <script>var online= new Array();</script> <script src="http://webpresence.qq.com ...

  5. Jenkins的安装与配置

    资源下载: --jenkins的war包 首先从http://jenkins-ci.org/下载最新的jenkins版本,最新版本为1.594,下载的文件载体为jenkins.war: Jenkins ...

  6. Android 自定义Adapter 但listview 只显示第一条数据

    <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content ...

  7. 01.JavaScript 面向对象精要--原始类型和引用类型

    一.什么是类型 JavaScript 虽然没有类的概念.但依然存在两种类型:原始类型和应用类型. 原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置 的引用.也就是说:原始值被直接 ...

  8. message from server: "Host 'XXX' is not allowed to connect to this MySQL server

    Access denied for user 'root'@'XXXXX' (using password: YES) mysql命令不正确造成: grant all privileges on *. ...

  9. ssh框架的工作原理

    struts2的工作原理 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextClea ...

  10. centos 6.7安装与配置vncserver

    vnc是一款使用广泛的服务器管理软件,可以实现图形化管理,下面简单介绍一下如何在centos6.7下安装vnc. 安装vncserver  yum install tigervnc tigervnc- ...