• Crackme025


    Crackme025 的逆向分析 

    1.程序观察

     

    程序刚打开时,会有一个弹窗,有5秒的倒计时。倒计时结束之后弹窗才可以关闭。我们可以看到弹窗的标题就是“Kill This Nag Screen”,意即让我们想办法去除这个弹窗。
    弹窗时间结束之后,才是程序的本体。但只有一个输入框,看来这个程序应该只有一个正确的序列号。所以这个程序的主要目的应该是去除弹窗。

    2.简单查壳

     

    程序使用 VB5 编写,没有壳。

    3.程序分析

    先使用 VB Decompiler 打开程序。可以看到程序共有3个窗体

     

    有一个叫做 Form_Load 的程序块,我们可以看到,该程序块反编译的代码只有3行

     

    很明显就可以看出来这就是控制窗体是否显示的关键代码。
     
    使用 OD 载入程序,转到对应代码处

    在调用第一个函数前,程序在栈中压入了两个参数

     第一个参数是0,第二个参数不知道是什么,但猜测是相应窗口的名字之类的东西。

    第二个函数的两个参数分别是-1和窗口的名字

    当第一个参数为 -1 的时候,该窗口就会显示;当该参数为 0 的时候,该窗口就会消失。
    只需要把第一个函数的参数改为 -1,第二个函数的参数改为 0即可去掉弹窗。

     

    接下里该寻找正确的序列号
    转到 check 按钮事件的代码处,向下看,可以看到一个比较函数

    函数的两个参数

    一个参数是字符串"55555",另一个字符串"123"是我们输入的。
    所以 55555 一个就是正确的序列号。

     

    相关文件在我的 Github

  • 相关阅读:
    [PHP] Laravel中env函数返回null原因
    [PHP] laravel8 发送通知邮件
    [PHP] hyperf代码热更新-hyperf-watch
    [日常]wps插入页眉页脚
    [linux] du查找数据大的目录
    [PHP] new static()和new self()的区别
    [docker] docker删除容器
    [docker] docker删除镜像
    [javascript] js删除数组中的元素
    [PHP] hyperf框架代码热更新
  • 原文地址:https://www.cnblogs.com/white-album2/p/11676298.html
Copyright © 2020-2023  润新知