系统 : Windows xp

程序 : abexcrackme3

程序下载地址 :http://pan.baidu.com/s/1mh3TiqO

要求 : 伪造Keyfile

使用工具 :IDA

可在看雪论坛中查找关于此程序的破文:http://bbs.pediy.com/showthread.php?t=30192

IDA载入程序,找出提示破解成功的字串“Yep, keyfile found!”并定位关键代码:

CODE: ; =============== S U B R O U T I N E =======================================
CODE:
CODE: ; Attributes: noreturn
CODE:
CODE: public start
CODE: start proc near
CODE: push ; uType
CODE: push offset Caption ; "abex' 3rd crackme"
CODE: push offset Text ; "Click OK to check for the keyfile."
CODE:0040100C push ; hWnd
CODE:0040100E call MessageBoxA
CODE: push ; hTemplateFile
CODE: push 80h ; dwFlagsAndAttributes
CODE:0040101A push ; dwCreationDisposition
CODE:0040101C push ; lpSecurityAttributes
CODE:0040101E push ; dwShareMode
CODE: push 80000000h ; dwDesiredAccess
CODE: push offset FileName ; "abex.l2c"
CODE:0040102A call CreateFileA
CODE:0040102F mov ds:hFile, eax
CODE: cmp eax, 0FFFFFFFFh
CODE: jz short loc_401075
CODE: push ; lpFileSizeHigh
CODE:0040103B push ds:hFile ; hFile
CODE: call GetFileSize
CODE: cmp eax, 12h
CODE: jnz short loc_401060
CODE:0040104B push ; uType
CODE:0040104D push offset aWellDone ; "Well done!"
CODE: push offset aYepKeyfileFoun ; "Yep, keyfile found!"
CODE: push ; hWnd
CODE: call MessageBoxA
CODE:0040105E jmp short loc_401088
CODE: ; ---------------------------------------------------------------------------
CODE:
CODE: loc_401060: ; CODE XREF: start+49j
CODE: push ; uType
CODE: push offset aError ; "Error"
CODE: push offset aTheFoundFileIs ; "The found file is not a valid keyfile!"
CODE:0040106C push ; hWnd
CODE:0040106E call MessageBoxA
CODE: jmp short loc_401088
CODE: ; ---------------------------------------------------------------------------
CODE:
CODE: loc_401075: ; CODE XREF: start+37j
CODE: push ; uType
CODE: push offset aError_0 ; "Error"
CODE:0040107C push offset aHmmmmmICanTFin ; "Hmmmmm, I can't find the file!"
CODE: push ; hWnd
CODE: call MessageBoxA
CODE:
CODE: loc_401088: ; CODE XREF: start+5Ej
CODE: ; start+73j
CODE: call ExitProcess
CODE: start endp ; sp-analysis failed
CODE:

程序查找一个Keyfile,文件名为“abex.l2c”,文件长度应为18字节,这样就可以通过验证。在abexcrackme3程序路径下新建文件,文件名为“abex.l2c”,用记事本打开并将内容设置为“012345678901234567”再运行abexcrackme3即可通过验证:

