Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

.NET 

dCaptcha - Advanced Captcha System

I've released this project on my github page as I never got around to finishing it:
https://github.com/debug-hf/Captcha


Hello again guys,

After seeing VirusCrafter5's captcha thread, it inspired me to make my own captcha system. So far I've put about 2 hours of work into this and I'm pretty happy with the early results.

Information
  • Generates 5 characters

  • Has 3 difficulties: Easy, Medium, Hard

  • ColorMode - Chooses from color list (Text colors disabled for now)

  • Utilizes my SecureRandom Class


In Action
[Image: M3FoGY9.gif]
OldSpoiler (Click to View)

Samples OLD
Easy - https://i.imgur.com/WEidHWl.png
[Image: WEidHWl.png]
Medium - https://i.imgur.com/MkagKjL.png
[Image: MkagKjL.png]
Hard- https://i.imgur.com/tuawIvU.png
[Image: tuawIvU.png]

Give these a test against any OCR you have access too and let me know the results!

TODO
  • Centralize pens, brushes, etc. rather than creating anonymous instances over and over.

  • Rotate Characters

  • Work out the color schemes (Make sure everything is legible)

  • Remove ambiguous characters (0 and O)

  • Come up with other obscuring techniques.

  • Test against more OCR engines.

  • Take your suggestions!



Source
Coming soon! -- I will post the source once it is a bit more stable.

So, if you have any feedback or suggestions let me know! Feel free to test it against any OCR you have access too and let me know the results. So far, none have been successful against my attempts. And thanks again to VirusCrafter5 for the inspiration. This is a fun little project.

debug
Sucks pretty fucking bad, creating a bot for this would be easy.
[Image: vjPWhyy.gif]
(Feb 14, 2016 07:37 PM)$lick Wrote:  Sucks pretty fucking bad, creating a bot for this would be easy.

^

-

In all seriousness; I couldn't have done any better, it seems like a pretty cool project
[Image: Xiuymkc.png]
Nice work, love it :)

"Remove ambiguous characters (0 and O)"
I don't think you should really worry about it, the user should be able to distinguish between o O and 0. They're both different, the letter 0 is more oval than the letter.
Hiiii Thanks for reading my thread ;) <3

I like how your project worked out, but the image should be a bit more difficult.
(Feb 14, 2016 08:17 PM)VmX5 Wrote:  Hiiii Thanks for reading my thread ;) <3

I like how your project worked out, but the image should be a bit more difficult.
I know, I have a few ideas in mind. ;)
I'd be pretty easy making a solver for this.

[Image: 1zL3pDG.jpg]

(Feb 14, 2016 07:39 PM)+Haze Wrote:  Nice work, love it :)

"Remove ambiguous characters (0 and O)"
I don't think you should really worry about it, the user should be able to distinguish between o O and 0. They're both different, the letter 0 is more oval than the letter.

With different fonts things can get out of hand, especially with fonts designed to be as hard to read as possible.
[Image: PVoDiqS.png]
(Feb 14, 2016 08:21 PM)SIM-1676753 Wrote:  I'd be pretty easy making a solver for this.
Yes, as it has been stated several times already Q_Q
I plan on making it more complex.

(Feb 14, 2016 08:27 PM)Cecilia Wrote:  With different fonts things can get out of hand, especially with fonts designed to be as hard to read as possible.
Yeah, that was my thinking.
I'd be pretty easy making a solver for this.

[Image: 1zL3pDG.jpg]

I think making zero's appear as a Zero with a line through it would be amazing.

As well maybe add some random incomplete letters to the background like an upside down V (maybe check to make sure no "v" is in the captcha). A part of a U angled or upside down. Actually you can offer the alphabet upside down.

Incorperate Symbols as a "Extra difficult" option.

edit: Creating letters using a "dot" formation to help combat OCR due to spacing between the dots. Maybe use dashes or comma's to help create this feature.
(Feb 14, 2016 08:34 PM)ttyler333 Wrote:  I think making zero's appear as a Zero with a line through it would be amazing.

As well maybe add some random incomplete letters to the background like an upside down V (maybe check to make sure no "v" is in the captcha). A part of a U angled or upside down. Actually you can offer the alphabet upside down.

Incorperate Symbols as a "Extra difficult" option.

edit: Creating letters using a "dot" formation to help combat OCR due to spacing between the dots. Maybe use dashes or comma's to help create this feature.
Solid ideas. I'll keep them in mind. Thanks!
i made something sim to this after i saw his thread too, i use numbers 1-9 and chars a-z, then i used windows GDI to draw squares and lines into the picture box
(Feb 14, 2016 08:27 PM)Cecilia Wrote:  With different fonts things can get out of hand, especially with fonts designed to be as hard to read as possible.

Didn't think about font.


@Debug, I got a good idea. Include a check method inside your class whereby you pass in the user's text and an object representing the captcha object returned. Then the check method will do the check and return a percentage which determines how much of the captcha they got correct. Therefore, the developers can choose how lenient they want to be with their captchas and this will also remove the need to distinguish between between 0 and o since that can be dealt with internally inside the check method. I mean it's not essential I just think it would be a cool idea.
(Feb 14, 2016 08:41 PM)+Haze Wrote:  Didn't think about font.


@Debug, I got a good idea. Include a check method inside your class whereby you pass in the user's text and an object representing the captcha object returned. Then the check method will do the check and return a percentage which determines how much of the captcha they got correct. Therefore, the developers can choose how lenient they want to be with their captchas and this will also remove the need to distinguish between between 0 and o since that can be dealt with internally inside the check method. I mean it's not essential I just think it would be a cool idea.
Yeah I was planning on doing something just like that. I'll have to figure out the criteria I want to use, or many just make a formula based on the difficulty.


I've added rotation and 'phantom text.' I think it came out nicely:
[Image: RF8wlgJ.png]

[Image: SJsTuXT.png]


Possibly Related Threads...
Thread / Author Replies Views Last Post
[.NET] by ClusterzIncMar 11, 2019 09:48 AM 10 1,249 Mar 11, 2019 09:48 AM
Last Post: ClusterzInc
[.NET] by VmX5Dec 9, 2017 10:30 AM 25 1,867 Dec 9, 2017 10:30 AM
Last Post: Ninja
[C#] by WrekonizeJul 14, 2015 02:23 PM 18 1,021 Jul 14, 2015 02:23 PM
Last Post: Wrekonize