3wplayer, trying to get around it
Those of you who download a movie here or there might have spotted a few movies that won’t play using the regular media-players. They only play a short (20 second) clip showing the following text “This media file can only be played using 3wPlayer that is completely FREE … Please visit go.play3w.com to download!”.

The 3wplayer tries to install a shitload of spyware, which my IDS/Virusscanner blocked (I knew it was spyware, and I knew it would block it, don’t try this at home). However, after you have installed the 3wplayer (without spyware enabled) it will actually play the movie.
Now in the 2 times I’ve encountered a 3wplayer movie so far, the first time it was actually the movie advertised, just today I got a second, which turned out to be a german dub of Final Destination, which isn’t what the movies filename would suggest (Transformers [2007][Unrated]DvDrip[Multi-Language].avi).
As it seems that the files in question are actual movies, there must be some way to convert/hack these back to regular avi’s. The 3wplayer isn’t complex enough to have it’s own codecs, so I’m quite sure it’s still just regular divx/xvid with mp3 audio. I’ll be looking into ways to convert the 3wplayer movies to regular avi’s… any hints, tips and idea’s are more then welcome.
Updates here as I find stuff… in the mean-time… comment on the torrent-sites when you encounter 3wplayer files, lets try to get them off the networks.
Update:
You can download my 3wdecode (zip) here.



