Показаны сообщения с ярлыком Эли. Показать все сообщения
Показаны сообщения с ярлыком Эли. Показать все сообщения

28 июл. 2010 г.

Финстрип за период с последнего финстрипа ;)

Финстрип за период с последнего финстрипа ;)

Сначала о вечном. 30 лет назад не стало свете Владимира Семеновича. Его песни меня тоже воспитывали. Многие строки я цитирую и напеваю сыну. Молодому поколению нужно объяснять почти все обороты, но слушает. Наверно из вежливости.

Видео с подачи твиттера Бормалея Мементо море.

Финстрип

С Божьей помощью работал, работал и вот по совету друзей купил автомобиль. 7000 убитых енотов за 1500 кубических сантиметров бензиновой топки возрастом 2 1/2 года. Она прошла три раза вокруг земного шара, и я верю, что пройдет еще пять раз без генеральной уборки поршневой группы и аналогичных ключевых элементов.

Кондиционер, гидроусилитель, титаны, электростеклоподъемники, центральныз замок, 5 ступенчатая, каско, и остальные детали тоже на месте. Осваиваю искусство управления этой норовистой скакуньей.

Как заработано? Оффлайновая работа кормит оффлайновую семью, а это всё на ниве фармы и только. Хрумер не пригодился. Сапосайты финансировали хостинги. Адсенс контролирует трафик на вспомогательных сайтах. Бэклинки проставлены вручную или почти вручную - айМакросом и XML-RPC. Советы Эли тоже приняты к исполнению. Много самописного микро-софта, что нужно было начать делать намного раньше. Повторю за великим кошкоебом - учите ПхП.

Ну и само собой инвайты можно спрашивать по электропочте. Рефам золотые горы не обещаю, но отвечу на все разумные вопросы.

Кстати, про рефов. Из всех моих около 100 рефов в разных партнерках, работает только ДВА. А вот чем занимаются остальные 98% я не знаю, наверно у них все есть и им ничего от фармы не нужно.

Дисклаймер. Все доходы задекларированы и все налоги уплачены. Я и налоговая инспекция могут спать спокойно, чего и вам желаю. Успехов.

PS

Никого удалять из ридера не буду - я его просто не читаю, а просматриваю по диагонали, как бы участвую в общественной жизни какой-то страны. Темы-то никто не палит, а только обозначает междустрочьем. А гугл все выкладывает как на ладоне. Особено если оснастить его парсером-анализатором и поставить на крон.

Что касается форумов, то гоуфакбиз рулит. Но если его читать постоянно - то работать совсем некогда будет. Так что, делу время, а гоуфаку час, а ридеру - полчаса. Ну а форум главмеда времени не отбирает - там пишут мало и по делу.
Прочитать полностью...

11 янв. 2010 г.

forum.searchengines.ru

Вот-таки напишу вне очереди. Голубой пиар как никак :)
Спасибо Lexx2k за ссылку в комментах к вчерашнему посту про книжку Сеоштейна.

1.
В теории конфликтов, если нет аргументов по основной линии обсуждения, то сторона, считающая себя проигрывающей, начинает эмоционально использовать аргументы из другой отрасли или выдумки-провокации: "Где уроки!?", "голубой пиар", "4й год на сапе ссылке продает", "сбивающий с ног своей гениальностью текст". Подготовленный конфликтер может использовать такую тактику не эмоционально, а намеренно для своей выгоды.

2.
Для меня форум forum.searchengines.ru не является реферативной группой, т.е. мнения, высказанные там для меня оценкой не являются. Я не буду исходит матюками как Арбайтен, я просто игнорирую их существование. Чьё мнение для меня важно - смотрите в постах и в сайдбаре.

3.
Зашел я на хтпп://germanpriss.blogspot.com/ (стиль ссылки сохранен из оригинала поста :) и не понял, о чем этот сайт. Где там статьи заказать, как указано в подписи на форуме? Вроде автор тот же, что и у поста "Автор: german_priss@mail.ru"

