| Th3_F0x |
| | Premetto che nn mi sono sforzato troppo per fare la gui xD Comunque, il programma se premete "Crypt" dovrebbe: 1-Chiedervi di sciegliere un file ( fatelo con una jpg o un exe così poi vedete subito se funziona ) 2-creare 4 file: uno denominato ceck che è il file originale convertito in binario e subito riconvertito in stringa ( apritelo e se è uguale al file originale allora non ci sono problemi per la codifica ), il secondo file ha lo stesso nome dell' originale ma è codificato in binario con estensione ".rvs", il terzo file è un INI file che contiene le " matrici di codifica ", il quarto ed ultimo file è il file codificato vero e proprio che ha come prefisso "compressed.". Se invece premete "De-Crypt" dovrebbe: 1-chiedervi di aprire un file con estensione ".rvsc" ( ovvero il file criptato ) 2-creare 2 file, il primo è il fille esteso in formato binario ( ovvero decodificato ma ancora in binario ) ed in fine un file chiamato ceck ma con estensione ".rvsc", se cancellate il file ceck con estensione originale e cambiate estensione al nuovo file, con quella del file che in origine avete scelto di codificare.... come per magia ( se! XD ) riavrete il file decodificato. La codifica è casuale e le matrici vengono salvate nell' ini file. dunque senza quel file ini è impossibile decodificare, ciò è utile se si vuole diffondere il file creiptato lasciando nelle proprie mani la matrice originale, in modo da poterlo decodificare solo noi. Provatelo ^^ ( si potevo togliere i file inutili e lasciare solo quelli criptati e decriptati, ma ho lasciato il programma come l'ho ideato in partenza, così che se qualcuno vuole analizzarne il procedimento, puo' farlo step to step ) p.s. eseguite il tutto all' interno della stessa cartella ( meglio se sul desktop ) CODICE: CODICE #Include <File.au3> #include <GUIConstantsEx.au3> GUICreate("Crypt This!",140,100) $c=GUICtrlCreateButton("Crypt",5,5,130,40) $d=GUICtrlCreateButton("De-Crypt",5,50,130,40) GUISetState(@sw_show) while 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $c _c() Case $d _d() EndSwitch WEnd
Func _c() ;============Per criptaz file===========By The fox=========== ;~ #Include <File.au3> Global $dirdrive,$dir,$FName,$ext $open=FileOpenDialog("",@scriptdir,"All (*.*)") _PathSplit($open,$dirdrive,$dir,$FName,$ext) $file=FileOpen($open,0+16) $read=FileRead($file) FileWrite(@scriptdir&"\"&$FName&$ext&".rvs",StringToBinary($read)) ;============================================================ $file=FileOpen(@scriptdir&"\"&$FName&$ext&".rvs",0+16) $read=FileRead($file) FileClose($file) FileWrite(@scriptdir&"\Ceck"&$ext,"") $file=FileOpen(@scriptdir&"\Ceck"&$ext,2+16) FileWrite($file,BinaryToString($read)) ConsoleWrite(binarylen($read)) ;============Per criptaz file===========By The fox=========== $read=FileRead(@scriptdir&"\"&$FName&$ext&".rvs") Global $symb[20] $start=85000 $symb[1]="\" $symb[2]="!" $symb[3]="£" $symb[4]="$" $symb[5]="%" $symb[6]="&" $symb[7]="/" $symb[8]="(" $symb[9]=")" $symb[10]="=" $symb[11]="?" $symb[12]="^" $symb[13]="[" $symb[14]="]" $symb[15]="@" $symb[16]="#" $symb[17]="«" $symb[18]="»" $symb[19]="<" For $k=1 To 19 while 1 $i=Chr(Random(Asc("A"), Asc("F"), 1))&random(1,9,1) If StringInStr($read,$i) Then $arr=StringSplit($read,$i) ConsoleWrite($arr[0]&" - "&$i&" @ "&$start&@CRLF) if $arr[0] > $start Then ConsoleWrite($arr[0]&" CONFIRMED"&@CRLF) ExitLoop Else $start-=1000 EndIf EndIf sleep(10) WEnd $read=StringReplace($read,$i,$symb[$k]) IniWrite(@scriptdir&"\"&$Fname&".ini","S1",$i,$symb[$k]) Next FileWrite(@scriptdir&"\Compressed."&$Fname&".rvsc",$read) ;~ Exit FileClose($file) EndFunc
Func _d() Global $dirdrive,$dir,$FName,$ext $open=FileOpenDialog("",@scriptdir,"Compressed rvs (*.rvsc)") $read=FileRead($open) _PathSplit($open,$dirdrive,$dir,$FName,$ext) $arrName=StringSplit($Fname,".") $arrINI=IniReadSection(@ScriptDir&"\"&$arrName[2]&".ini","S1") For $i=1 to 19 sleep(10) $read=StringReplace($read,$arrINI[$i][1],$arrINI[$i][0]) ConsoleWrite($arrINI[$i][1]&" to: "&$arrINI[$i][0]&@CRLF) Next FileWrite(@ScriptDir&"\"&$arrName[2]&".Extended.rvse",$read) $file=FileOpen(@ScriptDir&"\"&$arrName[2]&".Extended.rvse",0+16) $read=FileRead($file) FileClose($file) FileWrite(@scriptdir&"\Ceck"&$ext,"") $file=FileOpen(@scriptdir&"\Ceck"&$ext,2+16) FileWrite($file,BinaryToString($read)) ConsoleWrite(binarylen($read)) FileClose($file) EndFunc
| | |
| |
|