zoukankan      html  css  js  c++  java
  • Crackme_003

    功能:

      拿到文件,先执行一下。功能如下:

      1、nag窗口

        会先出现如下nag窗口,持续几秒

        

       2、注册窗口:

        出现错误会提示:You Get Wrong  Try Again  

        

    破解:

      1、查壳:

        无壳,并且是用VB5.0-6.0写的  

        

    解除nag窗口:

        方法一:Timer搜索法:找到timer函数的位置,并做修改

          缺点:程序的作者将计时器的默认名称改掉之后,根本无法在内存中搜索到Timer关键字,也就无法下手

          步骤:

            程序加载进od,在入口处点击在数据窗口跟随,数据窗口右键查找二进制字符串,Timer(Timer是VB程序默认的定时器变量):  

            

             其中58 1B表示的就是时间参数:0x1B58,这个是计时器的秒数。也就是十进制的7000,7000毫秒就是7秒。

            

             所以第一种去Neg的方法就是将0x1B58改为0x0001,就是将时间缩短到最短。当然还是会有一瞬间

             

        方法二:4c法:

            重新载入程序:

            在数据窗口中,右键转到表达式:输入4067d4+4c,找到form GUI描述表的指针    

                

            选中,右键,数据窗口跟随DWORD    

                

            跟随到406868这个数据段:

            每一个小块的数据是每一个窗体的信息,其中00和01是窗体的序号 而10是第一个窗体的启动标志。

             

             所以:我们只要把第一个窗体数据块的00改成10 然后把第二个窗体的数据块的10改成00。(注:亲测无效)。

             将窗体的序号调换。即可去除neg。  

            

             保存 ,去除nag成功

    注册:

        一:爆破

          老规矩:查找:  

          

           向上看,找到关键跳转,nop,保存

          

           运行:

          

      二、注册机

          找到到关键跳转,在这里尝试下断,判断call的功能是否与加密有关:

          

          测试:输入1234,56789

          

           程序断下,看到栈空间中出现1066822,有点像注册码

          

           输入测试:

          

           成功,那么还在上面。

          找到这个函数的开始位置,下断:

          

           第一部分:f8一直跟随,看到eax='1234'出现,主要是:获得的长度*0x15B38 + 第一位数0x31  得到edi = 56d11 十进制为 355601    

          

           继续向下,

          第二部分:将刚才计算的结果转为浮点数,放入到FPU栈,然后将结果加上2.0 得到355603

           

          继续向下, 

          第三部分:刚刚得到的浮点数*3-2得到1066807并保存进ST7  

          

          继续向下,

          第四部分:得到的浮点数减去(-15)也就是加15  -->  1066807+15=1066822  这个就是我们刚刚看到的验证码了  

          

    总结一下算法:

          [(长度*0x15B38 + 第一位数的十六进制)--->变为十进制 +2]*3-2 +15

    下面可以写注册机了:

    Num = input('输入:
    ')
    
    pwd = ''
    
    test = 0x15B38*len(Num)+ord(Num[0])
    
    pwd = (test+2)*3-2+15
    
    print(pwd)
    注册机代码

    参考文档:https://bbs.pediy.com/thread-249719.htm

    总结:慢慢来,要细心

  • 相关阅读:
    freeswitch录音功能
    jdk安装
    maven阿里云镜像
    idea安装
    idea新建maven项目
    tomcat安装
    idea新建maven web项目
    idea新建java项目
    webpack使用
    ACE 安装指南及示例
  • 原文地址:https://www.cnblogs.com/yidianhan/p/11601061.html
Copyright © 2011-2022 走看看