Jump to content

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Find out more here. X
X


Photo

Captcha Code


  • Please log in to reply
17 replies to this topic

#1 AlmarM

AlmarM

    Programming my way.

  • Active Members
  • PipPipPipPipPipPip
  • 1,696 posts

Posted 08 April 2010 - 01:36 PM

Hiya!

This is my first time EVER creating such thing, any suggestions, tips, etc. would be helpfull.
I have no idea how hard it is to crack such thing... Oh well.

Syntax
_CaptchaCode($iNumOfTries)


Screenshot
Posted Image

Example
AutoIt         
#include <EditConstants.au3> #include "CaptchaCode.au3" $GUI = GUICreate("Register Form", 210, 110) GUICtrlCreateLabel("Userame:", 10, 10) GUICtrlCreateLabel("Email:", 10, 30) GUICtrlCreateLabel("Password:", 10, 50) $Username = GUICtrlCreateInput("", 100, 7, 100) $Email = GUICtrlCreateInput("", 100, 27, 100) $Password = GUICtrlCreateInput("", 100, 47, 100, 20, $ES_PASSWORD) $Register = GUICtrlCreateButton("Register", 10, 75, 90) $Clear = GUICtrlCreateButton("Clear", 110, 75, 90) GUISetState() While 1     Switch GUIGetMsg()     Case -3         Exit             Case $Register         If GUICtrlRead($Username) <> "" And GUICtrlRead($Email) <> "" And GUICtrlRead($Password) <> "" Then             If _CaptchaCode(3) Then                 MsgBox(64, Default, "Registration done!")                 $Data = ""                 $Data &= "Username  : " & GUICtrlRead($Username) & @CRLF                 $Data &= "Email     : " & GUICtrlRead($Email) & @CRLF                 $Data &= "Password  : " & GUICtrlRead($Password) & @CRLF                 FileWrite(@DesktopDir & "\register_form.txt", $Data)             Else                 MsgBox(16, Default, "Tries maxed out, exiting program.")                 Exit             EndIf         Else             MsgBox(16, Default, "Please fill in every information.")         EndIf             Case $Clear         GUICtrlSetData($Username, "")         GUICtrlSetData($Email, "")         GUICtrlSetData($Password, "")             EndSwitch WEnd