10 seconds in google (I actually found this blog with the same search query:
http://forum.mininova.org/index.php?s=99f59fecce3ac574bb6cb5ce717e4265&showtopic=234994521&pid=269312&st=0
Just install activeperl and you’re ready to roll.
Daan
27 Jun 07 at 01:13
Hmm… I did some googling before I posted this, but my searches didn’t turn up anything. I’ve tested the perl-script and indeed it works for this file.
Never hurts to have more pointers to it in google… and I’ll see if it needs improvement and post updates when required.
Script output:
maniac
27 Jun 07 at 07:36
That Code from the link is GREAT. Use the updated code further down the page – MUCH Faster!
cAm
2 Jul 07 at 07:30
Here’s the version I’m currently using…
#!/usr/bin/perl
# Turn of output buffer
$|++;
# The key for XOR decryption
my $key = 'UIERYQWORTWEHLKDNKDBISGLZNCBZCVNBADFIEYLJ' . chr(0);
print "Reading from "$ARGV[0]":\n";
$insize = -s $ARGV[0];
# Open the bogus AVI file
open(IN, $ARGV[0]) or die $!;
binmode IN;
# Read Header to check
read(IN, $buffer, 4);
if ($buffer ne 'RIFF') {
print " ERROR: "$ARGV[0]" is not an AVI\n";
close IN;
exit(1);
}
# Get Length of the unencrypted movie
read(IN, $buffer, 4);
$offset = unpack 'L', $buffer;
print " End of the unencrypted movie is at byte offset $offset\n";
# Jump to the read offset
seek(IN, $offset, 0);
# The next 4 or 8 Bytes seem to be either an unsinged long
# or an unsigned quad. This is another offset to jump
# over some filler bytes. Right now I can't really tell if
# it's 4 or 8 bytes, because I only have 1 file to test with.
# I assume it's a quad.
# low word
read(IN, $buffer, 4);
$offlo = unpack 'L', $buffer;
# high word
read(IN, $buffer, 4);
$offhi = unpack 'L', $buffer;
# Calculate offset
$offset = $offhi * 4294967296 + $offlo;
print " Offset after the unencrypted movie is $offset\n";
seek(IN, $offset, 0);
# Then there seem to be another 100 filler bytes
# with value 0xff. Jump over those too, to get
# to the offset where the real movie starts.
printf " Adding extra filler bytes, final offset is %s\n", $offset+100;
seek(IN, 100, 1);
# Update the size
$insize -= $offset+100;
# Open a file for writing the decrypted data to
print "Decrypting to "$ARGV[1]":\n";
open(OUT, ">$ARGV[1]");
binmode OUT;
truncate OUT, 0;
$bytes = 0;
$klen = length($key);
# Read key length bytes, decrypt them and
# write them to the output file untill you reach
# the end of the file
while ( read(IN, $buffer, $klen) ) {
$buffer ^= $key;
print OUT $buffer;
$bytes += $klen;
# print the status
if ( ( $bytes % 200000 ) == 0 )
{
printf "\r %d written (% .1f %%)", $bytes, ($bytes / $insize * 100);
}
}
# Close both files
close OUT;
close IN;
print "\n\nDONE!\n";
maniac
2 Jul 07 at 14:04
I also have found 3wplayer to be spyware. I contacted customer support and they claim there was no trojan installed. I also told them what I found and what scanner I used. Further in the response He asked me to tell him what I found and what I scanned with. Apparently he has had so many complaints he doesnt have time to read them and just responds with a standard post. Anyway this decryption seems difficult wouldnt dvddecrypter be easier? I found googling dvddecrypter lead to a dead link but googling setup.dvddecrypter.exe found what I needed. I am going to try using this decrypter and will let you know…….
Jason
4 Jul 07 at 22:13
DVD-Decryptor does something completely different… it decodes css, which is actual crypto… the 3wplayer guys didn’t even bother to build something sophisticated, they used XOR encryption, with a very short encryption key.
The above perl-script will decode all 3wplayer movies to date… dvd-decrypter will not decode a single-one, because that’s not what it does… it’s for published css-encrypted dvd’s
maniac
5 Jul 07 at 00:33
Maniac, I’m new to the world of Perl but I got it running on my Windows based machine, can you post a finished script for any movie.avi so I can get started here and compare. Thanks
SPANKY
8 Jul 07 at 02:19
The 2nd comment contains the scripts output as an example. I’ve uploaded my version of the 3wdecode script here.
maniac
8 Jul 07 at 13:51
Could you please tell me very basically how I run the above Perl script to decode a movie.avi . I’m confused about loading the movie.avi into Perl?
Please help….If you could explain the steps to me
afterdarker
16 Jul 07 at 01:28
It’s easy. Copy and paste the above code into a text editor and save it with a filename of decode.pl . That is your “script”.
Follow these intructions to install active perl:
http://ocw.mit.edu/NR/rdonlyres/Health-Sciences-and-Technology/HST-508Genomics-and-Computational-BiologyFall2002/B44ACE1A-438D-4AA4-93E6-60E568BF10CA/0/gettingperlstarted.pdf
copy the encrypted file and the script to a folder called c:\perl
from start>run type cmd to open your dos prompt.
type… cd c:\perl to change the directory
then type… perl decode.pl movie_filename.avi filename_fixed.avi
Thats about it!
Frank
1 Aug 07 at 13:38
Hey thanx a lot, i’m new to this but figured out how to do it even though i spend almost and hour to figure out how, the decode.pl file and the other video file should be in the same folder guys it’ll work perfectly, thanx all..
gknight2007
6 Aug 07 at 19:58
The code by Maniac worked a treat, just a pity the arsehole who uploads these movies either doesn’t have a clue what he is uploading or is a fraud just trying to get into your system! Downloaded what was listed as Shrek 3, turned out to be The Shooter!!
Shagedout
7 Aug 07 at 12:26
Hey i have downloaded the simpsons movie but it had the play3w text so i have copied and saved the script from above but when i run it it comes up with cannot open file at c:\perl\decode.pl line 11 as you can tell i am new to this could you please help
Streeter
10 Aug 07 at 12:19
Thanks Maniac, for your code and thanks Frank for how to use it.
)
Worked a treat. Have recovered 3 movies with that ****** 3wplayer screen. Great work
Ranger2Zero
11 Aug 07 at 13:32
Code has stoped working for me, possibly encryption key has been changed. Due now it was working well but I think that ugly guys who’re uploading crap movies just changed encryption key. Any solution about it? How to find a proper key to do decryption?
CrAsH
14 Aug 07 at 10:53
These days lot of video files are circulating on internet specially on torrent
which can only be played in 3wPlayer. In fact they force us to download their
player to watch the video. 3WPlayer software contain malware and is not
advised to install it. After 16 hours search on google i have made this AIO
of conversion utilities which will convert these files for normail viewing
on your computer.
Rapidshare:
http://rapidshare.com/files/48936706/3wplayer_Movies_Converters_AIO.rar.html
or
Bravoshare:
http://bravoshare.net/down.php?query=3025900000000090
or
Megaupload:
http://www.megaupload.com/?d=OTW1Z5CU
or
Depositfiles:
http://depositfiles.com/files/1488414
or
Unrar Password: m_ikhlas80@hotmail.com
Size: 5.43mb
Muhammad Ikhlas
14 Aug 07 at 17:02
Do not download 3Wplayer. It contains Malware.
There is a software tool which can convert 3wplayer files back to normal video files. I tried it on many videos which could only be played on 3w player and it converted them all successfully, although a little slow. You can download it from here:
http://www.topdownloads.net/index/software/view.php?id=121109
It is a clean software without any spyware or adware. I hope this info will help.
ashbey
16 Aug 07 at 15:52
Guyz I need help here .. I know nothing about perl and programming or coding languages and am using Mac OSX ..
I’ve just downloaded active perl can someone guide me for the next step ..
I have 2 movies that I need to decrypt No reservations & Ratatouille
toootey
2 Sep 07 at 01:41
MANIAC … you rock! worked on first attempt.
Doc Insanity
2 Sep 07 at 01:43
Maniac,
Excellent job!
danander11
7 Sep 07 at 01:25
Simple and fast.. just beautiful. Thanks.
BM
7 Sep 07 at 22:47
All hail maniac!
Thanks for addressing this scourge of the internet and bringing it to it’s knees.
Many thanks. (deep bow)
wiseguy
wiseguy
10 Sep 07 at 02:20
http://www.topdownloads.net/index/software/view.php?id=121109
check out this one…
Have not completed a full movie myselfe, yet…
Egil H
11 Sep 07 at 22:34
just writing in to give props. i don’t understand programing at all. i cant even type without looking at my keyboard. i just read Franks how to and decoded one of those 3wPlayer movies fast and e-z
-cheers
sid
15 Sep 07 at 08:03
I still don’t know how to use the activeperl I got a lot of movies that won’t play because of that damn 3w client. Can some one help me
Maximus
16 Sep 07 at 15:21
Hi,
I downloaded a movie file and it asked me to download 3wplayer. Not sure why, but my senses told me something is wrong, I try googling and came across your blog… I tried whatever instruction were given, even copied the script that you have uploaded. When i tried running it it gave me this….
C:\Perl>perl decode.pl Resident_Evil.avi Resident_Evil_Fixed.avi
Reading from “Resident_Evil.avi”:
ERROR: “Resident_Evil.avi” is not an AVI
C:\Perl>
Aryan
21 Sep 07 at 15:31
That’s interesting .. the result of having a slow computer and a fast internet just made the download of a new 350mb file faster than converting the same file… hehe … but it worked fine after converting.
Leonardo
25 Sep 07 at 15:53
why would it be odd that decrypting a file and resaving it would be slower than just data transfer?
yano
27 Sep 07 at 02:52
Hi, I have written a small console application for converting – standalone exe, no runtimes required. http://rapidshare.com/files/59087247/3wpconvert.zip
C source included.
p
29 Sep 07 at 16:58
I downloaded a movie file and it asked me to download 3wplayer. Not sure why, but my senses told me something is wrong, I try googling and came across your blog… I tried whatever instruction were given, even copied the script that you have uploaded. When i tried running it it gave me this:
Reading from “jesse_james.avi”:
ERROR: “jesse_james.avi” is not an AVI
if you have an answer my yahoo messenger id is bogdan_u2003
bdn07
4 Oct 07 at 09:00
I downloaded a movie file and it asked me to download 3wplayer. Not sure why, but my senses told me something is wrong, I try googling and came across your blog… I tried whatever instruction were given, even copied the script that you have uploaded. When i tried running it it gave me this:
Reading from “movie.avi”:
ERROR: “movie.avi” is not an AVI
plz sned my answer at amoghmanjunath@hotmail.com
mog
19 Oct 07 at 09:50
Got the same “is not an AVI” error; I think they updated their code…
Deuz
20 Oct 07 at 15:56
some plz help on the ERROR: “movie.avi” is not an AVI
mog
21 Oct 07 at 10:46
Yeah I made it! Thnh, but movie was not Shoot’em Up, but some German drama(( But anyway it was interesting to convert.
harv
22 Oct 07 at 02:19
Any one explain us more,how to enter commandes in Dos
Also any solution for the ERROR:( “movie.avi” is not an AVI)
goolki
22 Oct 07 at 16:40
I am trying to convert a movie and i get this error perl is not recognized as an internal or external command then it says something about a batch error. I dont believe that my system path is right but cant figure out how to fix it. Ive been at this for 2 hours now and cant get it. Any help would be appreciated.
anthony
21 Nov 07 at 19:32
also i am running vista
anthony
21 Nov 07 at 21:05
Lots of the problems posted above relate to the way Vista handles the .pl file.
On my Vista box I encountered a error – I saved a normal notepad session as “decode.pl”. But Vista “kindly” saved it as “decode.pl.txt but only “decode.pl” was visible at first glance! (Checked file properties to be sure)
Changed my command from:
>perl decode.pl Movie.avi Movie_fixed.aviperl decode.pl.txt Movie.avi Movie_fixed.avi
Danny
5 Dec 07 at 12:03
I am trying use 3wdecode with windows powershell as my cmd prompt & ActivePerl 5.10.0 Build 1001 for my perl to convert a file.
I am typing: “perl 3wdecode.pl filename.avi filenamefix.avi”.
I am getting the following error:
“no such file name or directory at 3wdecode.pl line 11″
jason
29 Dec 07 at 10:35
DEAR P
I TRIED USING YOUR PROGRAM, IT GIVES ME WINDOWS ERROR, “3wpconvert.exe has encountered a problem and needs to close. We are sorry for the inconvenience.”
Please note the file is along with source,
I use Intel 3.0 Ghz processor with 1 Gb Ram, Windows XP with sp2
Sachine
29p
September 29th, 2007 at 16:58
Hi, I have written a small console application for converting – standalone exe, no runtimes required. http://rapidshare.com/files/59087247/3wpconvert.zip
C source included.
smestarz
31 Dec 07 at 16:08
thanks maniac..
works like a treat! sad part of the decoding was Oceans 13 turned out to be Shrek 3! lol!
ukvikas
13 Jan 08 at 21:36
Also, for other’ info.. I used ActivePerl 5.10 and Vista Home Premium. The perl script (decode.pl) did give me prblem initially, but I just deleted the file and created another and pasted the updated code and saved. This time it ran flawlessly.
Hope that helps.
ukvikas
13 Jan 08 at 21:47
Hi, tried running the perl script and the 3wPlayer converter (which i downloaded)but the file it kicks out when its completed still hasn’t been hacked. I’ve tried this on a couple of 3wplayer avi’s and it just doesn’t hack them? Grrrr! Have 3wplayer grown a brain and upgraded there encryption, freckin Shysters!! Getting between me and my Lost! I’m running xp.
Can anybody help?
Cheers
Stevie
1 Feb 08 at 21:42
Any way to convert 3w on a Mac?
Mitch
mitch
29 Aug 08 at 07:18
Stevie, have you tried the “new” code?.. In this comment here: http://blog.maniac.nl/2007/06/26/3wplayer/#comment-651
ps. Also in the comments and you can try Google, there are (now) other ways/programs to achieve this.
nimd4
27 Nov 08 at 01:03
Excellent piece of code. Anyone have some perl code for playing the .avi afterwards?
Regards Steve
Steve_BZ
30 Jan 09 at 22:49
Why would you want or need perl code for playing the .avi ?
Just play it in your preferred media player (vlc, mplayer(classic), windows media player, …)
foobar
2 Feb 09 at 15:38
Thanks maniac and Frank.
Works a treat.
Volume
17 Sep 09 at 12:22
Thanks for the C code. I do not have perl installed so i tried with the C . . . .
still running . . .
Thanks again for the great code guys….
nsk
15 Mar 10 at 03:45
Still works great !!!
MeMyself
17 Aug 10 at 23:22
I’m more amazed by the fact that more than 3 years later play3w files are apparently still floating around on the internet.
I would expect this spam-company to have died years ago.
foobar
18 Aug 10 at 07:22