4.
Если кто знает, скажите, почему на форуме forum.searchengines.ru при вставке линка его нужно калечить, например:
http://homelessinlugansk.blogspot.co*m/2010/01/today.html
http://seostain.r****u/?p=495&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+seostain+%28%D0%A1%D0%B5%D0%BE%D1%88%D1%82%D0%B5%D0%B9%D0%BD%29
хтпп ://germanpriss.blogspot.com/
Это зачем? Чтобы ПР-ТИЦ не утек? Или чтобы роботы ПС не нашли ссылки? Чего опасаются админы форума?

5.
Собственно по книжке Сеоштейна. Базовая идея была на блоге Эли в открытую озвучена давно-давно. Но от идеи в англоязычном блоге до подробной инструкции на русском языке - вот это и стоит денег. Почему я не продаю свои скрипты? Потому что не хочу держать саппорт, не хочу обсуждений "какой я плохой", не хочу ухода некоторых технологий в паблик. Эли тоже почти ничего не продает, только дарит идеи. А я жадный! Иногда пишу на заказ, дорого, эксклюзивно.

6.
Почему я ещё не купил дом? Да потому что есть оффлайновая работа и семья. А здоровье потом и за деньги не купишь. А основной потребитель инвестиций - это мой сын, при том инвестиций не денежных, а затрат времени. Вот и получается, что я работаю в инете, наверно, 20-30 часов в неделю, не больше. А о том, что такое анкор и его значение для денег, я узнал в первых числах января 2007 года. Благодарю того, кто мне показал форум Умакс. Да, ровно три года назад. Тогда миллионы казалось вот рядом, а на поверку - такой же тяжелый руд, только не в офисе или в чужом офисе, а дома, поближе к жене и сыну.

Успехов. Цените родных и близких, мы в этом мире временно.
Храни вас Господь.


Вот ещё 15 минут потратил не на работу.
Прочитать полностью...

7 авг. 2008 г.

Эли спалил тему - опен сорс плагин для вордпресса, который оставляет пингбэки и/или трэкбэки по серпу гуглблогосерча.

Я удивляюсь с этого синешапочника Эли. Видимо, он тоже вернулся из отпуска - жжет не по-детски. Выложил плагин PingCrawl для вордпресса, который пингует всё на свете.

При любом создании/изменении поста находит все тэги и делает для КАЖДОГО тэга так:
1. В гугл блого серче ищет 35 блогов.
2. С каждым найденным блогом делает так:
3. Проверяет, есть ли мета-тэг с адресом для пингбэка
4. Проверяет, есть в исходнике страницы адрес для трэкбэка
5. Если есть - сохраняет адрес пингбэка.
6. Если нет - пропускает блог - логично :)
7. Добавляет 5 годных для пинга линков в текущий пост.
8. Выбирает обратно из памяти урлы и отправляет пингбэки.
9. Гарантия пинга совсем не 100%, а примерно 80%.

Примечания.
1. Плагин создает две дополнительные таблицы в базе данных
2. Плагин случайным образом, примерно один раз на 13 линков, вставляет линк на скрипт сайта Эли. Кто знает ПХП - легко занулит. Я не буду.
3. Здается мне, что на ПХП 4 это не заработает патамушта плагин полностью сделан на объектной модели и требует Simple XML. УПС! Тут ведутся попытки сделать порт на ПХП 4.
4. Ресурсов жрет немеряно. 41 ХТТП запрос на каждый тэг в посте. Сдается мне, что на виртуальном хостинге погонят нас в шею с таким плагином или он по таймауту будет отваливаться.
5. Использует file_get_contents, который может быть выключен на виртуальном хостинге.
6. А код у них сука красивый :)

