本帖最后由 CRoot 于 2016-4-8 11:33 编辑
Cancella按钮算法是根据Nome算出code的
[C] 纯文本查看 复制代码 #include <stdio.h>
int whatfuck(int v1)//原来是他妹的阶乘,这个函数当初分析被坑坏了
{
if(v1 >= 2)
{
return v1*whatfuck(v1-1);
}
else
return 1;
}
int main()
{
int a1 = 0;
char Nome[] = "xxxx"; // 长度必须大于5
int nLen = strlen(Nome);
int a5 = Nome[4];
a5 = (a5 % 7) + 2;
a1 = a5;
int wt = whatfuck(a1); //esi
printf("%d\n",wt);
int nRet = 0; // ebx
int i;
for(i=1;i<=nLen;i++)
{
nRet += Nome[i-1] * wt;
}
nRet -= 31337;
printf("Int:%d\n",nRet);
return 0;
}
对于OK,是根据code算nome,一开始我死活算不对,弄成nome算nome了 醉了。
[C] 纯文本查看 复制代码 #include <stdio.h>
int main()
{
char code[] = "xxx"; // eax
int nLen = strlen(code); // esi
int a2 = 0; // eax
for( int i=0;i<nLen;i++)
{
int a1 = code[nLen-1-i]*code[nLen-1-i]*(nLen-i);
a2 = a1 % 0x19 + 0x41;
code[nLen-1-i] = a2;
}
printf("Nome:%s",code);
return 0;
}
白天补上OD的udd。
aLoNg3x.1.udd.zip
(205.77 KB, 下载次数: 16)
已补
|