DeathbyCaptcha - how are they getting the captcha to solve?

simpleonline1234

Junior Member
Joined
Jan 26, 2010
Messages
170
Reaction score
13
When it comes to using an automated bypass captcha service like DeathbyCaptcha how are they getting the captcha image? Is it possible to use webrequest to get these images? And is everything built into their API?

Thanks
 
Thanks killakem but I have to order captcha tokens before I can see any documentation on their API which is understandable. I will search around the net to see if anyone else has posted their API guides.
 
So your Question is how they bypass it?

There are a few, but not very much sites on the internet explaining...
 
Awesome.. Thanks Wannbie this is what I am looking for. :) One up for you my friend
 
Hey Necro. Yeah I'm not really looking on how they bypass the captcha's because I'm looking to solve them manually through my application.

I'm just having a hell of a time finding how to get the captcha by webrequest and post it back to the site.

So far what I have gives me the captcha but when I post it back I'm thinking that it refreshes.

I make a webrequest to register link and download the source code into a richtextbox.

From there I find the recaptcha account id.
next I am taking that and making a webrequest to get the challenge txt file. I open that and get the challenge and combine it with the id to get the captcha.

From there load that entire link into my picturebox and I get a working captcha but my issue is that I think when I go to make the webrequest to the site to register with my info + captcha info I don't actually ever get my account created.

Because it's behind the scenes I can't see what's going on and if I attempt to run a side by side with a web browser it's not going to show me what's going on with the webrequest side.

So I guess my additional question is this. The captcha that I am posting back to the site with my POST is it actually going through or crashing? I will attach my code.
 
Last edited:
people are paid to sit infront of banks of computers entering codes every day for minimum wage. google it!
 
This is the button that grabs the source code from whatever URL i input into the textbox (this is working)

Code:
[SIZE=2][SIZE=2]PrivateSub[/SIZE][/SIZE][SIZE=2] Button1_Click([/SIZE][SIZE=2][SIZE=2]ByVal[/SIZE][/SIZE][SIZE=2] sender [/SIZE][SIZE=2][SIZE=2]As[/SIZE][/SIZE][SIZE=2] System.Object, [/SIZE][SIZE=2][SIZE=2]ByVal[/SIZE][/SIZE][SIZE=2] e [/SIZE][SIZE=2][SIZE=2]As[/SIZE][/SIZE][SIZE=2] System.EventArgs) [/SIZE][SIZE=2][SIZE=2]Handles[/SIZE][/SIZE][SIZE=2] Button1.Click
[/SIZE][SIZE=2][SIZE=2]Dim[/SIZE][/SIZE][SIZE=2] request [/SIZE][SIZE=2][SIZE=2]As[/SIZE][/SIZE][SIZE=2] HttpWebRequest
[/SIZE][SIZE=2][SIZE=2]Dim[/SIZE][/SIZE][SIZE=2] response [/SIZE][SIZE=2][SIZE=2]As[/SIZE][/SIZE][SIZE=2] HttpWebResponse = [/SIZE][SIZE=2][SIZE=2]Nothing
[/SIZE][/SIZE][SIZE=2][SIZE=2]Dim[/SIZE][/SIZE][SIZE=2] reader [/SIZE][SIZE=2][SIZE=2]As[/SIZE][/SIZE][SIZE=2] StreamReader
[/SIZE][SIZE=2][SIZE=2]Try
[/SIZE][/SIZE][SIZE=2][SIZE=2]' Create the web request 
[/SIZE][/SIZE][SIZE=2]request = [/SIZE][SIZE=2][SIZE=2]DirectCast[/SIZE][/SIZE][SIZE=2](WebRequest.Create([/SIZE][SIZE=2][SIZE=2]"http://www.nidokidos.org/register.php"[/SIZE][/SIZE][SIZE=2]), HttpWebRequest)
[/SIZE][SIZE=2][SIZE=2]' Get response 
[/SIZE][/SIZE][SIZE=2]response = [/SIZE][SIZE=2][SIZE=2]DirectCast[/SIZE][/SIZE][SIZE=2](request.GetResponse(), HttpWebResponse)
[/SIZE][SIZE=2][SIZE=2]' Get the response stream into a reader 
[/SIZE][/SIZE][SIZE=2]reader = [/SIZE][SIZE=2][SIZE=2]New[/SIZE][/SIZE][SIZE=2] StreamReader(response.GetResponseStream())
[/SIZE][SIZE=2][SIZE=2]' Console application output 
[/SIZE][/SIZE][SIZE=2]HTML.Text = HTML.Text & (reader.ReadToEnd())
[/SIZE][SIZE=2][SIZE=2]Finally
[/SIZE][/SIZE][SIZE=2][SIZE=2]If[/SIZE][/SIZE][SIZE=2][SIZE=2]Not[/SIZE][/SIZE][SIZE=2] response [/SIZE][SIZE=2][SIZE=2]Is[/SIZE][/SIZE][SIZE=2][SIZE=2]Nothing[/SIZE][/SIZE][SIZE=2][SIZE=2]Then[/SIZE][/SIZE][SIZE=2] response.Close()
[/SIZE][SIZE=2][SIZE=2]End[/SIZE][/SIZE][SIZE=2][SIZE=2]Try
[/SIZE][/SIZE][SIZE=2]WebVersiobn_.WebBrowser1.Navigate([/SIZE][SIZE=2][SIZE=2]"http://www.nidokidos.org/register.php"[/SIZE][/SIZE][SIZE=2])
WebVersiobn_.Show()
[/SIZE][SIZE=2][SIZE=2]EndSub