Пока я только думал, как бы это придумать с пингбэками и трэкбэками, Эли уже код готовый выложил. Респекты. Блин, забодался писать, работать некогда :( Завтра ничего писать не буду! Пока.

Прочитать полностью...

3 авг. 2008 г.

Отпуск закончился. Пора копать.

На фотографии представлен вид на сёла Солнечногорское (вдали) и Малореченское (вблизи). Это в 20 километрах южнее Алушты. Снимок сделан от Храма Николая Чудотворца (неподалек от села Рыбачье). Место нашего отдыха ночевания и питания отмечено красной точкой, искать по красным стрелкам на увеличенном изображении.



Кликабельно для увеличения.

Мне понравилось, не смотря на то, что по территории автокемпинга между домиками бродили ничейные овцы, примерно штук семь.





Эти овцы вели себя как бараны и заглядывали в окна. Перевернутый тремпель держит окно от самопроизвольного закрывания.





Вот так цветет дерево возле почты. На заднем плане виден номер почтового отделения.







Теперь о работе. Пока я там поедал персики, нырял в море и лежал под зонтиком, тут произошло много интересного.

1.
Стационарный компьютер при первом включении после отпуска сказал мне

file missing or corrupt C:\WINNT\SYSTEM32\CONFIG\SYSTEM

в переводе на русский это означает "реестра хуйма - работать не буду". Вот тут-то и пригодилась вторая ось на этом компе и второй комп в виде ноутбука. Два дня чтения интернета с перерывами на оффлайновые заботы позволили починить винду, потери несущественные.

2.
Случились апы тицов-пиаров и солнечное затмение, во время наступления которого Мастер Ласто раскрыл заговор гугла против русских вэбмастеров и манимейкеров.

3.
Синяя шапка Эли родил два новых поста. Я пока не читал, а там гляди и Профит Хантер переведет. Букв много, сохранил на винт, а то опять досить будут. Кстати, Профит Хантер пиарит контору по обналу разных чеков. Вроде выгодней чем Кардмани и почти как банк Аваль. Но не забывайте, что банк Аваль требует ИНН, а конторы - нет :)

4.
Пока я отдыхал, в Луганске стояла страшная жара, а как только вернулся - похолодало. Кондиционер, купленный в мае, делает свое дело :) в смысле я его включал пару раз перед отпуском. Под эту жару Бормалей звал луганских сеошников на пиво и показал очередной стимул копать - 65k$ в сутки это Вам не бублики на базаре тырить. На пиво мы обязательно встретимся как только мой интернет станет приносить на автомате хотябы штуку баксов в месяц. Пока что автомат дает стабильно без никакого моего участия только $1,2 в сутки за июль, а суммму эту нужно увеличить в тридцать раз. При том хочется не экстенсивно - это мы всегда успеем, а интенсивно - примерно с тех же площадок.

5.
На одном из вордпрессовских блогов опять нахеры через скл-инъекцию воткнули айфрейм с трояном. Сеозавр и промотекст заблокировали площадку. Пришлось обновлять вордпресс. Следите за своими фермами!

6.
Совет. Если пишите автоматический растущий сайт, обязательно предусмотрите и проверьте, это не сложно, что случится, если во время Вашего отдыха закончится место на винте. Будет ли сайт работать хоть как-то или настанет адронный коллайдер ему.


Прочитать полностью...

23 мар. 2008 г.

Эли выложил ломалку капчей для del.icio.us, он же делишес.

Точно, Эли жжет не по детски. Только выкарабкался из под ддоса - новый подарок халявщикам - This is the del.icio.us captcha busted in Python.

На случай нового ддоса - копирую на мой блог под катом.




#!/usr/bin/python
import Image,time,random,glob,re,os,sys

##$$
train = raw_input("train? (y/n)")
if(train == "y") : train= True
else: train = False
##
fileName = ''.join(sys.argv[1:])
def getNeighbourhood(i,width,height,pixels):
results = []
try:
if(pixels[i+1] != 0): results.append(i+1)
if(pixels[i-1] != 0): results.append(i-1)
if(pixels[i-width] != 0): results.append(i-width)
if(pixels[i+width] != 0): results.append(i+width)
if(pixels[i-width+1] != 0): results.append(i-width+1)
if(pixels[i+width+1] != 0): results.append(i+width+1)
if(pixels[i-width-1] != 0): results.append(i-width-1)
if(pixels[i+width-1] != 0): results.append(i+width-1)
except:pass
return results
now = time.time()
captcha = Image.open(fileName)
(width,height) = captcha.size
pixels = list(captcha.getdata())
i=0
for pixel in pixels:
if (pixel == 2): pixels[i] = 0
i+=1
toclean = []
for i in xrange(len(pixels)):
neighbourhood = getNeighbourhood(i,width,height,pixels)
if (len(neighbourhood) < 4) : pixels[i] = 0

