본문 바로가기

[+] 유틸리티

ROT-13 Script

포렌식 공부 중 레지스트리에 어떠한 값이 ROT-13으로 인코딩되어 있다는 구문을 보고 한번 만들어 봤다.

알려진 ROT-13 기본알고리즘을 바탕으로 스크립트 코딩 했다.


#ROT13.py
#Made By MaJ3stY
#기본 ROT-13 사용

import sys

rot13 = {'a':'n', 'b':'o', 'c':'p', 'd':'q', 'e':'r', 'f':'s', 'g':'t', 'h':'u',
          'i':'v', 'j':'w', 'k':'x', 'l':'y', 'm':'z', 'n':'a', 'o':'b', 'p':'c',
          'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h', 'v':'i', 'w':'j', 'x':'k',
          'y':'l', 'z':'m', 'A':'N', 'B':'O', 'C':'P', 'D':'Q', 'E':'R', 'F':'S',
          'G':'T', 'H':'U', 'I':'V', 'J':'W', 'K':'X', 'L':'Y', 'M':'Z', 'N':'A',
          'O':'B', 'P':'C', 'Q':'D', 'R':'E', 'S':'F', 'T':'G', 'U':'H', 'V':'I',
          'W':'J', 'X':'K', 'Y':'L', 'Z':'M', ' ':' '}

def Encode(strings):
    e_result = ''

    for s in strings:
        for key, value in rot13.items():
            if key == s:
                e_result += value

    return e_result


def Decode(strings):
    d_result = ''

    for s in strings:
        for key, value in rot13.items():
            if value == s:
                d_result += key

    return d_result

def Main():
    print ''' You Want to Service Choice number
              1. ROT-13 Encode
              2. ROT-13 Decode
              3. Exit \n'''

    ch = input("Choice Number >>> ")

    if ch == 1:
        e_str = raw_input("Input Strings >>> ")
        print "Encode(%s) >>> " % e_str + Encode(e_str)
    elif ch == 2:
        d_str = raw_input("Input Strings >>> ")
        print "Decode(%s) >>> " % d_str + Decode(d_str)
    elif ch == 3:
        print "Bye, See you again!"
        sys.exit
    else:
        print "Invalied Number!"
        Main()


if __name__ == '__main__':
    Main()

 

'[+] 유틸리티' 카테고리의 다른 글

Sqlite Viewer  (3) 2012.01.24
Registry (9)에서 쓰였던 python 스크립트  (0) 2012.01.06
Hash Script  (0) 2011.12.14
BozoCrack  (0) 2011.12.02