能力值:
( LV6,RANK:87 )
|
-
-
2 楼
提醒一下,第四步的local.4里面存的值是大家电脑上的硬盘号,我换了一个电脑试了,结果就不一样了,不过都一样,也就是写注册机时有问题,说明每个人注册机都不一样。
|
能力值:
( LV6,RANK:87 )
|
-
-
3 楼
我记得这160个cm我也做了十来个,都写了注册机。不过写完就删了。
|
能力值:
( LV1,RANK:0 )
|
-
-
4 楼
感谢分享
|
能力值:
( LV6,RANK:87 )
|
-
-
5 楼
我也开始逆向没多久,还是希望有一个逆向的大佬带带我。不胜感激!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
感谢分享
|
能力值:
( LV2,RANK:15 )
|
-
-
7 楼
挺简单的题。
注册机代码
#include<stdio.h>
#include<math.h>
#define ROL(x,n) (((x)<<n)|((x)>>(32-n)))
int main(int argc,char**argv)
{
double c_serial_number=(int)0x98E45550,d_serial_number=(int)0xC12765E5;
char* a="071362de9f8ab45c";
unsigned int serial,result=1;
char name[20];
int len;
printf("name:");
if(argc!=2)
scanf("%[^\n]",name);
else
sprintf(name,"%s",argv[1]);
if((len=strlen(name))<=0)
return 0;
printf("%s\n",name);
serial=round(sqrt(c_serial_number*c_serial_number+d_serial_number*d_serial_number));
for(int i=0;i<len;i++)
result*=name[i];
result=(ROL(result,1)|serial)&0xFFFFFFF;
printf("key:");
while(result)
{
printf("%c",a[result%0x10]);
result>>=2;
}
return 0;
}
C,D盘序列号换成你自己的就行了
运行结果 
测试结果 
最后于 2020-3-5 10:51
被zzhwaxy编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
zzhwaxy
挺简单的题。
注册机代码
```
#include
#include
#define ROL(x,n) (((x)(32-n)))
int main(int argc,char ...
大佬第20、21行循环相乘那里,好像超过8位的话还得加上进位 
|
|
|