captcha.putdata(pixels)
started=False
lowestY,highestY,count = 0,10000,0
captchas = []
slant = 15
for x in xrange(width):
hasBlack = False
for y in xrange(height):
thisPixel = captcha.getpixel((x,y))
if(thisPixel != 0):
if(started == False):
started=True
firstX = x
firstY = y
else:
lastX = x
if(y > lowestY): lowestY = y
if(y< highestY): highestY = y
hasBlack = True
if((hasBlack == False) and (started==True)):
if((lowestY - highestY) > 4):
croppingBox = (firstX,highestY,lastX,lowestY)
newCaptcha = captcha.crop(croppingBox)
if(train):
text = raw_input(”char:n”)
try: os.mkdir(”/home/dbyte/deliciousImages/” + text)
except:pass
text__ = “/home/dbyte/deliciousImages/” + text + “/” + str(random.randint(1,100000)) + “-.png”
newCaptcha.resize((20,30)).save(text__)
text_ = “/home/dbyte/deliciousImages/” + text + “/” + str(random.randint(1,100000)) + “-.png”
newCaptcha.resize((20,30)).rotate(slant).save(text_)
text_ = “/home/dbyte/deliciousImages/” + text + “/” + str(random.randint(1,100000)) + “-.png”
newCaptcha.resize((20,30)).rotate(360 - slant).save(text_)
captchas.append(Image.open(text__))
else:
#text = str(count)
#text = “tmp-delicious-” + text + “.png”
#newCaptcha.save(text)
captchas.append(newCaptcha.resize((20,30)))

started=False
lowestY,highestY = 0,10000
count +=1
if(train == False):

