#!/usr/bin/python
# -*- coding: latin-1 -*-
import os
import platform
import sys
########################
# Author : fr0g
# WebSite : hwc-crew.com
#
########################
# Note : si vous vous demandez pourquoi le programme affiche de
# l'anglais alors que les commentaires en francais,
# c'est juste car je suis un gros bordelique.
# non c'est pour que son utilisation reste intuitive
# pour les utilisateurs (souvent plus ou moins bilingues)
# tandis que le code source (bien que libre) est principalement organise
# pour faciliter ma propre comprehension du code ( comment m'y retrouver dans un bordel pareil ? ... ca me regarde ;))
#-----------------------------------------CLASS and/or FUNCTIONS
def cryptix(a): # Fonction de cryptage
#-----------------------------------------------Alpha
b = a.replace('a','ķ',sys.maxint)
b = b.replace('b','ľ',sys.maxint)
b = b.replace('c','Ľ',sys.maxint)
b = b.replace('d','ń',sys.maxint)
b = b.replace('e','ň',sys.maxint)
b = b.replace('f','Łǥ',sys.maxint)
b = b.replace('g','ĬȐ',sys.maxint)
b = b.replace('h','Ĥ',sys.maxint)
b = b.replace('i','ĥ',sys.maxint)
b = b.replace('j','Č',sys.maxint)
b = b.replace('k','Ĕ',sys.maxint)
b = b.replace('l','ᴕ',sys.maxint)
b = b.replace('m','ō',sys.maxint)
b = b.replace('n','ᵼ',sys.maxint)
b = b.replace('o','Ōƻ',sys.maxint)
b = b.replace('p','Ŕ',sys.maxint)
b = b.replace('q','ŕ',sys.maxint)
b = b.replace('r','řᵫ',sys.maxint)
b = b.replace('s','ŧ',sys.maxint)
b = b.replace('t','Ŧ',sys.maxint)
b = b.replace('u','Ũ',sys.maxint)
b = b.replace('v','ᴥ',sys.maxint)
b = b.replace('w','ţ',sys.maxint)
b = b.replace('x','Ů',sys.maxint)
b = b.replace('y','Ŷ',sys.maxint)
b = b.replace('z','ƃ',sys.maxint)
#-----------------------------------------------Num
b = b.replace('0','Ɖ',sys.maxint)
b = b.replace('1','ƍ',sys.maxint)
b = b.replace('2','ƕ',sys.maxint)
b = b.replace('3','Ƣ',sys.maxint)
b = b.replace('4','Ʃ',sys.maxint)
b = b.replace('5','ƪ',sys.maxint)
b = b.replace('6','Ɨ',sys.maxint)
b = b.replace('7','Ƴ',sys.maxint)
b = b.replace('8','ƴ',sys.maxint)
b = b.replace('9','Ƶ',sys.maxint)
#-----------------------------------------------Others
b = b.replace('.','ƺ',sys.maxint)
b = b.replace('!','dž',sys.maxint)
b = b.replace('?','Nj',sys.maxint)
b = b.replace(',','ǒ',sys.maxint)
b = b.replace('é','ǥ',sys.maxint)
b = b.replace('è','Ǻ',sys.maxint)
b = b.replace('à','Ȑ',sys.maxint)
b = b.replace('ê','ȣ',sys.maxint)
b = b.replace('ù','ȸ',sys.maxint)
b = b.replace('(','ȹ',sys.maxint)
b = b.replace(')','Ⱥ',sys.maxint)
b = b.replace('/','ɷ',sys.maxint)
b = b.replace(';','ᴤ',sys.maxint)
b = b.replace(':','ᴲ',sys.maxint)
b = b.replace(' ','ᴽ',sys.maxint)
b = b.replace("'","ᵻ",sys.maxint)
b += b
b = b[::-1]
print b
save = raw_input("\n Save file (y/n) ? : ")
if save == "y" or save == "":
filename = raw_input(" Type a name for the new crypted file : ")
if filename != "":
f = open(filename,"w")
f.write(b)
f.close
else:
print "Error ... no name given"
raw_input()
else:
sys.exit()
a = ""
return b
#---------------------------------------------------------------------
def decryptix(x): # Fonction de decryptage
y = len(x) / 2
b = x[-int(y):]
b = b[::-1]
#-----------------------------------------------Alpha
b = b.replace('ķ','a',sys.maxint)
b = b.replace('ľ','b',sys.maxint)
b = b.replace('Ľ','c',sys.maxint)
b = b.replace('ń','d',sys.maxint)
b = b.replace('ň','e',sys.maxint)
b = b.replace('Łǥ','f',sys.maxint)
b = b.replace('ĬȐ','g',sys.maxint)
b = b.replace('Ĥ','h',sys.maxint)
b = b.replace('ĥ','i',sys.maxint)
b = b.replace('Č','j',sys.maxint)
b = b.replace('Ĕ','k',sys.maxint)
b = b.replace('ᴕ','l',sys.maxint)
b = b.replace('ō','m',sys.maxint)
b = b.replace('ᵼ','n',sys.maxint)
b = b.replace('Ōƻ','o',sys.maxint)
b = b.replace('Ŕ','p',sys.maxint)
b = b.replace('ŕ','q',sys.maxint)
b = b.replace('řᵫ','r',sys.maxint)
b = b.replace('ŧ','s',sys.maxint)
b = b.replace('Ŧ','t',sys.maxint)
b = b.replace('Ũ','u',sys.maxint)
b = b.replace('ᴥ','v',sys.maxint)
b = b.replace('ţ','w',sys.maxint)
b = b.replace('Ů','x',sys.maxint)
b = b.replace('Ŷ','y',sys.maxint)
b = b.replace('ƃ','z',sys.maxint)
#-----------------------------------------------Num
b = b.replace('Ɖ','0',sys.maxint)
b = b.replace('ƍ','1',sys.maxint)
b = b.replace('ƕ','2',sys.maxint)
b = b.replace('Ƣ','3',sys.maxint)
b = b.replace('Ʃ','4',sys.maxint)
b = b.replace('ƪ','5',sys.maxint)
b = b.replace('Ɨ','6',sys.maxint)
b = b.replace('Ƴ','7',sys.maxint)
b = b.replace('ƴ','8',sys.maxint)
b = b.replace('Ƶ','9',sys.maxint)
#-----------------------------------------------Others
b = b.replace('ƺ','.',sys.maxint)
b = b.replace('dž','!',sys.maxint)
b = b.replace('Nj','?',sys.maxint)
b = b.replace('ǒ',',',sys.maxint)
b = b.replace('ǥ','é',sys.maxint)
b = b.replace('Ǻ','è',sys.maxint)
b = b.replace('Ȑ','à',sys.maxint)
b = b.replace('ȣ','ê',sys.maxint)
b = b.replace('ȸ','ù',sys.maxint)
b = b.replace('ȹ','(',sys.maxint)
b = b.replace('Ⱥ',')',sys.maxint)
b = b.replace('ɷ','/',sys.maxint)
b = b.replace('ᴤ',';',sys.maxint)
b = b.replace('ᴲ',':',sys.maxint)
b = b.replace('ᴽ',' ',sys.maxint)
b = b.replace("ᵻ","'",sys.maxint)
print b
save = raw_input("\n Save file (y/n) ? : ")
if save == "y" or save == "":
filename = raw_input(" Type a name for the new decrypted file : ")
if filename != "":
f = open(filename,"w")
f.write(b)
f.close
else:
print "Error ... no name given"
raw_input()
else:
sys.exit()
x = ""
return b
#####################################################################################################PAUSE ICI TROU DU CUL
#-----------------------------------------VAR
#----------------------Header
console_header = """
##############################
# #
# x.i.t.p.y.r.c #
# #
# version : 0.1 #
# Author : fr0g #
# Website : hwc-crew.com #
##############################
"""
#--------------------Menu
console_menu = """
Options :
---------------------------------------
- cfile / Crypt text file
- dfile / Decrypt text file
- r/read / Read file
- q/quit / Exit program
---------------------------------------
"""
#------------------Loop the program
program_loop = 1 # tant que la variable est a 1, le programme tournes.
#-----------------------------------------START
while program_loop == 1:
#-----------------------------------------fonction de nettoyage de la console
_sys = platform.system()
if _sys == "Linux":
os.system("clear")
elif _sys == "Windows":
os.system("cls")
else:
print "Little Error ... (unknown system ... (sorry, I'm a bad programmer ...))"
raw_input("Push Entr for continue ...")
#-----------------------------------------
print console_header
print console_menu
what_the_func = raw_input(" Choose your function : ") # Classe comme nom de variable non ? :p
#---------------------
if what_the_func == "q" or what_the_func == "quit":
program_loop = 0 # on stop le programme si l'utilisateur entre "q" (pour "quit")
#-----------------------------------------------------------------------------cf : Crypt File
elif what_the_func == "cfile" or what_the_func == "cf":
s_text = "" # declaration de la variable recuperant le contenu du fichier
x_file = raw_input(" Encrypt file : ") # variable recuperant le nom du fichier
try:
f = open(x_file,"r") # tentative d'ouverture du fichier en lecture
except:
print "\nError..."
raw_input()
else:
for line in f:
if len(s_text) == 0: # si la variable s_text est vide
s_text = line # on lui attribue en valeur : le contenu de la ligne lue
else: # sinon
s_text += line # on lui attribue en valeur son contenu + le contenu de la ligne lue
continue
f.close()
cryptix(s_text) # on lance le cryptage du texte
#-----------------------------------------------------------------------------df : Decrypt File
elif what_the_func == "dfile" or what_the_func == "df" :
s_text = "" # declaration de la variable recuperant le contenu du fichier
x_file = raw_input(" Decrypt file : ") # variable recuperant le nom du fichier
try:
f = open(x_file,"r") # tentative d'ouverture du fichier en lecture
except:
print "\nError..."
raw_input()
else:
for line in f:
if len(s_text) == 0: # si la variable s_text est vide
s_text = line # on lui attribue en valeur : le contenu de la ligne lue
else: # sinon
s_text += line # on lui attribue en valeur son contenu + le contenu de la ligne lue
continue
f.close()
decryptix(s_text) # on lance le decryptage du texte
#-------------------------------------------------------------- Fonction de lecture d'un fichier
elif what_the_func == "r" or what_the_func == "read":
fileread = raw_input(" type a file name to read : ")
if fileread != "":
f = open(fileread,"r")
_text = f.readlines()
f.close
print "\n"+ str(_text)+"\n"
raw_input("Push Entr to continue")
else:
print "Error ... no name given"
raw_input()
#--------------------------------------------------------------
else:
print "Error... (unknown command)"
raw_input()
#-----------------------------------------END
raw_input("\n thank you for using xitpyrc...")