适合破解新手的160个crackme练手之04

适合破解新手的160个crackme练手之04

老规矩,先运行程序看看是干嘛的,可以看到程序有点怪异,没有确定按钮,后面知道了原来点击中间阴影部分就是验证功能啦

先检索字符串吧,这里有个小bug,用中文搜索引擎搜索到的字符串比查找所有文本字串要多一些内容....这里也不去追究是什么原理,以后两个都试一下就好了

看到有个恭喜恭喜!注册完成 ,转到字符串地址,往上阅读代码,可以发现有个cmp比较某个地址的值是否0x85命令,若不相等则会跳过注册成功的部分,但是这里跟我们的输入没有任何关系,那么有比较肯定就有赋值的语句,所以我们尝试搜索一下mov dword ptr ds:[esi+0x30C],0x85这条语句看有没有

可以发现确实有这条语句,但是这语句前面还有一句cmp判断然后跳转,也是比较同一个位置是否为0x3e,那么我们仍然往前继续追溯

但是很可惜这次搜索不到

精确搜索搜不到只能是某个地方不对,这里又学到od的另外一个骚操作就是模糊搜索,我们可以根据机器码对想要搜索的语句进行搜索。

然后看到赋值的语句上面有个jnz,然后在前面不远处下个断点,经过调试后知道,

通过推断可以知道注册码由"黑头SunBird"和Name的长度+5还有"dseloffc-012-OK"和Name拼凑而成,比如Name为123,注册码为: 黑头Sun Bird8dseloffc-012-OK123

最终验证时,只需双击一次,然后再单击一次。至于为什么需要自己动态调试就知道了

原文发布于微信公众号 - 安恒网络空间安全讲武堂(gh_fa1e45032807)

原文发表时间:2018-01-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏积累沉淀

Java设计模式(二十)----状态模式

状态模式 一、概述 二、结构 三、具体案例 四、认识状态模式 一、概述 定义:允许一个对象的内部状态改变时改变它的行为。对象看起来似...

2235
来自专栏Albert陈凯

2018-07-19 如何重构“箭头型”代码如何重构“箭头型”代码

原文地址:https://coolshell.cn/articles/17757.html

1356
来自专栏韩伟的专栏

架构实现利器:反射

假设我们希望开发一套通用型的软件框架,这个框架允许用户自定义大量不同的情况下的回调函数(方法),用来实现丰富多彩的业务逻辑功能,例如一个游戏脚本引擎,那么,其中...

5910
来自专栏软件测试经验与教训

Python学习笔记(一)

2935
来自专栏Golang语言社区

golang语言是如何处理栈的

Go 1.4Beta1刚刚发布,在Go 1.4Beta1中,Go语言的stack处理方式由之前的"segmented stacks"改为了"continuous...

3668
来自专栏Python

MongoDB

一 简介 MongoDB是一款强大、灵活、且易于扩展的通用型数据库 1、易用性 MongoDB是一个面向文档(document-oriented)的数据库,而不...

3416
来自专栏算法修养

PHP 正则表达式抓取网页内容。

我想用php抓取爱奇艺生活类型视频网页里面的元素,应该如何去做呢? 首先我要非常熟悉正则表达式,关于正则表达式的学习,我会写一篇博客一直学习的。 直接举例子: ...

4016
来自专栏FreeBuf

苹果OS X Yosemite系统曝多个本地提权漏洞

国外安全研究人员近日曝光最新版Mac OSX 10.10.1系统上存在多处本地提权漏洞,由于提交到苹果官方时间太久都过未得到明确答复,导致研究者直接公布漏洞细节...

19210
来自专栏博客园迁移

codeReview常见代码问题

路线图   常见代码问题   空值   未捕获潜在的异常   低性能   影响范围过大   单测问题   与原有业务逻辑不兼容   缺乏必要日志   错误码不符...

943
来自专栏老秦求学

汇编语言学习01

汇编语言(8086cpu) 恩,学习一门课程,我觉得应该有一定的条理性,而且自己要勤加思考才能学好,条理性:最好就是先整体的介绍一下全本书,然后再详细的介绍各个...

3059

扫码关注云+社区

领取腾讯云代金券