CaptchaCode.au3
AutoIt         
#include <GUIConstantsEx.au3> ; MD5 UDF: <a href='http://www.autoitscript.com/forum/index.php?showtopic=10590' class='bbc_url' title=''>http://www.autoitscript.com/forum/index.php?showtopic=10590</a> $iOptOld = Opt("GUIEventOptions",0) Opt("GUIEventOptions", $iOptOld) Global $__CaptchaCode_cCharacter[6], $c__CaptchaCode_Label[5], $c__CaptchaCode_Line[2], $a__CaptchaCode_Font[6] Global $__CaptchaCode_Tries Func _CaptchaCode($iNumOfTries)     Local $sCaptchaCode         $__CaptchaCode_Tries = 0         $hWnd = GUICreate("       * ENTER CODE *", 175, 150, -1, -1, 0x00080000)     $cBg = GUICtrlCreateLabel("", 10, 10, 150, 50)     GUICtrlSetState($cBg, 128)     GUICtrlSetBkColor($cBg, 0x000000)     $cInput = GUICtrlCreateInput("", 10, 70, 150, 20)     $cCheck = GUICtrlCreateButton("Check", 10, 95, 70)     $cNew = GUICtrlCreateButton("New", 90, 95, 70)         $sCaptchaCode = __CaptchaCode_Create()         $cFg = GUICtrlCreateLabel("", 10, 10, 150, 50)     GUICtrlSetBkColor($cFg, -2)             GUISetState()     While 1         Switch GUIGetMsg()         Case -3                     Case $cNew             __CaptchaCode_Delete()             $sCaptchaCode = __CaptchaCode_Create()             GUICtrlSetData($cInput, "")                     Case $cCheck             If $__CaptchaCode_Tries == $iNumOfTries - 1 Then                 __CaptchaCode_Delete()                 GUIDelete($hWnd)                 Return False                 ExitLoop             Else                 If (GUICtrlRead($cInput) == $sCaptchaCode) Then                     __CaptchaCode_Delete()                     GUIDelete($hWnd)                     Return True                     ExitLoop                 Else                     $__CaptchaCode_Tries += 1                     MsgBox(16, "* ERROR *", "Wrong Code!")                     __CaptchaCode_Delete()                     $sCaptchaCode = __CaptchaCode_Create()                     GUICtrlSetData($cInput, "")                 EndIf             EndIf                     EndSwitch             WEnd EndFunc Func __CaptchaCode_Create()     Local $sCaptcha = __CaptchaCode_Generate()     Local $iX = Random(15, 25, 1)     Local $iY = Random(15, 40, 1)         $a__CaptchaCode_Font[0] = "Arial Black"     $a__CaptchaCode_Font[1] = "Comic Sans MS"     $a__CaptchaCode_Font[2] = "Impact"     $a__CaptchaCode_Font[3] = "Tahoma"     $a__CaptchaCode_Font[4] = "System"     $a__CaptchaCode_Font[5] = "Verdama"         $aSplit = StringSplit($sCaptcha, "")     For $x = 0 To 5         $__CaptchaCode_cCharacter[$x] = GUICtrlCreateLabel($aSplit[$x + 1], $iX, $iY)         $iX += 20 + Random(1, 5, 1)         $iY = Random(15, 40, 1)                 GUICtrlSetBkColor($__CaptchaCode_cCharacter[$x], -2)         GUICtrlSetColor($__CaptchaCode_cCharacter[$x], Random(0x808080, 0xC0C0C0))                 $iNum = Random(1, 7, 1)         Switch $iNum         Case 1             $iStyle = 2 ;2         Case 2             $iStyle = 4 ;4         Case 3             $iStyle = 8 ;8         Case 4             $iStyle = 2 + 4 ;6         Case 5             $iStyle = 4 + 8 ;12         Case 6             $iStyle = 2 + 8 ;10         Case 7             $iStyle = 2 + 4 + 8 ;16         EndSwitch                 GUICtrlSetFont($__CaptchaCode_cCharacter[$x], 13, Random(350, 450, 1), $iStyle, $a__CaptchaCode_Font[Random(0, 5, 1)])                 Sleep(10)     Next         $iX = 15 + Random(1, 10, 1)     $iY = 5 + Random(1, 10, 1)     For $z = 0 To 4         $c__CaptchaCode_Label[$z] = GUICtrlCreateLabel("", $iX, $iY, 1, 30)         $iX += 25 + Random(1, 10, 1)         $iY = 5 + Random(1, 30, 1)                 GUICtrlSetBkColor($c__CaptchaCode_Label[$z], Random(0x808080, 0xC0C0C0))     Next         $iX = 5 + Random(1, 25, 1)     $iY = 20 + Random(1, 10, 1)     For $b = 0 To 1         $c__CaptchaCode_Line[$b] = GUICtrlCreateLabel("", $iX, $iY, 130, 1)         $iX = 5 + Random(1, 10, 1)         $iY += 10 + Random(1, 10, 1)                 GUICtrlSetBkColor($c__CaptchaCode_Line[$b], Random(0x808080, 0xC0C0C0))     Next         Return $sCaptcha EndFunc Func __CaptchaCode_Delete()     For $y = 0 To 5         GUICtrlDelete($__CaptchaCode_cCharacter[$y])     Next         For $a = 0 To 4         GUICtrlDelete($c__CaptchaCode_Label[$a])     Next         For $c = 0 To 1         GUICtrlDelete($c__CaptchaCode_Line[$c])     Next EndFunc Func __CaptchaCode_Generate()     Local $sCharacters = StringSplit("BCDFGHJKLMNPQRSTVWXYZ1234567890", "")     Local $sCode = ""         For $i = 1 To 6         $sCode &= $sCharacters[Random(1, $sCharacters[0], 1)]     Next         Return $sCode   EndFunc


UPDATE 09-04-10: Changed variable names, function names, added a tries system

