Easy Keygen

ida打开,F12+shit找到主函数,F5
判断条件是
if ( !strcmp(&v11, &v15) )
{
sub_4011B9((int)aCorrect, *(int *)&v8);
result = 0;
}
else
{
sub_4011B9((int)aWrong, *(int *)&v8);
result = 0;
}

即只要v11与v15相等即可。
V11是Input Serial输入的字符串,那我们看看v15是如何得到的
v8 = 16;
v9 = 32;
v10 = 48;
sub_4011B9((int)aInputName, v6);
scanf(aS, &v11);
v3 = 0;
for ( i = 0; v3 < (signed int)strlen(&v11); ++i )
{
if ( i >= 3 )
i = 0;
sprintf(&v15, aS02x, &v15, *(&v11 + v3++) ^ *(&v8 + i));
//输入的字符串三个一组,依次与16,32,48进行异或。
}

写个c,跑出输入的name为K3yg3nm3
#include <stdio.h>
#include <string.h>
int main()
{
char flag[100];
int i=0,j=0,l[4]={16,32,48},s[8]={0x5B,0x13,0x49,0x77,0x13,0x5E,0x7D,0x13};
for(i=0;j<8;i++)
{
if(i>=3)
i=0;
flag[j]=s[j]^l[i];
printf("%c",flag[j]);
j++;
}
}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42980240/article/details/81839535