拆解一个简单的KeyFile保护的更多相关文章

  1. Windows 下针对python脚本做一个简单的进程保护

    前提: 大家运行的脚本程序经常会碰到系统异常关闭.或被其他用户错杀的情况.这样就需要一个进程保护的工具. 本文结合windows 的计划任务,实现一个简单的进程保护的功能. 利用py2exe生产 ex ...

  2. 一步一步拆解一个简单的iOS轮播图(三图)

    导言(可以不看): 不吹不黑,也许是东半球最简单的iOS轮播图拆分注释(讲解不敢当)了(tree new bee).(一句话包含两个人,你能猜到有谁吗?提示:一个在卖手机,一个最近在卖书)哈哈... ...

  3. 通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护

    dapr目前更新到了1.2版本,在之前4月份的时候来自阿里的开发工程师发起了一个dapr集成Alibaba Sentinel的提案,很快被社区加入到了1.2的里程碑中并且在1.2 release 相关 ...

  4. 通过Dapr实现一个简单的基于.net的微服务电商系统(十七)——服务保护之动态配置与热重载

    在上一篇文章里,我们通过注入sentinel component到apigateway实现了对下游服务的保护,不过受限于目前变更component需要人工的重新注入配置以及重启应用更新componen ...

  5. 通过Dapr实现一个简单的基于.net的微服务电商系统(十八)——服务保护之多级缓存

    很久没有更新dapr系列了.今天带来的是一个小的组件集成,通过多级缓存框架来实现对服务的缓存保护,依旧是一个简易的演示以及对其设计原理思路的讲解,欢迎大家转发留言和star 目录:一.通过Dapr实现 ...

  6. 通过Dapr实现一个简单的基于.net的微服务电商系统(二十)——Saga框架实现思路分享

    今天这篇博文的主要目的是分享一下我设计Saga的实现思路来抛砖引玉,其实Saga本身非常的类似于一个简单的工作流体系,相比工作流不一样的部分在于它没有工作流的复杂逻辑处理机制(比如会签),没有条件分支 ...

  7. 如何创建一个简单的C++同步锁框架(译)

    翻译自codeproject上面的一篇文章,题目是:如何创建一个简单的c++同步锁框架 目录 介绍 背景 临界区 & 互斥 & 信号 临界区 互斥 信号 更多信息 建立锁框架的目的 B ...

  8. Shiro —— 从一个简单的例子开始

    一.Shiro是用来做权限的. 二.权限 1.基本概念: (1)安全实体:要保护的数据. (2)权限:是否有能力去操作(查看.修改.删除 )保护的数据. 2.权限的两个特性 (1)权限的继承性:A 包 ...

  9. 我们为之奋斗过的C#-----C#的一个简单理解

    我们首先来简单叙述一下什么是.NET,以及C#的一个简单理解和他们俩的一个区别. 1 .NET概述 .NET是Microsoft.NET的简称,是基于Windows平台的一种技术.它包含了能在.NET ...

随机推荐

  1. nyoj------203三国志

    三国志 时间限制:3000 ms  |  内存限制:65535 KB 难度:5  描述 <三国志>是一款很经典的经营策略类游戏.我们的小白同学是这款游戏的忠实玩家.现在他把游戏简化一下,地 ...

  2. Jenkins简单使用介绍

    一.Jenkins的配置 1. 下载地址: Jenkins的官方网站:http://jenkins-ci.org/ 目前最新版本的Windows版:http://mirror.xmission.com ...

  3. arrow css

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. protobuf 安装 及 小测试

    参考:http://shift-alt-ctrl.iteye.com/blog/2210885 版本: 2.5.0 百度云盘上有jar包. mac 上安装: 新建:/Users/zj/software ...

  5. 用c#开发苹果应用程序 xamarin.ios方式

    NetworkComms网络通信框架序言 Networkcomms网络通信框架来自于英国,支持以xamarin.ios的方式开发苹果应用程序 其开源版本2.3.1中带有一个示例程序,实现聊天功能,只要 ...

  6. 可伸缩的textview。

    在一些应用中,比如腾讯的应用市场APP应用宝,关于某款应用的介绍文字,如果介绍文字过长,那么不是全部展现出来,而是显示三四行的开始部分(摘要),预知全部的内容,用户点击展开按钮即可查阅全部内容. 这样 ...

  7. MyEclipse 修改代码不生效

    最近得了一个项目,java开发的web项目,修改代码时,无论怎么改,都不生效: 各种度娘,没用. 原因是没有建立发布设定 这个东西我开始不理解它的作用,现在知道了: mysqleclipse项目在一个 ...

  8. .className = "highlight";.setAttribute("class", "highlight");

    document.getElementById("top").innerHTML = newHTML; document.getElementById("contact& ...

  9. 简单探索ContentProviderOperation

    前面一片文章中用到了ContentProviderOperation,那么我们就来看看ContentProviderOperation到底是怎么工作的. 1. ContentProviderOpera ...

  10. NOIP2013 提高组day2 3 华容道 BFS

    描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的 ...