码迷,mamicode.com
首页 > 其他好文 > 详细

Crackeme021

时间:2019-09-23 22:42:05      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:style   mic   inf   info   delphi   blank   tle   alt   开头   

Crackme021 的逆向分析 

1.程序观察

 技术图片

 

 

 技术图片

 

 

可以看到,name 其实是让输入英文的,输入数字就会出现像图1那样的弹窗。
只有输入英文字母的时候,程序才会真正开始验证输入的是否正确,而且一个用户名是有两个验证码的。

 

2.简单查壳

技术图片

程序使用 Delphi 编写,无壳。

 

3.程序分析

OD 载入程序,搜索字符串。

技术图片

 

 

 

 进入代码,来到代码块开头,下断点,点击 Try 按钮,程序就断了下来

 技术图片

技术图片

 

 

 

 程序会比较内存42F714和内存42F718处的值,如果是0,就会弹窗报错

 技术图片

 

 如果都不为0,才会进行接下来的验证程序。

  1. 程序获取三个输入框的值,比较是否为0
  2. 再次比较两个内存处的值是否为0
  3. 依次将内存42F714 和内存42F718处的值转化为字符串,再和两个序列号进行比较,全部相同,就会提示正确

技术图片

 

 

那么内存 42F714 和内存 42F718 处的值从哪里来的呢?
其实是在我们输入用户名的时候,程序就计算出来的。

使用 IDR 载入程序,可以看到有一个键盘输入事件

技术图片

 

 

技术图片

 

 技术图片

 

 程序会得到输入的字符,然后进行比较,是否为非法字符串,如果是,就跳转走;如果不是,就来到给内存  42F714 和内存 42F718 赋值的地方

技术图片

 

 根据输入不同的字母,给两处内存加上不同的值。

因为程序内有固定的表,所以也不用写注册机了,自己算一算就行了。

 

 

相关文件在我的 Github:https://github.com/UnreachableLove/160-Crackme/tree/master/Crackeme021

2019-09-23 21:55:50

 

Crackeme021

标签:style   mic   inf   info   delphi   blank   tle   alt   开头   

原文地址:https://www.cnblogs.com/white-album2/p/11575174.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!