其他分享
首页 > 其他分享> > CrackMe32

CrackMe32

作者:互联网

进去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]);

 

 

 

 

标签:pNum,name,char,pName,CrackMe32,断点,0x0A
来源: https://www.cnblogs.com/feizianquan/p/15050321.html