imageFolders = os.listdir(”/home/dbyte/deliciousImages/”)
images =[]
for imageFolder in imageFolders:
imageFiles = glob.glob(”/home/dbyte/deliciousImages/” + imageFolder + “/*.png”)
for imageFile in imageFiles:
pixels = list(Image.open(imageFile).getdata())
for i in xrange(len(pixels)):
if pixels[i] != 0: pixels[i] = 1
images.append((pixels,imageFolder))

crackedString = “”
for captcha in captchas:
bestSum,bestChar = 0,”"
captchaPixels = list(captcha.getdata())
for i in xrange(len(captchaPixels)):
if captchaPixels[i] != 0: captchaPixels[i] = 1
for imageAll in images:
thisSum = 0
pixels = imageAll[0]
for i in xrange(len(captchaPixels)):
try:
if(captchaPixels[i] == pixels[i]): thisSum+=1
except: pass
if(thisSum > bestSum):
bestSum = thisSum
bestChar = imageAll[1]
crackedString += bestChar
print crackedString
#print “time taken: ” + str(time.time() - now)


Прочитать полностью...

20 мар. 2008 г.

Досят блог Эли, видимо за ломалки капчей для форума PHPBB2

Не успели все порадоваться опенсорс ломалке капчей для форума PHPBB2, а уже досят блог Эли.
Выкладываю из ридера, может кому пригодится. Сам файл с исходниками вышлю по запросу в комментах. Блин, пока найти не могу, куда я его засунул :( Кто понимает С++ и английский - без труда напишет заново. Сорри. ! UPDATE ! Выложил для скачивания исходники ломалки капчей.

Итак гостевая статья Гарри на блоге Эли, картинки не существенные, там просто "проявляется" текст из капчи:


This is a fantastic guest post by Harry over at DarkSEO Programming. His blog has some AWESOME code examples and tutorials along with an even deeper explanation of this post so definitely check it out and subscribe so he’ll continue blogging.



This post is a practical explanation of how to crack phpBB2 easily. You need to know some basic programming but 90% of the code is written for you in free software.


Programs you Need


C++/Visual C++ express edition - On Linux everything should compile simply. On windows everything should compile simply, but it doesn’t always (normally?). Anyway the best tool I found to compile on windows is Visual C++ express edition. Download


GOCR - this program takes care of the character recognition. Also splits the characters up for us ;) . It’s pretty easy to do that manually but hey. Download



ImageMagick - this comes with Linux. ImageMagick lets us edit images very easily from C++, php etc. Install this with the development headers and libraries. Download from here


A (modified) phpbb2 install - phpBB2 will lock you out after a number of registration attempts so we need to change a line in it for testing purposes. After you have it all working you should have a good success rate and it will be unlikely to lock you out. Find this section of code: (it’s in includes/usercp_register.php)


if ($row = $db->sql_fetchrow($result))

{

if ($row['attempts'] > 3)

{

message_die(GENERAL_MESSAGE, $lang['Too_many_registers']);

}

}

$db->sql_freeresult($result);




Make it this:


if ($row = $db->sql_fetchrow($result))

{

//if ($row[’attempts’] > 3)

//{

// message_die(GENERAL_MESSAGE, $lang[’Too_many_registers’]);

//}

}

$db->sql_freeresult($result);



Possibly a version of php and maybe apache web server on your desktop PC. I used php to automate the downloading of the captcha because it’s very good at interpreting strings and downloading static web pages.


Getting C++ Working First


The problem on windows is there is a vast number of C++ compilers, and they all need setting up differently. However I wrote the programs in C++ because it seemed the easiest language to quickly edit images with ImageMagick. I wanted to use ImageMagick because it allows us to apply a lot of effects to the image if we need to remove different types of backgrounds from the captcha.


Once you’ve installed Visual C++ 2008 express (not C#, I honestly don’t know if C# will work) you need to create a Win32 Application. In the project properties set the include path to something like (depending on your imagemagick installation) C:\Program Files\ImageMagick-6.3.7-Q16\include and the library path to C:\Program Files\ImageMagick-6.3.7-Q16\lib. Then add these to your additional library dependencies CORE_RL_magick_.lib CORE_RL_Magick++_.lib CORE_RL_wand_.lib. You can now begin typing the programs below.


If that all sounds complicated don’t worry about it. This post covers the theory of cracking phpBB2 as well. I just try to include as much code as possible so that you can see it in action. As long as you understand the theory you can code this in php, perl, C or any other language. I’ve compiled a working program at the bottom of this post so you don’t need to get it all working straight away to play with things.



Getting started


Ok this is a phpBB2 captcha:



It won’t immediately be interpreted by GOCR because GOCR can’t work out where the letters start and end. Here’s the weakness though. The background is lighter than the text so we can exclude it by getting rid of the lighter colors. With ImageMagick we can do this in a few lines of C++. Type the program below and compile/run it and it will remove the background. I’ll explain it below.




using namespace Magick;



int main( int /*argc*/, char ** argv)

{


// Initialize ImageMagick install location for Windows

InitializeMagick(*argv);


// load in the unedited image

Image phpBB("test.png");


// remove noise

phpBB.threshold(34000);


// save image

phpBB.write("convert.pnm");


return(1);

}



All this does is loads in the image, and then calls the function threshold attached to the image. Threshold filters out any pixels below a certain darkness. On linux you have to save the image as a .png however on windows GOCR will only read .pnm files so on linux we have to put the line instead:




// save image

phpBB.write("convert.png");




The background removed.


Ok that’s one part sorted. Problem 2. We now have another image that GOCR won’t be able to tell where letters start and end. It’s too grainy. What we notice though is that each unjoined dot in a letter that is surrounded by dots 3 pixels away should probably be connected together. So I add a piece of code onto the above program that looks 3 pixels to the right and 3 pixels below. If it finds any black dots it fills in the gaps. We now have chunky letters. GOCR can now identify where each letter starts and ends :D . We’re pretty much nearly done.





