rj
2015-03-14 15:58:01
I have a lot of passwords for a lot of different websites so I decided to create a simba script that can store your password (without storing your password in plain text, and not using one of the existing simba scramblers in simba, because you can also reverse most of them).
[spoiler=How it works]
This script using a very simple algorithm: It inserts random characters based off the keycode you entered, resulting in a scrambled string. For example lets say you have the string 'hello' and choose to use '1865' as your keycode. It will insert 1 random character before 'h', 8 random characters before 'e', 6 random characters before 'l' and so on.
[/spoiler]
The first script, outputs a string for you to store. Simply put the password you want to store into 'crunchString' and select a pin you want to use to deobfiscate the string.
[spoiler=string obfiscater]
When you want to deob the string, input it into this script:
[spoiler=deob]
You can only unscramble the string if you know the keycode you used to scramble it with. I'm working on a GUI for it ATM
[spoiler=How it works]
This script using a very simple algorithm: It inserts random characters based off the keycode you entered, resulting in a scrambled string. For example lets say you have the string 'hello' and choose to use '1865' as your keycode. It will insert 1 random character before 'h', 8 random characters before 'e', 6 random characters before 'l' and so on.
[/spoiler]
The first script, outputs a string for you to store. Simply put the password you want to store into 'crunchString' and select a pin you want to use to deobfiscate the string.
[spoiler=string obfiscater]
const
keyCode = 1865;
crunchString = 'Hello55';
//leave inject alone
inject = '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';
procedure crunch;
var
newStr, keyCodeString:string;
i, len, len2, k, count, strLength, rem, loopCount, a, d:integer;
begin
keyCodeString := IntToStr(keyCode);
rem := length(crunchString) mod length(keyCodeString);
for i := 1 to length(keyCodeString) do
len := len + strToInt(keyCodeString[i]);
for i := 1 to rem do
len2 := len2 + strtoInt(keyCodeString[i]);
loopCount := round(length(crunchString) / length(keyCodeString));
strLength := (loopCount * len) + len2 + length(crunchString);
setLength(newStr, strLength);
i := 0;
for a := 1 to loopCount do
for d := 1 to length(keyCodeString) do
begin
for k := 1 to (StrToInt(keyCodeString[d])) do
begin
i := i + 1;
newStr[i] := inject[random(length(inject)) + 1];
end;
i := i + 1;
count := count + 1;
newStr[i] := crunchString[count];
end;
for a := 1 to rem do
begin
for k := 1 to StrToInt(keyCodeString[a]) do
begin
i := i + 1;
newStr[i] := inject[random(length(inject)) + 1];
end;
i := i + 1;
count := count + 1;
newStr[i] := crunchString[count];
end;
writeln(newStr);
end;
begin
try
crunch;
except
end;
end.
[/spoiler]When you want to deob the string, input it into this script:
[spoiler=deob]
const
password = '';
keyCode = 1865;
type
TPassword = record
keyCode:integer;
contents:string;
end;
function TPassword.parse():string;
var
newStr, keyCodeString:string;
count, d, codeCount, l, l2:integer;
begin
keyCodeString := IntToStr(self.keyCode);
l := length(self.contents);
l2 := length(keyCodeString);
while (codeCount < l) do
for d := 1 to l2 do
begin
setLength(newStr, length(newStr) + 1);
count := count + 1;
codeCount := codeCount + StrToInt(keyCodeString[d]) + 1;
newStr[count] := self.contents[codeCount];
end;
d := 0;
result := newStr;
writeln(newStr);
end;
var pass:TPassword;
begin
pass.contents := password;
pass.keycode := keyCode;
try
pass.parse();
except
end;
end.[/spoiler] You can only unscramble the string if you know the keycode you used to scramble it with. I'm working on a GUI for it ATM