[/SIZE][/SIZE]


Next I have to read through the source code and find the challenge ID for the user. This (for now) I am doing manually.

Now I have to send a download file option to get the challenge.txt file and open it up.

This code does this for me (working fine) -it opens it into a richtextbox

Code:
[SIZE=2][SIZE=2]Private[/SIZE][/SIZE][SIZE=2][SIZE=2]Sub[/SIZE][/SIZE][SIZE=2] Button4_Click([/SIZE][SIZE=2][SIZE=2]ByVal[/SIZE][/SIZE][SIZE=2] sender [/SIZE][SIZE=2][SIZE=2]As[/SIZE][/SIZE][SIZE=2] System.Object, [/SIZE][SIZE=2][SIZE=2]ByVal[/SIZE][/SIZE][SIZE=2] e [/SIZE][SIZE=2][SIZE=2]As[/SIZE][/SIZE][SIZE=2] System.EventArgs) [/SIZE][SIZE=2][SIZE=2]Handles[/SIZE][/SIZE][SIZE=2] Button4.Click
[/SIZE][SIZE=2][SIZE=2]'Check if file exists
[/SIZE][/SIZE][SIZE=2][SIZE=2]'Specify file to delete
[/SIZE][/SIZE][SIZE=2][SIZE=2]Dim[/SIZE][/SIZE][SIZE=2] myfile [/SIZE][SIZE=2][SIZE=2]As[/SIZE][/SIZE][SIZE=2][SIZE=2]String[/SIZE][/SIZE][SIZE=2] = [/SIZE][SIZE=2][SIZE=2]"C:\Users\cbu05\Desktop\Captcha Downloads\challenge.txt"
[/SIZE][/SIZE][SIZE=2][SIZE=2]If[/SIZE][/SIZE][SIZE=2] System.IO.File.Exists(myfile) = [/SIZE][SIZE=2][SIZE=2]True[/SIZE][/SIZE][SIZE=2][SIZE=2]Then
[/SIZE][/SIZE][SIZE=2][SIZE=2]'Delete it!
[/SIZE][/SIZE][SIZE=2][SIZE=2]Dim[/SIZE][/SIZE][SIZE=2] fi [/SIZE][SIZE=2][SIZE=2]As[/SIZE][/SIZE][SIZE=2][SIZE=2]New[/SIZE][/SIZE][SIZE=2] FileInfo(myfile)
fi.Delete()
[/SIZE][SIZE=2][SIZE=2]'Delete succesful message
[/SIZE][/SIZE][SIZE=2][SIZE=2]End[/SIZE][/SIZE][SIZE=2][SIZE=2]If
[/SIZE][/SIZE][SIZE=2][SIZE=2]My[/SIZE][/SIZE][SIZE=2].Computer.Network.DownloadFile _
(CaptchaChallengeLine.Text, _
[/SIZE][SIZE=2][SIZE=2]"C:\Users\cbu05\Desktop\Captcha Downloads\challenge.txt"[/SIZE][/SIZE][SIZE=2])
Challenge.LoadFile([/SIZE][SIZE=2][SIZE=2]"C:\Users\cbu05\Desktop\Captcha Downloads\challenge.txt"[/SIZE][/SIZE][SIZE=2], RichTextBoxStreamType.PlainText)
[/SIZE][SIZE=2][SIZE=2]'Specify file to delete
[/SIZE][/SIZE][SIZE=2][SIZE=2]End [/SIZE][/SIZE][SIZE=2][SIZE=2]Sub

