ファイル名から察するに暗号化ソフトのつもりらしいです。
でもめちゃくちゃです。
なんとLSI C-86 試食版を使っていた頃の化石コードです。
更新日時:2009/01/29 17:57
発見されたソースコードはこちら。
► スポイラーを表示
というわけでツッコミを入れまくってみました。
決して偏差値を上げる意図はありません(爆)参考
#include
#include
#include
/*こんな基本の出典をわざわざ明記www*/
int main(int argc,char *argv[]) {/*参考:苦C*/
char pass[300];
FILE *file;
fpos_t fsize;
char filename[255];
int pos;
char a;
long i;
unsigned int ransuukeiretu;
printf("ファイルをめちゃくちゃにします。\n");
if(argc=255) {/*255文字はダメってわかってるじゃん*/
printf("渡されたファイル名は長すぎます。\nファイル名:");
scanf("%255s",filename);/*最後のNUL文字の分を忘れてる*/
/*スペースが入っていたら死亡。素直にfgetsだろjk*/
} else strcpy(filename,argv[1]);
}
file=fopen(filename,"r+b");/*読み書き両用とか忘れてたよwww*/
if(file==NULL) {
/*最後は改行を推奨 というかここはputsだろjk*/
printf("ファイルオープンに失敗しました。");
exit(0);/*素直にreturn 0;だろjk*/
/*というかreturn 1;で異常終了だろjk*/
}
fseek(file,0,SEEK_END);
fgetpos(file,&fsize);
fseek(file,0,SEEK_SET);
if(argc=255) {
printf("渡されたパスワードは長すぎます。\nパスワード(300バイトまで):");
scanf("%300s",pass);/*最後のNUL(ry*/
/*スペースが(ry*/
} else strcpy(pass,argv[2]);
}
ransuukeiretu=0;
for(i=0;i300)pos=0;/*pos==300になるとアクセス違反の危険*/
if(pass[pos]==0)pos=0;/*パスワードが0バイトだと…*/
}
fclose(file);
/*最後は改行を推奨 というかここはputsだろjk*/
printf("処理が完了しました。");
return 0;
}
/*
ファイル名はangouka.c
復号がないということはもう一度暗号化で復号を想定?
でももう一度暗号化してももとに戻らないよ!?
致命的だ。
本当に「ファイルをめちゃくちゃにします。」というソフトなのか。
*/
よろしくお願いします。