欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

贴这个的注册机,并且发现一个BUG (1千字)

贴这个的注册机,并且发现一个BUG (1千字)

#include "stdio.h"
#define ROTATE(a,n)  (((a)<<(n))|(((a)&0xffffffff)>>(32-(n))))
main()
{unsigned long eax=0,edx=0x656d7568;
unsigned long temp1=0,temp2,n;
char tb[]="dooGehehehehehehehehPYRCPYRCPYRCPYRCevolevolevolevolhtymhtymhtym";
int i,d;
unsigned char string[81];
printf("******Crkme 0.02********\nThis keygen is made by Pretender\nPlease input your user name:  ");
gets(string);
d=strlen(string);
string[32]=0;
if(d<=32)
for(i=d;i<32;i++)
{n=string[i-1];
  string[i]=n/i+n*i;
  }
n=0;
if(d<=32)
{for(i=0;i<d;i++)
n+=string[i];
n&=0xff;
eax=n<<24;}

  eax+=0x200000;
  for(i=1;string[i]!=0;i++)
  {n=string[i];
  n*=i;
  temp1+=n;}
  temp1^=-1;
  temp1&=0xffff;
  eax+=temp1;
eax+=0x20434347;edx+=0x26424347;
for(i=0;i<8;i++)
{temp1=tb[i*8]+tb[i*8+1]*256+tb[i*8+2]*65536+tb[i*8+3]*256*65536;
  temp2=tb[i*8+4]+tb[i*8+5]*256+tb[i*8+6]*65536+tb[i*8+7]*256*65536;
  eax^=edx;
  n=edx&0x1f;
  eax=ROTATE(eax,n);
  eax+=temp1;
  edx^=eax;
  n=eax&0x1f;
  edx=ROTATE(edx,n);
  edx+=temp2;
}
printf("Your Register code is  : _CCG-");
printf("%lX-%lX\n",eax,edx);
printf(" *****************************      ---    ---    ---\n *Welcome to WWW.CRACKNOW.COM*      /      /      / --\n *****************************      ---    ---    --/\n");
}
也许是作者不小心在401762处有一个BUG
应将401762 CMP AL,31改为CMP AL,30否则将有6.25%的用户名没有注册码(如CRACKNOW)~~~~另外还有就是CRACKME中有些计算没有意义~~~(算用户名的时候的)
整体而言这个CRACKME还是比较不错的!

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功