Author
Message
DM Corleone
Boot
Joined: 19 Jul 2004 Posts: 50 Location: Chicago, IL, USA
Cracking the VW codes I have written a few JavaScripts for cracking the VW codes.
I posted them at the www.thx-1138.org forum. I can post them here also if anyone is interested. Or, I can Private Message them to you as well.
-Don
_________________The Consumer Has The Factor Of Advantage!
SUBJECTE 6132 PREFIX GNK (TRUE PROVIDER)
Posted: Tue Aug 17, 2004 11:37 pm
SpaceBass
The BADministrator
Joined: 20 Sep 2002 Posts: 2639 Location: pellucidar
I'd love to see them if you don't mind putting them up as an attachment or something. That, or a direct deeplink to them at thx would rule.
_________________
Alternate Reality Gaming
http://www.unfiction.com/
Posted: Wed Aug 18, 2004 12:23 am
DM Corleone
Boot
Joined: 19 Jul 2004 Posts: 50 Location: Chicago, IL, USA
I posted them using the CODE display. Each is only about 15-20 lines long.
I'm not sure how to do a "direct deeplink."
-Don
_________________The Consumer Has The Factor Of Advantage!
SUBJECTE 6132 PREFIX GNK (TRUE PROVIDER)
Posted: Wed Aug 18, 2004 12:30 am
AnthraX101
Entrenched
Joined: 18 Mar 2003 Posts: 797
Here they are, from DM Corleone :
Code:
<html>
<head>
<title>VW to Solve - 5 Digit ++ Ver. 1.3 ++</title>
<script LANGUAGE = "JavaScript">
function vwToBinary (vw) {
vw = vw.toLowerCase();
vwBin = "";
for (i=0; i<vw.length;i++) {
bit = ((vw.charAt(i)=="v")?0:1);
vwBin += bit;
}
return vwBin;
}
function binaryToDecimal (binText) {
var decVal = 0;
for (y=binText.length;y>0;y--) {
decVal += parseInt(binText.charAt(binText.length-y))*Math.pow(2,y-1);
}
return decVal;
}
function decimalToText (input) {
var textCode = "vxm.gboqpyhwlzt.cfnjrd.uis.a.e@@@@"
output = textCode.charAt(input-1);
return output;
}
</script>
</head>
<body>
<script LANGUAGE = "JavaScript">
vwCode = prompt ("Enter A Line of VW Text:");
for(x=0;x<(vwCode.length/5);x++) {
// document.write(x+" "+vwCode.substring((x*5),(x*5+5))+" ");
binCode = vwToBinary(vwCode.substring((x*5),(x*5+5)));
// document.write(binCode+" ");
decCode = binaryToDecimal(binCode);
// document.write(decCode+" ");
textCode = decimalToText(decCode);
document.write(textCode);
document.write(" ");
// document.write("<br>");
}
</script>
</body>
</html>
Code:
html>
<head>
<title>VW to Solve - 6 Digit ++ Ver. 2.1 ++</title>
<script LANGUAGE = "JavaScript">
function vwToBinary (vw) {
vw = vw.toLowerCase();
vwBin = "";
for (i=0; i<vw.length;i++) {
bit = ((vw.charAt(i)=="v")?1:0);
vwBin += bit;
}
return vwBin;
}
function binaryToDecimal (binText) {
var decVal = 0;
for (y=binText.length;y>0;y--) {
decVal += parseInt(binText.charAt(binText.length-y))*Math.pow(2,y-1);
}
return decVal;
}
function decimalToText (input) {
var textCode = ".abcdefghijklmnopqrstuvwxyz@@@@"
input = Math.ceil((input)/2);
output = textCode.charAt(input);
return output;
}
</script>
</head>
<body>
<script LANGUAGE = "JavaScript">
vwCode = prompt ("Enter A Line of VW Text:");
for(x=0;x<(vwCode.length/6);x++) {
// document.write(x+" "+vwCode.substring((x*6),(x*6+6))+" ");
binCode = vwToBinary(vwCode.substring((x*6),(x*6+6)));
// document.write(binCode+" ");
decCode = binaryToDecimal(binCode);
// document.write(decCode+" ");
textCode = decimalToText(decCode);
document.write(textCode);
document.write(" ");
// document.write("<br>");
}
</script>
</body>
</html>
Code:
<html>
<head><title>VW to Solve - 7 Digit ++ Ver. 1.2 ++</title>
<script LANGUAGE = "JavaScript">
function vwToBinary (vw) {
vw = vw.toLowerCase();
vwBin = "";
for (i=0; i<vw.length;i++) {
bit = ((vw.charAt(i)=="v")?1:0);
vwBin += bit;
}
return vwBin;
}
function binaryToDecimal (binText) {
var decVal = 0;
for (y=binText.length;y>0;y--) {
decVal += parseInt(binText.charAt(binText.length-y))*Math.pow(2,y-1);
}
return decVal;
}
function decimalToText (input) {
var textCode = ".abcdefghijklmnopqrstuvwxyz@@@@"
input -= 64
output = textCode.charAt(input);
return output;
}
</script>
</head>
<body>
<script LANGUAGE = "JavaScript">
var digit = 7;
vwCode = prompt ("Enter A Line of "+digit+"-Digit VW Text:");
for(x=0;x<(vwCode.length/digit);x++) {
// document.write(x+" "+vwCode.substring((x*digit),(x*digit+digit))+" ");
binCode = vwToBinary(vwCode.substring((x*digit),(x*digit+digit)));
// document.write(binCode.length+" ");
// document.write(binCode+" ");
decCode = binaryToDecimal(binCode);
// document.write(decCode+" ");
textCode = decimalToText(decCode);
document.write(textCode);
document.write(((x+1)/40==(Math.round((x+1)/40)))?"<br>":" ");
}
</script>
</body>
</html>
Code:
<html><head><title>VW String Length Factoring Program ++ ver 1.3 +++</title></head>
<body>
<script LANGUAGE = "JavaScript">
vw = prompt("Enter a line of VW Text:");
factor = new Array (vw.length);
for (a=0;a<(vw.length/40);a++) {
document.write(a+": ");
for (b=0;b<40;b++) {
document.write(vw.charAt((a*40)+b));
}
document.write("<br>");
}
// document.write("Text: "+vw+"<br><br>");
document.write("Length: "+vw.length+"<br><br>");
for (i=1;i<=vw.length;i++) {
factor[i] = ((vw.length/i == Math.round(vw.length/i)) ? 1 : 0);
}
for (i=1;i<=vw.length;i++) {
if (factor[i]==1) {
document.write(i+" x "+vw.length/i+" = "+vw.length+".<br>");
}
}
</script>
</body>
</html>
AnthraX101
_________________VGhlcmUgaXMgbm8gc3Bvb24u
ll----ll--ll--ll----l---ll---llll---ll--l--ll---llll-ll-l-ll-llll--l-.
Posted: Wed Aug 18, 2004 6:58 am
AnthraX101
Entrenched
Joined: 18 Mar 2003 Posts: 797
Here are some perl scripts I used, based on Stormalong's work :
(The following should convert every 6 character code into a standard cryptogram. If you change $piece = substr($line, 0, 6, ""); to some other count, it should work for the other lengths)
Code:
#!/usr/bin/perl
$line = $ARGV[0];
$line =~ s/W/1/g;
$line =~ s/V/0/g;
$temp = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz12345678901111111111111111111111111111111111111111111111111111111";
#$temp = "ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba";
$count = 0;
$low = 100;
$high = 0;
while ($line ne "") {
$piece = substr($line, 0, 6, "");
$val = `echo "ibase=2; $piece" | bc`;
chop $val;
@list[$count] = $val;
$count = $count + 1;
}
$count = 0;
foreach $val (@list)
{
#$val = ($val+$rot)%52;
$c = substr($msg, $val-1, 1);
if (!($trans[$val] =~ /./)) {
$trans[$val] = substr($temp, $val-1, 1);
$count = $count + 1;
if ($val > $high) { $high = $val; }
if ($val < $low) { $low = $val; }
}
@count[$val] = @count[$val] + 1;
print "$trans[$val] $val\n";
$result .= $trans[$val];
}
print "$result\n";
print "Count: $count High: $high Low: $low\n";
$count = 0;
foreach $test (@count)
{
print "$count: $test\n";
$count = $count+1;
}
AnthraX101
_________________VGhlcmUgaXMgbm8gc3Bvb24u
ll----ll--ll--ll----l---ll---llll---ll--l--ll---llll-ll-l-ll-llll--l-.
Posted: Wed Aug 18, 2004 7:03 am
DM Corleone
Boot
Joined: 19 Jul 2004 Posts: 50 Location: Chicago, IL, USA
Thanks, Anthrax for posting my and your programs.
Mine can be run on any newer browser. Just cut and paste the code into NOTEPAD (or similar simple editor) and save as an html file.
-Don
_________________The Consumer Has The Factor Of Advantage!
SUBJECTE 6132 PREFIX GNK (TRUE PROVIDER)
Posted: Wed Aug 18, 2004 11:25 am
DM Corleone
Boot
Joined: 19 Jul 2004 Posts: 50 Location: Chicago, IL, USA
I just completed a new JavaScript program that force-decodes all VW messages. It gives four outputs: 5-digit, 6-digit(26x2), 6-digit(5x5) and 7-digit. Three of the outputs will be rubbish, one should be the correct solve.
If anyone is interested, please let me know. I haven't posted it anywhere yet. I will post it if there is interest.
Also, I hope to update this multi-solver if and when SEN uses new Filters.
-Don
_________________The Consumer Has The Factor Of Advantage!
SUBJECTE 6132 PREFIX GNK (TRUE PROVIDER)
Posted: Sun Aug 22, 2004 10:32 pm
ProfMoriarty
Veteran
Joined: 19 Aug 2004 Posts: 103
I think that would be most beneficial. Please post And thanks!
Posted: Sun Aug 22, 2004 10:50 pm
DM Corleone
Boot
Joined: 19 Jul 2004 Posts: 50 Location: Chicago, IL, USA
Here is the Multi-solver. Simply copy and paste it into notepad (or similar simple editor) and save it as <filename>.html.
Run it in any newer browser. It'll choke on spaces and/or returns, so edit them out of the VW code beforehand.
Let me know if you run into any problems with it.
Code:
<html>
<head>
<title> VW Code Solver - Tri-Digit ++ ver 1.1 ++ </title>
<!-- Many Thanks to CALEB and STORMALONG for their Code-Solving Abilities -->
<script LANGUAGE="JavaScript">
function vwToBinary (vw) {
vw=vw.toLowerCase();
var vwBin = "";
for (a=0;a<vw.length;a++) {
bit = ((vw.charAt(a)=="v")?1:0);
vwBin += bit;
}
return vwBin;
}
function binaryToDecimal (binText) {
var decVal = 0;
for (b=binText.length;b>0;b--) {
decVal += parseInt(binText.charAt(binText.length-b))*Math.pow(2,b-1);
}
return decVal;
}
function decimalToText (input,mode) {
switch (mode) {
case 5:
var textCode = "Ze.a.siu.drjnfc.tzlwhypqobg.mxv@@@@@";
input = ((input<0 || input > 30) ? 0 : input);
break;
case 6.1:
var textCode = "Zabcde.....fghij.....klmno.....pqrst.....uvqxyz....z@@@@";
input -= 10;
input = ((input<0 || input >51) ? 0 : input);
break;
case 6.2:
var textCode = "Zabcdefghijklmnopqrstuvwxyz@@@@";
input = Math.ceil(input/2);
input = ((input<0 || input>26) ? 0 : input);
break;
case 7:
var textCode = "Zabcdefghijklmnopqrstuvwxyz@@@@";
input -= 64;
input = ((input<0 || input>26) ? 0 : input);
break;
}
output = textCode.charAt(input);
return output;
}
</script>
</head>
<body>
<script LANGUAGE="JavaScript">
vwCode = prompt ("Enter A Line Of VW Text:");
for (z=0; z<4; z++) {
switch (z) {
case 0:
document.write("<h1>VW 5-Digit Solve</h1>");
digit = 5;
m = 5;
break;
case 1:
document.write("<h1>VW 6-Digit 5x5 Solve</h1>");
digit = 6;
m = 6.1;
break;
case 2:
document.write("<h1>VW 6-Digit 26x2 Solve</h1>");
digit = 6;
m = 6.2;
break;
case 3:
document.write("<h1>VW 7-Digit Solve </h1>");
digit = 7;
m = 7;
break;
}
for (y=0;y<(vwCode.length/digit);y++) {
// document.write(y+": "+vwCode.substring((y*digit),(y*digit+digit))+ " ");
binCode = vwToBinary(vwCode.substring((y*digit),(y*digit+digit)));
// document.write (binCode+" ");
decCode = binaryToDecimal(binCode);
// document.write(decCode+" ");
textCode = decimalToText(decCode,m);
document.write(textCode);
document.write(((y+1)%60 == 0)?"<br>":" ");
// document.write("<br>");
}
}
</script>
</body>
</html>
If you want to watch it work, remove the double slashes (//) toward the end of the program.
-Don
_________________The Consumer Has The Factor Of Advantage!
SUBJECTE 6132 PREFIX GNK (TRUE PROVIDER)
Posted: Mon Aug 23, 2004 11:13 am
DM Corleone
Boot
Joined: 19 Jul 2004 Posts: 50 Location: Chicago, IL, USA
Another Tool Here is another tool for solving the VW codes.
It displays the length of the text, and the factors (either 5, 6 or 7) of the length (to help determine the length of the binary words).
It then converts the VW text to Decimal numbers with v=1, w=0.
It will output the results for either a 5-digit, 6-digit or 7-digit code. You have to choose which one fits.
Code:
<html>
<head>
<title> VW To Decimal (Short Output With Factors) ++ ver 1.3 ++ </title>
<script LANGUAGE="JavaScript">
function vwToBinary (vw) {
vw=vw.toLowerCase();
var vwBin = "";
for (a=0;a<vw.length;a++) {
bit = ((vw.charAt(a)=="v")?1:0);
vwBin += bit;
}
return vwBin;
}
function binaryToDecimal (binText) {
var decVal = 0;
for (b=binText.length;b>0;b--) {
decVal += parseInt(binText.charAt(binText.length-b))*Math.pow(2,b-1);
}
return decVal;
}
</script>
</head>
<body>
<script LANGUAGE="JavaScript">
vwCode = prompt ("Enter A Line Of VW Text:");
document.write("<h3>Length: "+vwCode.length+"</h3>");
for (x=5;x<=7;x++) {
document.write((vwCode.length%x==0)?"<h3>Factor: "+x+"</h3>":"");
}
document.write("<hr>");
for (digit=5; digit<=7; digit++) {
document.write ("<h2>Factor: "+digit+"</h2>");
for (y=0;y<(vwCode.length/digit);y++) {
// document.write(y+": "+vwCode.substring((y*digit),(y*digit+digit))+ " ");
binCode = vwToBinary(vwCode.substring((y*digit),(y*digit+digit)));
// document.write (binCode+" ");
decCode = binaryToDecimal(binCode);
document.write(decCode);
document.write((((y+1)%20)==0)?"<br>":" ");
}
}
</script>
</body>
</html>
I hope this works for you.
-Don
_________________The Consumer Has The Factor Of Advantage!
SUBJECTE 6132 PREFIX GNK (TRUE PROVIDER)
Posted: Wed Aug 25, 2004 12:27 pm
DM Corleone
Boot
Joined: 19 Jul 2004 Posts: 50 Location: Chicago, IL, USA
Here is a newer version of the decimalizer program.
It works with groups from 4 to 12. V=1.
It might bog down your browser. I hope it works well for you.
Code:
<html>
<head>
<title> VW To Decimal (Short Output With Factors) ++ ver 1.4 ++ </title>
<script LANGUAGE="JavaScript">
function vwToBinary (vw) {
vw=vw.toLowerCase();
var vwBin = "";
for (a=0;a<vw.length;a++) {
bit = ((vw.charAt(a)=="v")?1:0);
vwBin += bit;
}
return vwBin;
}
function binaryToDecimal (binText) {
var decVal = 0;
for (b=binText.length;b>0;b--) {
decVal += parseInt(binText.charAt(binText.length-b))*Math.pow(2,b-1);
}
return decVal;
}
</script>
</head>
<body>
<script LANGUAGE="JavaScript">
vwCode = prompt ("Enter A Line Of VW Text:");
document.write("<h3>Length: "+vwCode.length+"</h3>");
for (x=4;x<=12;x++) {
document.write((vwCode.length%x==0)?"<h3>Factor: "+x+"</h3>":"");
}
document.write("<hr>");
for (digit=4; digit<=12; digit++) {
document.write ("<h2>Factor: "+digit+"</h2>");
for (y=0;y<(vwCode.length/digit);y++) {
binCode = vwToBinary(vwCode.substring((y*digit),(y*digit+digit)));
decCode = binaryToDecimal(binCode);
document.write(decCode);
document.write((((y+1)%20)==0)?"<br>":" ");
}
}
</script>
</body>
</html>
-Don
_________________The Consumer Has The Factor Of Advantage!
SUBJECTE 6132 PREFIX GNK (TRUE PROVIDER)
Posted: Mon Aug 30, 2004 11:00 pm
Display posts from previous: All Posts 1 Day 1 Week 2 Weeks 1 Month 3 Months 6 Months 1 Year Sort by: Post Time Post Subject Author Ascending Descending