世界最強のセキュリティソフト作ったったwww(ネタ
今日のほこxたて見ててさ、びっくししたよ。 たとえ世界最強のハッカーと言えども、やっぱり防ぐ手段はあるんだね。 それは驚きのファイル名を変えちゃういう手法。 いやー、すごい。その発想はなかった。
という訳で、それを自動化するソフトを作ったよ。 1分置きぐらいにファイル名を変えちゃえば最強だね! やったね!
import sys import os import time import random import string LETTERS = string.letters + string.digits def GetDirs(name): ret = [] for path, dnames, fnames in os.walk(name): ret += [os.path.join(path, d) for d in dnames] return ret def GetFiles(name): ret = [] if os.path.isdir(name): for path, dnames, fnames in os.walk(name): ret += [os.path.join(path, f) for f in fnames] elif os.path.isfile(name): ret.append(name) else: raise IOError('No such file or directory') return ret def RandomString(length=32): return ''.join([random.choice(LETTERS) for i in range(length)]) def AutoRename(name): path = os.path.split(name)[0] ext = os.path.splitext(name)[1] print name, '->', os.path.join(path, RandomString() + ext) os.rename(name, os.path.join(path, RandomString() + ext)) if __name__ == '__main__': if len(sys.argv) <= 1: print>>sys.stderr, '{0} [file | directory] (interval)'.format(sys.argv[0]) sys.exit(-1) try: interval = int(sys.argv[2]) except (IndexError, ValueError): interval = 0 while True: if os.path.isdir(sys.argv[1]): for dir in GetDirs(sys.argv[1]): AutoRename(dir) for fname in GetFiles(sys.argv[1]): AutoRename(fname) print if interval > 0: time.sleep(interval) else: break
こいつを例えばsecure.pyって名前で保存したら
$ secure.py test 60
みたいに使ってください。
60秒おきに、testってファイルを適当な名前にリネームします。 testがディレクトリなら、test以下のファイルすべてをリネーム。
いやー、これで安心だね!
嘘です。こんなんじゃ何も守れません。ネタです。