ある画像(*1)の上に別の画像(*2)を貼り付けることで、(*1)を人から見えなくできる。
実際は(*1)を(*2)に追加書込みしただけなのであんまり偽装にもなりませんがw。
偽装解除したときに5バイトほど増加してしまいますが、(*1)自体は見ることが出来ます。
どうせ使う人はいない(自分を含む)のでソースは手抜き。
欠点
1.偽装解除したときに5バイト増える。(致命的)
そのため何回も偽装、解除を続けるとすごいことになるw(現在は未確認)
2.現在偽装解除後、出力できるファイル名は『kaijo.txt』のみ。(致命的)
上書きが出来ないため、偽装ファイルの先頭か末尾に何かつけないといけないため。
ならjpgにしろと思うかもしれないが、GIFでもPNGでもEXEでもできるため無難にw。
3.エラーに関してはほとんど対処してないw(どうせ自分しか動作確認しないため)
偽装ファイルがない、くらいのエラーしかw
4.連続偽装が出来ない。解除後の改行切捨てが出来ないため、どうしても一回しか出来ない
連続でできるけど、最後に偽装したファイルに解除後が依存するため別物になる。
5.全てのファイルではないが、なぜか改行の数をうまく認識できないファイルがある。(致命的)
テキストで改行に見えても、データ的には改行になってないのかもしれない。
6.ソースが見難い(爆
7.その他もろもろ(コメントがない方が分かりやすいとかw
ちなみにソース
一つだけの長所は、fseek関数以外は全てC言語初級レベルなので簡単に理解できるかも。
ソースが見難いから分かりつらいのは別だ(ぉ。でもfseek関数も初級+程度なのですぐ理解可能。
今後の課題
1.前述したファイルの末尾につく行数カウント文字を解除後取り除く。解決
2.上書き保存ができるようにする。
3.ドラッグ&ドロップに対応させてみたい。
4.ソースをもっと見やすくしたり、サイズを小さくする。
11/28の改良点。
1.scanfは問題があるということなのでファイル名の取得をgetsに変えた。
ちなみにswitchの後にgetsするときは、
switchの入力時に残った改行文字をgetcharを使わないと
getsが改行をとってしまいgetsの入力が即座に終わってしまう。
2.じつはコマンドラインからの入力にしたので1.は完全に意味がないw
12/4の改良点
1.偽装前のファイルのサイズを保存しておくことによって
ファイルにつく余計な文字列を取り除いた。(余計なものは書き出さないようにした)
そのおかげで理論的には連続偽装ができる(まだ試してない)