用c写的CrackMe
下载地址=https://pan.baidu.com/s/1Cu8ViI3cYkvVkad1XZrBBg 提取码: ni5d
源代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
printf("CM by znkzz :D\n");
int a[20]={-57,-21,-58,-58,-67,-30,-50,-46,-93,-95,50,48,50,48,45,56,45,50,57};
int b[10]={-61,-36,-62,-21,61,37,115};
int pw[12]={38^12,95^12,39^12,69^12,90^12,74^12,67^12,44^12,43^12,71^12,69^12,46^12};
char *c=(char*)calloc(10,sizeof(char));
char *d=(char*)calloc(12,sizeof(char));
short i,rk=0;
for(i=0;i<20;i++){
putchar(a[i]);
}
for(i=0;i<10;i++){
c[i]=(char)b[i];
}
for(i=0;i<5;i++){
putchar(c[i]);
}
scanf("%s",d);
for(i=0;i<13;i++){
if((int)d[i]==((pw[i]^12)-1)){
rk++;
// printf("rk=%d,I=%d,d[i]=%c,pw[i]=%c\n",rk,i,(int)d[i],(pw[i]-1));
}
}
if(rk==12){
int words[10]={-58^2,-58^2,-67^2,-30^2,-77^2,-55^2,-71^2,-90^2,-93^2,-95^2};
for(i=0;i<10;i++){
putchar(words[i]^2);
}
}else{
int words[10]={-58^2,-58^2,-67^2,-30^2,-54^2,-89^2,-80^2,-36^2,46^2,46^2};
for(i=0;i<10;i++){
putchar(words[i]^2);
}
}
return 0;
}
用到的转换工具:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
char *a=(char*)malloc(sizeof(char)*512);
scanf("%s",a);
size_t i;
for(i=0;i<strlen(a);i++){
printf("%d,",(int)a[i]);
}
return 0;
}
本文来自博客园,作者:Ruptpsych,转载请注明原文链接:https://www.cnblogs.com/obj-a/p/CM.html