• 逆向破解之160个CrackMe —— 001(上)


    CrackMe--001

    前置知识介绍:

    • 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合,一共160个待逆向破解的程序

    • CrackMe:一些公开给别人尝试破解的小程序,制作crackme的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位cracker,想挑战一下其它cracker的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。

    • CrackMe简称CM,cracker是以破解各种加密或有限制的商业软件为乐趣的人。

    程序信息:

    编号作者保护方式
    001 Acid burn Name/Serial,Serial

    工具:

    • ollyDbg(简称OD)

    • Exeinfo PE

    开始破解:

    1.先用Exeinfo PE工具查看下001程序(打开工具,将程序拖拽进去即可查看),得到信息如下图,可知该程序没有加壳,而且是用Delphi语言编写的。

    2.Delphi所编写的代码与VC++所编写的代码有所不同,最明显的两点区别如下:

    • 函数调用时传参的方式主要用寄存器,一般将参数1放入eax寄存器,参数2放入edx寄存器,参数3放入ecx寄存器,多余的也是通过压栈的方式传入

    • 字符串的处理,Delphi字符串处理函数与VC++是不同的,其字符串的首地址减去4后,所取出的4个字节就是此字符串的长度。分析的时候要注意。

    3.接下来我们运行程序,首先会弹出一个提示窗口,大概意思是欢迎你破解他,这个软件由ACiD BuRN制作

    4.现在我们知道这个软件制作者是谁呢,不想每次运行都弹出这个对话框来提醒我制作者是谁,那么我们有了第一个目标,让提示窗口不显示。点击《确定》按钮,发现有两种验证机制,一种是用户名与序列号验证,另一种只需要序列号。所以我们又获得两个新任务,由易到难,我们第二个目标是只需要序列号验证的,最后攻克用户名与序列号验证

    5.目标一:去掉烦人的提示对话框(一般软件设计者用来提醒用户购买正式版本的窗口),要完全去除提示窗口,只需要找到创建该窗口的代码并将其跳过。显示窗口的常用函数有:

    • MessageBoxA(W)

    • MessageBoxExA(W)

    • DialogBoxParamA(W)

    • ShowWindow

    • CreateWindowExA(W)

    6.我们用OD打开,然后用Ctrl+G跳转到上面常用函数处,然后按F2键下断点

    7.或者用命令bp MessageBoxA在指定函数处下断,bp表示下断点,后面跟着要下断点的函数名,(bp与函数名之间有个空格)

    8.下完断点后,按F9让程序运行起来,发现程序会在函数MessageBoxA处断下,观察栈区,会发现就是我们要去除的窗口信息,即此时MessageBoxA函数执行完,就会弹出提示窗口,我们转到调用这个函数的位置(方法见下图2)

    9.本来我们只要nop掉调用MessageBoxA的代码就可以实现目标一,不过后面验证后的结果提示窗口也会调用此处,所以我们还要继续向上找

    10.终于来到最终的关键处,此时我们采用第二种,直接将push 0x0改为retn(有兴趣的两种都可以试试)

    11.直接选择要修改的那行,按空格键,输入改后的指令,然后保存修改好后的程序,选择覆盖原程序,会在原程序目录下生成个.bak文件,其实就是修改前的文件改了后缀。

    12.今天就到这里,明天完成第二个目标

     

    链接:https://pan.baidu.com/s/1XGf_Hmy8jbdb0cEmcuXjAA

    提取码:v34f

    直面挫折,顽强生长
  • 相关阅读:
    Microsoft Visual Studio 2010(vs10)安装与使用
    961专业课复习资料
    spring boot: 输出json
    spring boot: 热部署(一) run as – java application (spring-loader-1.2.4.RELEASE.jar)
    FastJson/spring boot: json输出方法二
    FastJson/spring boot: json输出
    FastJson中文乱码
    FastJSON 简单使用
    mytabits表关联一对一(多对一?)
    Model/ModelMap 和 ModelAndView 的区别使用
  • 原文地址:https://www.cnblogs.com/ndyxb/p/12412064.html
Copyright © 2020-2023  润新知