Revision: 39985
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 24, 2011 12:53 by kyrathaba
Initial Code
using System;
using System.Diagnostics;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Windows.Forms;
namespace Kyrathasoft.Obfuscate {
public static class serTextManip {
private enum Operation{Serializing,Deserializing};
public static string DeserializeSerText(string filePath){
serText sert;
FileStream fStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.None);
try {
BinaryFormatter bFormatter = new BinaryFormatter();
sert = (serText)bFormatter.Deserialize(fStream);
filePath = sert.TheText;
if (sert.Shift) {
filePath = shifted(filePath,Operation.Deserializing);
}
if (sert.Reverse) {
filePath = stringReversed(filePath);
}
if ((sert.StartIndex > 0) || (sert.TheLength < sert.TheText.Length)) {
filePath = filePath.Substring(sert.StartIndex, sert.TheLength);
}
} catch (Exception exception) {
MessageBox.Show(exception.Message);
} finally {
if (fStream != null) {
fStream.Close();
}
}
return filePath;
}
public static void SerializeSerText(string filePath, serText stObject) {
serText st = stObject;
if(st.Reverse){ st.TheText = stringReversed(st.TheText);}
if (st.Shift) { st.TheText = shifted(st.TheText, Operation.Serializing); }
FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
try {
BinaryFormatter bFormatter = new BinaryFormatter();
bFormatter.Serialize(fs, st);
}
catch (Exception exception) {
MessageBox.Show(exception.Message);
}
finally {
if (fs != null) {
fs.Close();
}
}
//end SerializePlainText, next line
}
private static string stringReversed(string inputString) {
if (inputString == null) return null;
// this was posted by petebob as well
char[] array = inputString.ToCharArray();
Array.Reverse(array);
string s = string.Empty;
foreach (char c in array) {
s += c;
}
return s;
}
private static string shifted(string inputString, Operation op) {
string s = string.Empty;
char[] array = inputString.ToCharArray();
int i;
foreach (char c in array) {
if(op == Operation.Serializing){
i = Convert.ToInt32((int)c) + 1;
}else{
i = Convert.ToInt32((int)c)-1;
}
s += (char)i;
}
return s;
}
//end class next line
}
}
Initial URL
Initial Description
Initial Title
Text Obfuscation - Part II of II
Initial Tags
text
Initial Language
C#