using namespace Magick;


void fill_holes(PixelPacket * pixels, int cur_pixel, int size_x, int size_y)

{

int max_pixel, found;


///////////// pixels to right /////////////////////

found = 0;

max_pixel = cur_pixel+3; // the furthest we want to search

// set a limit so that we can't go over the end of the picture and crash

if(max_pixel>=size_x*size_y)

max_pixel = size_x*size_y-1;


// first of all are we a black pixel, no point if we are not

if(*(pixels+cur_pixel)==Color("black"))

{

// start searching from the right backwards

for(int index=max_pixel; index>cur_pixel; index--)

{

// should we be coloring?

if(found)

*(pixels+index)=Color("black");



if(*(pixels+index)==Color("black"))

found=1;

}

}


///////////// pixels to bottom /////////////////////

found = 0;

max_pixel = cur_pixel+(size_x*3);

if(max_pixel>=size_x*size_y)

max_pixel = size_x*size_y-1;


if(*(pixels+cur_pixel)==Color("black"))

{

for(int index=max_pixel; index>cur_pixel; index-=size_x)

{

// should we be coloring?

if(found)

*(pixels+index)=Color("black");



if(*(pixels+index)==Color("black"))

found=1;

}

}


}


int main( int /*argc*/, char ** argv)

{


// Initialize ImageMagick install location for Windows

InitializeMagick(*argv);


// load in the unedited image

Image phpBB("test.png");


// remove noise

phpBB.threshold(34000);



/////////////////////////////////////////////////////////////////////////////////////////////////////

// Beef up "holey" parts

/////////////////////////////////////////////////////////////////////////////////////////////////////

phpBB.modifyImage(); // Ensure that there is only one reference to

// underlying image; if this is not done, then the

// image pixels *may* remain unmodified. [???]

Pixels my_pixel_cache(phpBB); // allocate an image pixel cache associated with my_image

PixelPacket* pixels; // 'pixels' is a pointer to a PixelPacket array


// define the view area that will be accessed via the image pixel cache

// literally below we are selecting the entire picture

int start_x = 0;

int start_y = 0;

int size_x = phpBB.columns();

int size_y = phpBB.rows();


// return a pointer to the pixels of the defined pixel cache

pixels = my_pixel_cache.get(start_x, start_y, size_x, size_y);



// go through each pixel and if it is black and has black neighbors fill in the gaps

// this calls the function fill_holes from above

for(int index=0; index < size_x*size_y; index++)

fill_holes(pixels, index, size_x, size_y);


// now that the operations on my_pixel_cache have been finalized

// ensure that the pixel cache is transferred back to my_image

my_pixel_cache.sync();


// save image

phpBB.write("convert.pnm");


return(1);

}



I admit this looks complicated on first view. However you definitely don’t have to do this in C++ though if you can find an easier way to perform the same task. All it does is remove the background and join close dots together.


I’ve given the C++ source code because that’s what was easier for me, however the syntax can be quite confusing if you’re new to C++. Especially the code that accesses blocks of memory to edit the pixels. This is more a study of how to crack the captcha, but in case you want to code it in another language here’s the general idea of the algorithm that fills in the holes in the letters:


1. Go through each pixel in the picture. Remember where we are in a variable called cur_pixel

2. Start three pixels to the right of cur_pixel. If it’s black color the pixels between this position and cur_pixel black.

3. Work backwards one by one until we reach cur_pixel again. If any pixels we land on are black then color the space in between them and cur_pixel black.

4. Go back to step 1 until we’ve been through every pixel in the picture


NOTE: Just make sure you don’t let any variables go over the edge of the image otherwise you might crash your program.



I used the same algorithm but modified it slightly so that it also looked 3 pixels below, however the steps were exactly the same.


Training GOCR


The font we’re left with is not recognized natively by GOCR so we have to train it. It’s not recognized partly because it’s a bit jagged.



