Crakeme -Brad_Soblesky2 writeup

首先运行观察一下小程序

发现是一个很典型的crakeme小程序,接下来拖进OD

根据上面的尝试,有很明显的提示字符串,可以查找一下,下断。很容易定位到关键算法代码段

 如上注释的一般,就是一个很简单的累计算法求和,以十进制保存。

跟踪到输出serial,检验判断的是否正确。

跟踪得到了"2185826717",检验一下

 没毛病就是他!!!

最后献上C++写的注册机源代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    char name[100];
    cout<<"Enter your name: ";
    cin>>name;

    int len=strlen(name);

    int fret=0x81276345;
    for(int i=0;i<len;i++)
    {
        fret=((fret+name[i])^(i<<8))*(~(len*i)*(i+1));

    }
   printf("%d\n",fret);
    return 0;
}

嗯,很简单的crakeme,但是对我一个新人来说很有意义。加油!!!

猜你喜欢

转载自blog.csdn.net/caobo_lq666/article/details/81672750