CrackMe32

时间:2021-07-26 16:25:29   收藏:0   阅读:0

进去od发现 push call 有壳

技术图片

 

 脱完 

第一个打开有个弹窗 直接

bp MessageBoxA 下断点
技术图片

 

 找到关键地方下个断点重新运行分析

技术图片

 

 判断了当前文件夹是否有reg.dat 文件

技术图片

 

 接着看他们的窗体事件

技术图片

 

 应该又是几个失焦事件 来算密码把ok解开 

定位看1第一个事件代码

技术图片

 

这段代码是吧 输入值转成十进制储存 

技术图片

 

 进去 

技术图片

 

 这里发现了 计算方式 name大于5

 技术图片

 

去name 前4位分别除10

 技术图片

 

 接着对长度大于2的继续除

技术图片

 

 技术图片

 

 成功解开

  char pName[] = "name1";
    char pNum[4] = {0};
    pNum[0] = pName[0] / 0x0A;
    pNum[1] = pName[2] / 0x0A;
    pNum[2] = pName[3] / 0x0A;
    pNum[3] = pName[4] / 0x0A;
    for ( int i=0;i<4;i++)
    {
        if ( pNum[i]>=0x0A ) // 程序中是通过转为字符串,判断字符串长度
        {
            pNum[i] = pNum[i]/0x0A;
        }
    }
    printf("Num: %d - %d - %d - %d\r\n",pNum[0],pNum[1],pNum[2],pNum[3]);

 

 

 

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!