Add dec and enc functions, encryption!

master
Pentium44 2021-04-06 02:58:02 -07:00
parent 21a5948394
commit a6a54ea05d
5 changed files with 120 additions and 3 deletions

View File

@ -38,6 +38,10 @@ at this moment!
* filedata=File '%filename%' is being moved to moo -> %filename% is populated as file.txt
* write "%filename%" "%filedata%" -> writes filedata contents to file.txt as expected.
* Decoding and encoding strings
* enc "Regular string" -> Converts to encrypted string 'Uhjvqds#xuulqj'
* dec "Uhjvqds#xuulqj" -> Converts back to 'Regular string'
Todo list
----
* Add in-script functions

View File

@ -19,3 +19,6 @@
#define TOKEN '%'
#define TOKEN_STR "%"
#define NULLBYTE '\0'
#define ENCOFFSET 3
#define ENCSTEPODD 2
#define ENCSTEPEVEN 2

View File

@ -9,10 +9,54 @@
#include "functions.h"
#include "util.h"
char *ss_encrypt(char *string)
{
int i;
int str_len;
str_len = strlen(string);
for(i = 0; (i < str_len && string[i] != NULLBYTE); i++)
string[i] = string[i] + ENCOFFSET;
for(i = 0; (i < str_len && string[i] != NULLBYTE); i+=3)
string[i] = string[i] - ENCSTEPODD;
for(i = 0; (i < str_len && string[i] != NULLBYTE); i+=4)
string[i] = string[i] + ENCSTEPEVEN;
return string;
}
char *ss_decrypt(char *string)
{
int i;
int str_len;
str_len = strlen(string);
for(i = 0; (i < str_len && string[i] != NULLBYTE); i++)
string[i] = string[i] - ENCOFFSET;
for(i = 0; (i < str_len && string[i] != NULLBYTE); i+=3)
string[i] = string[i] + ENCSTEPODD;
for(i = 0; (i < str_len && string[i] != NULLBYTE); i+=4)
string[i] = string[i] - ENCSTEPEVEN;
return string;
}
int process_line(char *line)
{
char *tok_srch = strtok(line, "=\" ");
/* reuse function */
/*else if(strncmp("temp",tok_srch,4) == 0)
{
tok_srch = strtok(NULL, " ");
}*/
/* if line starts with a comment, skip */
if(strncmp("#",tok_srch,1) == 0)
{
@ -42,6 +86,34 @@ int process_line(char *line)
sleep(atoi(tok_srch));
}
/* ss encrypt function */
else if(strncmp("enc",tok_srch,3) == 0)
{
char *var_conv;
tok_srch = strtok(NULL, "\"");
var_conv = parse_vars(tok_srch);
if(var_conv != NULL)
{
char *encrp;
encrp = ss_encrypt(var_conv);
printf("%s\n", encrp);
}
}
/* ss decrypt function */
else if(strncmp("dec",tok_srch,3) == 0)
{
char *var_conv;
tok_srch = strtok(NULL, "\"");
var_conv = parse_vars(tok_srch);
if(var_conv != NULL)
{
char *encrp;
encrp = ss_decrypt(var_conv);
printf("%s\n", encrp);
}
}
/* system execute function */
else if(strncmp("exec",tok_srch,4) == 0)
{

View File

@ -5,4 +5,6 @@
View README file supplied with this software for more details
*/
char *ss_encrypt(char *string);
char *ss_decrypt(char *string);
int process_line(char *line);

42
test.ss
View File

@ -1,18 +1,54 @@
#!/usr/bin/slidescript
# This is a comment
### These are variables in SS
# Sets 'ss_filename' to 'file.txt'
ss_filename=file.txt
ss_file_content=This will be written to %ss_filename% in due course!
ss_exec_command=ls -al
# Sets 'ss_exec_command' to 'ls -al'
ss_exec_command=uname -a
# Sets 'ss_decoded' to 'Encrypt This Data!'
ss_decoded=Decrypt This Data!
# Sets 'ss_encoded' to 'Ghfs~su#Yilv#Gduf$'
ss_encoded=Ghfs~su#Yilv#Gduf$
# Sets 'ss_file_content' to 'This will be written to file.txt!'
ss_file_content=Encrypted data: %ss_encoded%
print "Writing '%ss_file_content%' to '%ss_filename%'"
### The main program ###
# Prints 'Writing 'This will be written to file.txt!'
# to 'file.txt'
print "Sleeping before writing '%ss_file_content%' to '%ss_filename%'"
# Pauses the script parse for x seconds, in this case 1.
sleep 1
# Writes the content of ss_file_content to ss_filename
write "%ss_filename%" "%ss_file_content%"
print "Data written to %ss_filename%:"
# Reads data and prints to screen from ss_filename
read "%ss_filename%"
print "Deleting %ss_filename% after 1 second sleep..."
# Sleep again for the giggles :P
sleep 1
# Deletes file written previously from ss_filename
delete "%ss_filename%"
print "Deleted %ss_filename%, executing '%ss_exec_command%' in 1 second"
# Sleep some more
sleep 1
# Executes the ss_exec_command variable data, 'ls -al'
exec "%ss_exec_command%"
print "Encoding '%ss_decoded%' in 1 second"
# More snooze
sleep 1
# Encodes 'ss_encode' data
enc "%ss_decoded%"
print "Decoding '%ss_encoded%'"
# Decodes 'ss_decode' data
dec "%ss_encoded%"