Edited by AlmarM, 09 April 2010 - 07:56 AM.

Minesweeper

A minesweeper game created in autoit, source available.

 

_Mouse_UDF

An UDF for registering functions to mouse events, made in pure autoit.

 

2D Hitbox Editor

A 2D hitbox editor for quick creation of 2D sphere and rectangle hitboxes.








#2 KaFu

KaFu

    Hey, it's just me, KhaFoo...

  • MVPs
  • 3,409 posts

Posted 08 April 2010 - 02:12 PM

Looks nice :(...

I recommend that you add

$iOptOld = Opt("GUIEventOptions",0)
Opt("GUIEventOptions",$iOptOld)

at the beginning and end of the _CreateCaptcha() function.

Edit:
And also you should rename the global variables used to a more UDF related name, something like
Global $__CaptchaCode_cCharacter[6], $c__CaptchaCode_Label[5], $c__CaptchaCode_Line[2], $a__CaptchaCode_Font[6]

And maybe the functions too...
_CaptchaCode()
__CaptchaCode_Create()
__CaptchaCode_Delete()
__CaptchaCode_Generate()

Edited by KaFu, 08 April 2010 - 02:16 PM.


#3 Mat

Mat

    43 38 48 31 30 4E 34 4F 32

  • MVPs
  • 5,070 posts

Posted 08 April 2010 - 02:35 PM

I would make it have a return type of true / false rather than calling a function. Just opinion. I would also work on the spelling of 'success' :( . If you intend to use this properly then lots of labels will not work, as simply going through all the windows children looking for controls with the class 'Static' and reading those will crack it. An easy solution is to give the lines their own text, but that will also be easy enough to figure out from the size. Ultimately, GUICtrlCreateGraphic is the solution... Or disable all the labels and put another label over the top. I haven't tried that but it could work.... (I had to try it out :) see spoiler)

Spoiler


In answer to your remark of: 'I have no idea how hard it is to crack such thing... Oh well.', it would be easy enough. But it looks impressive.

#4 KaFu

KaFu

    Hey, it's just me, KhaFoo...

  • MVPs
  • 3,409 posts

Posted 08 April 2010 - 03:21 PM

Well, I tinkered around a PHP captcha a while ago. To make that work, one way is to create a captach from a string, then encypt this string with a one-way algo. (e.g. md5()), send that as a cookie, and finally compare the md5() value of the users input with the value of the cookie... might be an issue here too, if you want to make it hacker proof :( (I guess it might be possible to read the unencrypted string directly from memory).

#5 MrCreatoR

MrCreatoR

    Must AutoIt!

  • MVPs
  • 3,251 posts

Posted 08 April 2010 - 10:04 PM

Nice, there is few similar examples of generating captcha: http://www.autoitscript.com/forum/index.php?showtopic=85143
Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1

Posted Image AutoIt Russian CommunityPosted Image Projects: ATT - Application Translate Tool [new] | BlockIt - Block files & folders [new] | SIP - Selected Image Preview [new] | SISCABMAN - SciTE Abbreviations Manager [new] | AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramPosted Image UDFs: OnAutoItErrorRegister - Handle AutoIt critical errors [new] | AutoIt Syntax Highlight [new] | Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDFPosted Image Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation DemoLike the examples/UDFs? Please rate the topic (up-right corner of the post header: Rating Posted Image)* === My topics === *

==========================================================Posted Image==========================================================

AutoIt is simple, subtle, elegant. © AutoIt Team


#6 Beege

Beege

    Universalist

  • MVPs
  • 895 posts

Posted 08 April 2010 - 11:44 PM

Pretty cool! :(

#7 AlmarM

AlmarM

    Programming my way.

  • Active Members
  • PipPipPipPipPipPip
  • 1,696 posts

Posted 09 April 2010 - 06:49 AM

Looks nice :)...

I recommend that you add

$iOptOld = Opt("GUIEventOptions",0)
Opt("GUIEventOptions",$iOptOld)

at the beginning and end of the _CreateCaptcha() function.

Edit:
And also you should rename the global variables used to a more UDF related name, something like
Global $__CaptchaCode_cCharacter[6], $c__CaptchaCode_Label[5], $c__CaptchaCode_Line[2], $a__CaptchaCode_Font[6]

And maybe the functions too...
_CaptchaCode()
__CaptchaCode_Create()
__CaptchaCode_Delete()
__CaptchaCode_Generate()

Thanks! And, yeah... Probably a good idea.

I would make it have a return type of true / false rather than calling a function.

True... *changes*

Well, I tinkered around a PHP captcha a while ago. To make that work, one way is to create a captach from a string, then encypt this string with a one-way algo. (e.g. md5()), send that as a cookie, and finally compare the md5() value of the users input with the value of the cookie... might be an issue here too, if you want to make it hacker proof :) (I guess it might be possible to read the unencrypted string directly from memory).

I wanted to encrypt it at first thought, not a good idea though, so I will try your way. :(

Nice, there is few similar examples of generating captcha: http://www.autoitscript.com/forum/index.php?showtopic=85143

Oh, thanks for showing! :D

Pretty cool! ;)

Thanks! B)

Edited by AlmarM, 09 April 2010 - 06:51 AM.

Minesweeper

A minesweeper game created in autoit, source available.

 

_Mouse_UDF

An UDF for registering functions to mouse events, made in pure autoit.

 

2D Hitbox Editor

A 2D hitbox editor for quick creation of 2D sphere and rectangle hitboxes.


#8 AlmarM

AlmarM

    Programming my way.

  • Active Members
  • PipPipPipPipPipPip
  • 1,696 posts

Posted 09 April 2010 - 07:47 AM

Updated! See first post.

Well, I tinkered around a PHP captcha a while ago. To make that work, one way is to create a captach from a string, then encypt this string with a one-way algo. (e.g. md5()), send that as a cookie, and finally compare the md5() value of the users input with the value of the cookie... might be an issue here too, if you want to make it hacker proof (I guess it might be possible to read the unencrypted string directly from memory).

Eh, I failed at that part. :)