Assuming our cleaned up picture is called convert.pnm and our training data is going to be stored in a directory call data/ we’d type this.



gocr -p ./data/ -m 256 -m 130 convert.pnm


Just make sure the directory data/ exists (and is empty). I should point out that you need to open up a command prompt to do this from. It doesn’t have nice windows. Which is good because it makes it easier to integrate into php at a later date.


Any letters it doesn’t recognize it will ask you what they are. Just make sure you type the right answer. -m 256 means use a user defined database for character recognition. -m 130 means learn new letters.


You can find my data/ directory in the zip at the end of this post. It just saves you the time of going through checking each letter and makes it all work instantly.


Speeding it up


Downloading, converting, and training for each phpbb2 captcha takes a little while. It can be sped up with a simple bit of php code but I don’t want to make this post much longer. You’ll find my script at the end in my code package. The php code runs from the command prompt though by typing “php filename.php”. It’s sort of conceptual in the sense that it works, but it’s not perfect.



Done


Ok once GOCR starts getting 90% of the letters right we can reduce the required accuracy so that it guesses the letters it doesn’t know.


Below I’ve reduced the accuracy requirement to 25% using -a 25. Otherwise GOCR prints the default underscore character even for slightly different looking characters that have already been entered. -m 2 means don’t use the default letter database. I probably could have used this earlier but didn’t. Ah well, it doesn’t do a whole lot.


gocr -p ./data/ -m 256 -m 2 -a 25 convert.pnm


We can get the output of gocr in php using:



echo exec(”/full/path/gocr -p ./data/ -m 256 -m 2 -a 25 convert.pnm”);


Alternatives


In some instances you may not have access to GOCR or you don’t want to use it. Although it should be usable if you have access to a dedicated server. In this case I would separate the letters out manually and resize them all to the same size. I would then put them through a php neural network which can be downloaded from here FANN download


It would take a bit of work but it should hopefully be as good as using GOCR. I don’t know how well each one reacts to letters which are rotated though. Neural networks simply memorize patterns. I haven’t checked the inner workings of GOCR. It looks complicated.



My code


All the code can be found here to crack phpBB2 captcha.


Zip Download


In conclusion to this tutorial it’s a nightmare trying to port over all my code from linux to windows unless it’s written in Java :D . If only Java was small and quick as well.


It’s worth stating that phpbb2 was easy to crack because the letters didn’t touch or overlap. If they had touched or overlapped it would probably have been very hard to crack.



I plan to look at that line and square captcha that comes with phpBB3 over on my site and document how secure it is.


Thanks for the awesome guest post Harry.




Прочитать полностью...

18 мар. 2008 г.

Эли спалил тему - выложил скрипт для решения капч живими серферами

Эли спалил тему - выложил скрипт для решения капч живими серферами. Скачать можно по адресу http://bluehatseo.com/wp-content/uploads/captchasolverproxy.zip

Если Эли снимет - обращайтесь, вышлю.

Саммари.

Самый надежный способ решения капчи - ввод руками.
Эли модифицировал CGIPROXY и теперь нашему скрипту нужно только подгружать новые капчи в каталог этого прокси и забирать решенные из файла solved.txt. Скрипт я скачал, но не проверял. Посему непонятен один момент - как скрипт проверяет неправльный ввод?

Прочитать полностью...

11 мар. 2008 г.

Эли спалил тему - опен сорс ломалка капчей

Уважаемый Эли спалил тему - опен сорс Visual C++ ломалка капчей.
С подробными комментариями прилашенного автора Гарри.
Один недостаток - статья на английском языке, но я думаю тот, кому надо - осилит и так. Короче одну запчасть от хрумера мы уже получили. Жаль что я на С++ не пишу, а то использовал бы.

Для примера ломается капча форума phpBB2. Читать по английски тут.
Гарри пришел погостить к Эли с DarkSEO Programming - молодой блог с примерами на ПХП по черному СЕО.
Прочитать полностью...