Perl Wi*nz*y Scripts [Free]

drusepth

Newbie
Joined
Aug 12, 2008
Messages
4
Reaction score
1
I don't know how many of you use Win*zy, but I've used it with some success in the past. After lurking around this forum for quite some time, I thought I'd sign up and share my scripts for automating winzy functions.

To the mods: if this is in the wrong forum, please move it. If you don't feel it deserves to be moved, feel free to delete it.

When runnings the scripts: I recommend large sleep times in the scripts to reduce suspicious activity being reported. I've noticed that having sleep times less than 20 seconds when searching will occasionally bring up an "error" page, but anything larger than 20 seconds has never brought up the page. Also, if you're having any problems with any of the scripts, feel free to ask questions - I just want to help. If you like the scripts and they're working well for you, please thank me and I'll continue providing free scripts :)

Regarding the registering script: The referral is hardcoded in. It's been a while since I've written these scripts (and a month since I've coded them), but the line with the referral is the
Code:
$ua->default_header('Cookie' => "x=i%3D25745851; s=p9uh89vcf99a8qpr7rhpe5c6h3; c=10595597; r=i%3D145419%26c%3Df%26s%3D1",
line.
If you want to change it to refer to one of your own accounts, just visit your own referral link and copy your own cookie values in.

I'm sorry about the referral being hardcoded in, but I haven't tested if it works without a referral, I just assumed you needed one. If this is against the rules, I'm sorry - once again, feel free to delete this post.

Code:
#!/usr/bin/perl
# do-masters.pl
# by Drusepth
# Logs in with a set user:password and searches x times.
# Usage: `perl winzy-search.pl`;

# Time (in seconds) to sleep between searches: (Recommended 20-30)
$sleep_time = 20;
# Searches:
$searches = 150;

$email = '[email protected]';
$password = 'your_passw0rd';

use HTTP::Cookies;
use LWP::UserAgent;
$ua = LWP::UserAgent->new(agent => 'Mozilla/4.0 (compatible; Windows 5.1)');
$ua->cookie_jar(HTTP::Cookies->new());

$login_script = "https://account.winzy.com/zy_signin.php";
$data="user=" . $email . "&password=" . $password;
$req = new HTTP::Request 'POST', $login_script;
$req->content_type('application/x-www-form-urlencoded');
$req->content($data);
$res = $ua->request($req);
print "Starting to search...\n";

for ($j = 0; $j < $searches + 1; $j++) {
    # Go ahead and start searching:
    $req = HTTP::Request->new(GET => "http://search.winzy.com/search?q=drusepth&src=hd&x=0&y=0&osrc=hd");
    $res = $ua->request($req);
    if (!$res->is_success) {
        print "Search Failed: ", $res->status_line, "\n";
    }
    #if (($j % 5 == 0 and $j != 0) or ($j == $searches)) {
        print "* $j searches completed.\n";
    #}
    `sleep $sleep_time`;
}

Code:
#!/usr/bin/perl
# register-account.pl
# Registers x accounts on Winzy.com email EMAIL and password PASSWORD.
# Usage: `perl register-account.pl EMAIL PASSWORD REFERRER`;

# Configuration Options
    # Number of accounts to sign up with the script
    #  - Because there is no email validation, emails will be prepended
    #    with a number corresponding to it's ID.
    #     Example of 3 accounts set up with [email protected]:
    #       [email protected] [email protected] [email protected]
    #     You get the point.
    $number_of_signups = 5;
    # Page to request for signups:
    $signup_page = "https://account.winzy.com/newuser.html";
    # Name to use as a base (Choose something unique so it won't be taken)
    $name = "blah_blah_blah";
    # File to store username:password pairs:
    $userpass_file = "users.txt";
    # Time (in seconds) to sleep between making each account:
    $sleep_time = 5;
# End Configuration Options
# The rest of the code is protected by IdiotBlocker 2.9, Idiots Beware!

use LWP::UserAgent;
use HTTP::Cookies;
use HTTP::Request::Common;
$email = shift or die "Usage: perl register-account.pl EMAIL PASSWORD\n";
$password = shift or die "Usage: perl register-account.pl EMAIL PASSWORD\n";

$ua = LWP::UserAgent->new;
# User Agent Headers:
$ua->default_header('Cookie' => "x=i%3D25745851; s=p9uh89vcf99a8qpr7rhpe5c6h3; c=10595597; r=i%3D145419%26c%3Df%26s%3D1",
        'Referer' => "http://www.winzy.com/",
        'User-Agent' => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");

open (USERS, $userpass_file);
@current_accounts = <USERS>;
close USERS;

$email_domain = substr($email, index($email, '@') + 1);

foreach $user (@current_accounts) {
    $user_domain = substr($user, index($user, '@') + 1, index($user, ':') - index($user, '@') - 1);
    $temp++ if ($user_domain eq $email_domain);
}

for (0..$number_of_signups) {
    $id = $name . scalar @current_accounts . $temp;
    $at = index($email, '@');
    $e_mail = substr($email, 0, $at) . $temp++ . '@' . substr($email, $at + 1);
    $data = "sEmail=$e_mail&sPassword=$password&sWinzyID=$id&gender=Male&zip=60606&bAgree=Yes&bJavascript=No&CFormID=register&birth[month]=5&birth[day]=14&birth[year]=1982
    $req = new HTTP::Request 'POST', $signup_page;
    $req->content_type('application/x-www-form-urlencoded');
    $req->content($data);
    $res = $ua->request($req);
    if ($res->is_success) {
        print "There was a problem registering '$e_mail'..  Most likely the email or id was taken.\n";
    } else {
        if ($res->status_line eq "302 Found") {
            print "Successfully registered '$e_mail'.\n";
            open (USERS, ">>$userpass_file");
            print USERS "$e_mail:$password\n";
            close USERS;
        } else {
            print "Query Failed: ", $res->status_line, "\n";
        }
    }
    `sleep $sleep_time`;
}

Code:
#!/usr/bin/perl
# winzy-search.pl
# Logs in with a list of user:passwords in a file and searches x times.
# Usage: `perl winzy-search.pl`;

# Configuration Options
    # File of username:password pairs:
    $userpass_file = "users.txt";
    # Time (in seconds) to sleep between searches: (Recommended 20-30)
    $sleep_time = 20;
    # Searches:
    $searches = 50;
# End Configuration Options
# The rest of the code is protected by IdiotBlocker 2.9, Idiots Beware!

use HTTP::Cookies;
use LWP::UserAgent;
$ua = LWP::UserAgent->new(agent => 'Mozilla/4.0 (compatible; Windows 5.1)');
$ua->cookie_jar(HTTP::Cookies->new());

print "Sorting out user:passes... ";
open (USERS, $userpass_file) || die "Couldn't open $userpass_file: $!\n";
@users = <USERS>;
close USERS;

foreach $user (@users) {
    $emails[$i] = substr($user, 0, index($user, ":"));
    $passwords[$i++] = substr($user, index($user, ":") + 1, -1);
    $max = $i;
}
$i = 0;
print "Done.\n";

for ($i = 0; $i < $max; $i++) {
    print "Logging in with email '$emails[$i]'... ";
    # Log In with the account...
    $login_script = "https://account.winzy.com/zy_signin.php";
    $data="user=" . $emails[$i] . "&password=" . $passwords[$i];
    $req = new HTTP::Request 'POST', $login_script;
    $req->content_type('application/x-www-form-urlencoded');
    $req->content($data);
    $res = $ua->request($req);
    print "Done.\n";
    # Cookies should be saved...

    print "Starting to search.\n";
    for ($j = 0; $j < $searches + 1; $j++) {
        # Go ahead and start searching:
        $req = HTTP::Request->new(GET => "http://search.winzy.com/search?q=tddirc&src=hd&x=0&y=0&osrc=hd");
        $res = $ua->request($req);
        if ($res->is_success) {
            # Success!
        } else {
            print "Search Failed: ", $res->status_line, "\n";
        }
        if (($j % 25 == 0 and $j != 0) or ($j == $searches)) {
            print " - $j searches completed.\n";
        }
        `sleep $sleep_time`;
    }
    print "Searches complete.  Moving on to the next account.\n";
}
 
I think, your post is the first about winzy on this forum. I had never heard of it. I looked it up and they claim to enter you in sweep stakes when you search!!! Is this what the script does, automated search? Therefore multiple entries?

What exactly do you mean you have been successful? Or in your opinion what is the earnings potential of this?

By the way, thanks and welcome to the forum.
 
Thanks for the warm welcome, I'll give you a quick rundown of Winzy.

Basically, Winzy rewards you to use them as a search engine. With each search, you are entered in the sweepstakes for a ton of money. With a gold account, you are entered twice for each search. However, I cannot confirm the sweepstakes is real personally as I have never won it.

Each search also offers the possibility of winning a game. If you play this game, you're guaranteed a prize of either points (which are used in the arcade, and also act as more entrances to the sweepstakes, iirc), an amazon gift certificate, or an iPod. I've never won an iPod personally, but I know people that have, so I can confirm that is real. The amazon gift certificates range in $5 + increments, but I have never won anything greater than $5 at a time. These are the only payouts: amazon gift certificates and ipods. I have won about $100 worth in Amazon Gift Certificates ($80ish the first two months when I started and then $20 from randomly starting the scripts up for a day or two at a time since then).

The potential earnings are high, but the more you earn at once, obviously the more you risk not earning because of your account getting shut down. However, a signup doesn't require any tax forms or SSN or anything, so you're free to just make another account and start up again.

Another cool thing is that when you refer someone and they win something, you win the same thing. So if you take the script and change the referral to your own referral before signing up your hundreds of accounts, you double your profits. When one of your accounts wins $5, so does your account that referred them, earning you $10.

And while I'm replying, I just want to state that the REFERRER parameter on the second script (the one to sign up multiple accounts) is useless. I never coded how to find out the cookie settings from a user account, so I ended up just hardcoding them in.

Also, since I've created this post, I've received a message about errors when running the registration script under Windows XP. I wrote and tested all these scripts in linux (ubuntu), and will try to figure out what is wrong when changing to another platform and correct it.

EDIT:
I found the error, it was caused from copying from nano to notepad, where nano didn't display the complete line 52.

For the registration script to work, please change line 52:
Code:
    $data = "sEmail=$e_mail&sPassword=$password&sWinzyID=$id&gender=Male&zip=60606&bAgree=Yes&bJavascript=No&CFormID=register&birth[month]=5&birth[day]=14&birth[year]=1982
to
Code:
    $data = "sEmail=$e_mail&sPassword=$password&sWinzyID=$id&gender=Male&zip=60606&bAgree=Yes&bJavascript=No&CFormID=register&birth[month]=5&birth[day]=14&birth[year]=1982";

(Add "; to the end of the line)

Also, you will need to install the required modules via cpan: LWP::UserAgent, HTTP::Cookies, and HTTP::Request::Common
These are required to send post/get requests in perl and to work with cookies.
 
Last edited:
Great detailed reply.
In between my post and your reply, I had run a search, won 100 points and bumped my account to gold to just to check it out.

It would be great to get the script running on xp, although my main platform is linux (gentoo), lately I've been booting into xp a lot.

I'll look at the script and see, I've only used perl once about 2 years ago for some web mining script I wrote just because I thought it was the best tool for the job. It was on linux, so from my experience back then I think the XP problem may be due to some perl modules that are not included.

Does creating multiple accounts from the same IP have any consequences? May be they haven't had to deal with this issue en mass.
 
Does creating multiple accounts from the same IP have any consequences? May be they haven't had to deal with this issue en mass.
My guess would be that they haven't had to deal with this issue en mass as of yet. I've created a total of no more than 500 accounts to use, just because I didn't want to cause the issue, and I've not had problems.

It would be great to get the script running on xp, although my main platform is linux (gentoo), lately I've been booting into xp a lot.
I'm working with someone at the moment trying to get it working on XP. It seems he can't find the HTTP modules. I'll keep the thread up to date with any updates though.

I also wanted to add to the list of modules that are needed. For the script to register accounts, winzy requires you use a secure connection when registering. That means if you don't already have Crypt::SSLeay installed, it will need to be installed as well.
 
Last edited:
I noticed your search script only searches one word.. Maybe make it load a word list of common searches then you'll stay under the gaydar. What do you get for referring people? Ah and throw in $ua->proxy(''); :D Maybe i'll mod it and post it up.
 
What do you get for referring people?
If someone you refers wins a prize, be it points or a gift certificate, you win the same prize. This only works though if they win the prize themself, not if they win it through someone they referred winning it. ;)

I noticed your search script only searches one word.. Maybe make it load a word list of common searches then you'll stay under the gaydar.
I'm not on a box with perl installed at the moment (on XP, I hate perl on windows :P), but a few tweaks should do the trick, provided you have a searches.txt in your directory with your own list of common searches. If you don't, you can download a dictionary wordlist anywhere (like http://www.g*oo*gl*e.com/se*arch?q=wordlist+txt).

Fix for searching for random words/phrases:
1. Create searches.txt in the directory you're running the script from and fill it with your personal list of searches
2. Change the line
Code:
    $req = HTTP::Request->new(GET => "http://search.winzy.com/search?q=drusepth&src=hd&x=0&y=0&osrc=hd");
to
Code:
    $req = HTTP::Request->new(GET => "http://search.winzy.com/search?q=$query&src=hd&x=0&y=0&osrc=hd");
3. Add the following code the line before:
Code:
open (QUERIES, "searches.txt");
@queries = <QUERIES>;
close QUERIES;
$query = $queries[int(rand(scalar @queries))];
4. Save! :)

Ah and throw in $ua->proxy(''); Maybe i'll mod it and post it up.
I've never used proxy support in perl, but I'll see what I can do
 
Last edited:
Hey Drusepth, funny seeing you hear, small world. I didn't think you were still working on Winzy, I thought we moved on to Prize Rebel and Cash Lagoon.
 
So, I take it Riyonuk is a former winzy exploiter. And, I assume Prize Rebel and Cash Lagoon are bigger fish.

Am I right Riyo?
 
Prize rebel and cash lagoon look like shit put together by kids.. Their signup forms don't even bother to use SSL or collect relevant information that would be necessary to pay out.. At least winzy has ssl cert for signup and looks better. .. lol
 
I've never used proxy support in perl, but I'll see what I can do

You're using LWP.. LWP::UserAgent supports http/s proxies with the proxy method....

$ua->proxy('http', 'http://proxy:port/');

:D
 
Back
Top