Now I need to put the challenge ID and the challenge code together to get the actual captcha image into a picture box.

This code does this fine for me
Code:
[SIZE=2]PictureBox1.Load([/SIZE][SIZE=2][SIZE=2]"http://www.google.com/recaptcha/api/image?c="[/SIZE][/SIZE][SIZE=2] & WebsiteURL.Text)
[/SIZE]

[/SIZE][/SIZE]
 
Here is where things go south. This is my button that I am using to post to the account does work.

Here is my code (currently not doing crap!)

Code:
[SIZE=2][COLOR=#ffffff]Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim postData As String = "username=" & Username.Text & "&password=" & Password.Text & "&passwordconfirm=" & Password.Text & "&email=" & Email.Text & " &emailconfirm=" & Email.Text & "&humanverify%5Bhash%5D=d3ec0acfd0f7b26b5caad92969b57648&recaptcha_challenge_field=03AHJ_Vuu-kNAF99N6sIIZAD4Cca_m4oy6hpYhhrYtN-vIqxEY6erAWS-Q1ZXFCdVTHiyLpK2OeZfO5z-K87akBiMoNwQVNopLW5Oj5b8_KXHqU9PJD8jBruUtKN6X0xAkFby6ckAqIqboElCZRpwzwDDHgRVRMKBDsw&recaptcha_response_field=" & CaptchaRepo.Text & "&userfield%5Bfield5%5D=2&userfield%5Bfield5_set%5D=1&referrername=&timezoneoffset=0&dst=2&options%5Badminemail%5D=1&agree=1&s=&securitytoken=guest&do=addmember&url=http%3A%2F%2Fwww.nidokidos.org%2Fforum.php&password_md5=897e8539d236da3b595a4c8c321407d9&passwordconfirm_md5=897e8539d236da3b595a4c8c321407d9&day=&month=&year="
 
Dim tempCookies As New CookieContainer
Dim encoding As New UTF8Encoding
Dim byteData As Byte() = encoding.GetBytes(postData)
Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create(URL.text[/COLOR][COLOR=#ffffff]), HttpWebRequest)
postReq.Method = "POST"
postReq.KeepAlive = True
postReq.CookieContainer = tempCookies
postReq.ContentType = "application/x-www-form-urlencoded"
postReq.Referer = URLOFPOST.Text
postReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)"
postReq.ContentLength = byteData.Length
Dim postreqstream As Stream = postReq.GetRequestStream()
postreqstream.Write(byteData, 0, byteData.Length)
postreqstream.Close()
Dim postresponse As HttpWebResponse
postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse)
tempCookies.Add(postresponse.Cookies)
logincookie = tempCookies
Dim postreqreader As New StreamReader(postresponse.GetResponseStream())
Dim thepage As String = postreqreader.ReadToEnd
HTML.Text = thepage
End Sub[/COLOR][/SIZE]
[SIZE=2]
[/SIZE]
 
Awesome..thanks for helping out. Been on this for about 1 month now and getting now where fast.
 
If you still need help, I'd recommend putting notifications in your code that give you the current values of the various variables that you're uncertain about. The notifications will also tell you which parts of the code you're reaching before it crashes. Also, seems like a really convoluted way to fetch the challenge. You could use a browser window that shows you the captcha and a text box for you to input the answer, then have the program post the answer to the box.
 
Back
Top