Or disable all the labels and put another label over the top.

Thanks for that! :(

Ouch. I actualy DO need graphics... :)
If WinExists(WinGetTitle("", "New")) Then     $Text = WinGetText(WinGetTitle("", "New"))         $Split = StringSplit($Text, Chr(10))     For $i = 3 To $Split[0]         ControlSend(WinGetTitle("", "New"), "", "[CLASS:Edit; INSTANCE:1]", StringUpper($Split[$i]))     Next EndIf

Edited by AlmarM, 09 April 2010 - 08:39 AM.

Minesweeper

A minesweeper game created in autoit, source available.

 

_Mouse_UDF

An UDF for registering functions to mouse events, made in pure autoit.

 

2D Hitbox Editor

A 2D hitbox editor for quick creation of 2D sphere and rectangle hitboxes.


#9 KaFu

KaFu

    Hey, it's just me, KhaFoo...

  • MVPs
  • 3,409 posts

Posted 09 April 2010 - 01:53 PM

You've put the $iOptOld = Opt("GUIEventOptions", 0) and Opt("GUIEventOptions", $iOptOld) at the wrong place. Additionally I added the md5 crypt I meant...

AutoIt         
#include <GUIConstantsEx.au3> #include <Crypt.au3> Global $__CaptchaCode_cCharacter[6], $c__CaptchaCode_Label[5], $c__CaptchaCode_Line[2], $a__CaptchaCode_Font[6] Global $__CaptchaCode_Tries Func _CaptchaCode($iNumOfTries)     $iOptOld = Opt("GUIEventOptions", 0)     Local $sCaptchaCode     $__CaptchaCode_Tries = 0     $hWnd = GUICreate("ENTER CODE", 175, 160, -1, -1, 0x00080000)     $cBg = GUICtrlCreateLabel("", 10, 10, 150, 50)     GUICtrlSetState($cBg, 128)     GUICtrlSetBkColor($cBg, 0x000000)     $cInput = GUICtrlCreateInput("", 10, 70, 150, 20)     $cCheck = GUICtrlCreateButton("Check", 10, 95, 70)     $cNew = GUICtrlCreateButton("New", 90, 95, 70)     $sCaptchaCode = __CaptchaCode_Create()     $cFg = GUICtrlCreateLabel("", 10, 10, 150, 50)     GUICtrlSetBkColor($cFg, -2)     GUISetState()     While 1         Switch GUIGetMsg()             Case -3                 ExitLoop             Case $cNew                 __CaptchaCode_Delete()                 $sCaptchaCode = __CaptchaCode_Create()                 GUICtrlSetData($cInput, "")             Case $cCheck                 If $__CaptchaCode_Tries == $iNumOfTries - 1 Then                     ExitLoop                 Else                     If (_Crypt_HashData(GUICtrlRead($cInput),$CALG_MD5) == $sCaptchaCode) Then                         __CaptchaCode_Delete()                         GUIDelete($hWnd)                         Opt("GUIEventOptions", $iOptOld)                         Return True                     Else                         $__CaptchaCode_Tries += 1                         MsgBox(16, "* ERROR *", "Wrong Code!")                         __CaptchaCode_Delete()                         $sCaptchaCode = __CaptchaCode_Create()                         GUICtrlSetData($cInput, "")                     EndIf                 EndIf         EndSwitch     WEnd     __CaptchaCode_Delete()     GUIDelete($hWnd)     Opt("GUIEventOptions", $iOptOld)     Return False EndFunc   ;==>_CaptchaCode Func __CaptchaCode_Create()     Local $sCaptcha = __CaptchaCode_Generate()     Local $iX = Random(15, 25, 1)     Local $iY = Random(15, 40, 1)     $a__CaptchaCode_Font[0] = "Arial Black"     $a__CaptchaCode_Font[1] = "Comic Sans MS"     $a__CaptchaCode_Font[2] = "Impact"     $a__CaptchaCode_Font[3] = "Tahoma"     $a__CaptchaCode_Font[4] = "System"     $a__CaptchaCode_Font[5] = "Verdama"     $aSplit = StringSplit($sCaptcha, "")     For $x = 0 To 5         $__CaptchaCode_cCharacter[$x] = GUICtrlCreateLabel($aSplit[$x + 1], $iX, $iY)         $iX += 20 + Random(1, 5, 1)         $iY = Random(15, 40, 1)         GUICtrlSetBkColor($__CaptchaCode_cCharacter[$x], -2)         GUICtrlSetColor($__CaptchaCode_cCharacter[$x], Random(0x808080, 0xC0C0C0))         $iNum = Random(1, 7, 1)         Switch $iNum             Case 1                 $iStyle = 2 ;2             Case 2                 $iStyle = 4 ;4             Case 3                 $iStyle = 8 ;8             Case 4                 $iStyle = 2 + 4 ;6             Case 5                 $iStyle = 4 + 8 ;12             Case 6                 $iStyle = 2 + 8 ;10             Case 7                 $iStyle = 2 + 4 + 8 ;16         EndSwitch         GUICtrlSetFont($__CaptchaCode_cCharacter[$x], 13, Random(350, 450, 1), $iStyle, $a__CaptchaCode_Font[Random(0, 5, 1)])         Sleep(10)     Next     $iX = 15 + Random(1, 10, 1)     $iY = 5 + Random(1, 10, 1)     For $z = 0 To 4         $c__CaptchaCode_Label[$z] = GUICtrlCreateLabel("", $iX, $iY, 1, 30)         $iX += 25 + Random(1, 10, 1)         $iY = 5 + Random(1, 30, 1)         GUICtrlSetBkColor($c__CaptchaCode_Label[$z], Random(0x808080, 0xC0C0C0))     Next     $iX = 5 + Random(1, 25, 1)     $iY = 20 + Random(1, 10, 1)     For $b = 0 To 1         $c__CaptchaCode_Line[$b] = GUICtrlCreateLabel("", $iX, $iY, 130, 1)         $iX = 5 + Random(1, 10, 1)         $iY += 10 + Random(1, 10, 1)         GUICtrlSetBkColor($c__CaptchaCode_Line[$b], Random(0x808080, 0xC0C0C0))     Next     Return _Crypt_HashData($sCaptcha,$CALG_MD5) EndFunc   ;==>__CaptchaCode_Create Func __CaptchaCode_Delete()     For $y = 0 To 5         GUICtrlDelete($__CaptchaCode_cCharacter[$y])     Next     For $a = 0 To 4         GUICtrlDelete($c__CaptchaCode_Label[$a])     Next     For $c = 0 To 1         GUICtrlDelete($c__CaptchaCode_Line[$c])     Next EndFunc   ;==>__CaptchaCode_Delete Func __CaptchaCode_Generate()     Local $sCharacters = StringSplit("BCDFGHJKLMNPQRSTVWXYZ1234567890", "")     Local $sCode = ""     For $i = 1 To 6         $sCode &= $sCharacters[Random(1, $sCharacters[0], 1)]     Next     Return $sCode EndFunc   ;==>__CaptchaCode_Generate


