Die Buchstaben haben Immer die Gleiche Form.
Ich habe bereits ein Script gemacht das mir vom Captcha nur die Buchstaben rausfiltert.
Nun müsste ich aber mit Imagesearch oder so jeden buchstaben absuchen um dann zu filtern in welcher reihenfolge welcher buchstabe ist.
Jemand eine Idee?
Hier mein Bisheriges Script.
Ihr könnt es ja mal ausführen um zu sehen wie das Captcha aussieht.
PHP Code:
#include <INet.au3>
#include <GDIPlus.au3>
#include <String.au3>
#include <Array.au3>
$Farben = "662bff_0000ff_3380cc_338099_0055cc_3300ff_9955ff_6600ff_0000cc_0055ff_6655ff_002bcc_992bff_3355cc_002bff_332bff_"
$sHTML = _INetGetSource("http://passport.nexoneu.com/Registration/Signup.aspx?nexoneuTheme=NexonEU")
$lol = _StringBetween($sHTML, '<img id="imgPic" src="/img/', '" border="0" />')
InetGet("http://passport.nexoneu.com/img/"&$lol[0], "Captcha.gif")
_GDIPlus_Startup()
$hImage = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\Captcha.gif")
$iWidth = _GDIPlus_ImageGetWidth($hImage)
$iHeight = _GDIPlus_ImageGetHeight($hImage)
Dim $aPic[$iWidth][$iHeight]
For $iYPos = 0 To $iHeight-1
For $iXPos = 0 To $iWidth-1
$aRGB = Hex(_GDIPlus_GetPixel($hImage, $iXPos, $iYPos), 6)
If StringInStr($Farben, $aRGB&"_") Then
$aPic[$iXPos][$iYPos] = 1
Else
$aPic[$iXPos][$iYPos] = 0
EndIf
Next
Next
For $iYPos = 0 To $iHeight-1
For $iXPos = 0 To $iWidth-1
If $aPic[$iXPos][$iYPos] = 1 Then
_GDIPlus_SetPixel($hImage, $iXPos, $iYPos, 0x000000)
Else
_GDIPlus_SetPixel($hImage, $iXPos, $iYPos, 0xffffff)
EndIf
Next
Next
_GDIPlus_ImageSaveToFile($hImage, @ScriptDir & "\Solve.bmp")
_GDIPlus_Shutdown()
Func _GDIPlus_GetPixel($hBitmap, $iX, $iY)
Local $result = DllCall($ghGDIPDLL, "int", "GdipBitmapGetPixel", "ptr", $hBitmap, "int", $iX, "int", $iY, "dword*", 0)
If @error Then Return SetError(1, 0, 0)
Return SetError($result[0], 1, $result[4])
EndFunc
Func _GDIPlus_SetPixel($hBitmap, $iX, $iY, $color)
Local $result = DllCall($ghGDIPDLL, "int", "GdipBitmapSetPixel", "ptr", $hBitmap, "int", $iX, "int", $iY, "dword", $color)
If @error Then Return SetError(1, 0, 0)
Return SetError($result[0], 1, $result[4])
EndFunc






