みけCATのにっき(仮)
つれづれなるまゝに、日くらし、PCにむかひて、心に移りゆくよしなし事を、そこはかとなく書きつくれば、あやしうこそものぐるほしけれ。
(本当か!?)
出典

黒歴史を晒してみる

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

黒歴史を晒してみる

投稿記事 by みけCAT » 13年前

自分のC言語フォルダを見ていると、昔書いたソースコードがありました。
ファイル名から察するに暗号化ソフトのつもりらしいです。
でもめちゃくちゃです。
なんとLSI C-86 試食版を使っていた頃の化石コードです。
更新日時:2009/01/29 17:57
発見されたソースコードはこちら。
► スポイラーを表示
こ れ は ひ ど い
というわけでツッコミを入れまくってみました。
決して偏差値を上げる意図はありません(爆)参考

CODE:

#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 
復号がないということはもう一度暗号化で復号を想定?
でももう一度暗号化してももとに戻らないよ!?
致命的だ。
本当に「ファイルをめちゃくちゃにします。」というソフトなのか。 
*/
他にも突っ込みどころだあればガンガン突っ込んであげてください。
よろしくお願いします。

コメントはまだありません。