Ouch. I actualy DO need graphics... :)

Definitly, maybe Yashied has something in his vault for you :(...

#10 ptrex

ptrex

    Universalist

  • MVPs
  • 2,420 posts

Posted 09 April 2010 - 06:52 PM

Indead has been done before http://www.autoitscript.com/forum/index.php?showtopic=104580&pid=739784&st=0&#entry739784

rgds
ptrex

#11 James

James

    Universalist

  • MVPs
  • 10,365 posts

Posted 09 April 2010 - 09:55 PM

send that as a cookie, and finally compare the md5() value of the users input with the value of the cookie...

Why would you store such data in a cookie? Sessions are much better for this type of thing.

#12 KaFu

KaFu

    Hey, it's just me, KhaFoo...

  • MVPs
  • 3,409 posts

Posted 09 April 2010 - 11:23 PM

Why would you store such data in a cookie? Sessions are much better for this type of thing.

If I remember correctly I've had some trouble with Session ID at that time. But why not use a one way encrypted / hashed value instead in a cookie? At least I can't see no security risk there, worst possible case is that cookie's blocked... users fault.

#13 James

James

    Universalist

  • MVPs
  • 10,365 posts

Posted 10 April 2010 - 11:43 AM

If I remember correctly I've had some trouble with Session ID at that time. But why not use a one way encrypted / hashed value instead in a cookie? At least I can't see no security risk there, worst possible case is that cookie's blocked... users fault.

Not very user accessible is it.

#14 KaFu

KaFu

    Hey, it's just me, KhaFoo...

  • MVPs
  • 3,409 posts

Posted 10 April 2010 - 11:50 AM

Harry, you're talking bullshit...

#15 James

James

    Universalist

  • MVPs
  • 10,365 posts

Posted 10 April 2010 - 12:17 PM

Harry, you're talking bullshit...

Pardon?

#16 AlmarM

AlmarM

    Programming my way.

  • Active Members
  • PipPipPipPipPipPip
  • 1,696 posts

Posted 10 April 2010 - 01:02 PM

Ah yes, thanks for the MD5 version!

Minesweeper

A minesweeper game created in autoit, source available.

 

_Mouse_UDF

An UDF for registering functions to mouse events, made in pure autoit.

 

2D Hitbox Editor

A 2D hitbox editor for quick creation of 2D sphere and rectangle hitboxes.


#17 AutoProgramming

AutoProgramming

    Seeker

  • Active Members
  • 37 posts

Posted 10 April 2010 - 05:08 PM

Btw it's not to hard to crack if you are trying to extract the string from the image because it does just use standard fonts and no distortion, etc :(
My OpenSource Projects:- [BEEP] proMusiX- Search autorun.inf

#18 WeMartiansAreFriendly

WeMartiansAreFriendly

    Where's the kaboom?

  • Active Members
  • PipPipPipPipPipPip
  • 1,245 posts

Posted 10 April 2010 - 08:59 PM

Btw it's not to hard to crack if you are trying to extract the string from the image because it does just use standard fonts and no distortion, etc :(


Oh well... it's still pretty cool.
Posted ImageDon't bother, It's inside your monitor!------GUISetOnEvent should behave more like HotKeySet()




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users