Цитата(RL_ka @ 14.2.2017, 23:56)
я бы начал иначе.
Нужно просто выявить алгоритм построения букв, как я понимаю это всё отклонения от "идеала" (иначе они были бы просто нечитаемыми) которые имеют свой запрограммированный максимум и минимум.
Зная максимально-минимально возможные отклонения можно перебором подобрать всё.
Да, такой алгоритм будет сильно проще, но и дороже по ресурсам..
Нужно лишь решить, что дороже - разработка или процессорное время :-)
Цитата(Owner @ 15.2.2017, 1:19)
Спасибо. Нашел сам скрипт. Но вопрос еще не решен, так как не знаю, что дальше делать )
https://www.servuo.com/archive/captcha-anti-afk-checker.77/ Вот ссылка!)
Капча и ее гампы.
Gump
(IMG:http://s42.radikal.ru/i096/1702/8a/cf25a1d749f1.png)
Код
_____infogump_______
injection id 0x3ef9d298
serial 0x0048b975
gumpid 0x00968740
X 100
Y 100
in client yes
4729 packet size
0 reply packet size
Buttons: ________
page 0
50 [ 2] image=0x00F7 at 124:101
Checks&Radios: __
page 0
Entryes: ________
80 [ 3] 57:103*53:20 []
All commands: ____
1] page 0
2] gumppic 0 3 9274
3] gumppic 68 3 9274
4] gumppic 38 11 9158
5] gumppic 83 11 9158
6] gumppic 137 11 9158
7] gumppic 191 11 9158
8] gumppic 92 11 9158
9] gumppic 146 11 9158
10] gumppic 38 56 9158
11] gumppic 83 56 9158
12] gumppic 137 56 9158
13] gumppic 191 56 9158
14] gumppic 92 56 9158
15] gumppic 146 56 9158
16] gumppic 4 129 9157
17] gumppic 20 129 9157
18] gumppic 36 129 9157
19] gumppic 52 129 9157
20] gumppic 68 129 9157
21] gumppic 84 129 9157
22] gumppic 100 129 9157
23] gumppic 116 129 9157
24] gumppic 132 129 9157
25] gumppic 148 129 9157
26] gumppic 164 129 9157
27] gumppic 180 129 9157
28] gumppic 196 116 9155
29] gumppic 196 100 9155
30] gumppic 196 84 9155
31] gumppic 196 68 9155
32] gumppic 196 52 9155
33] gumppic 196 36 9155
34] gumppic 196 20 9155
35] gumppic 196 4 9155
36] gumppic 1 1 9151
37] gumppic 17 1 9151
38] gumppic 33 1 9151
39] gumppic 49 1 9151
40] gumppic 65 1 9151
41] gumppic 81 1 9151
42] gumppic 97 1 9151
43] gumppic 113 1 9151
44] gumppic 129 1 9151
45] gumppic 145 1 9151
46] gumppic 161 1 9151
47] gumppic 177 1 9151
48] gumppic 183 1 9151
49] gumppic 55 101 2443 1153
50] button 124 101 247 248 1 0 2
51] gumppic 29 34 9158
52] gumppic 23 34 9158
53] gumppic 17 34 9158
54] gumppic 11 34 9158
55] gumppic 11 40 9158
56] gumppic 11 46 9158
57] gumppic 11 52 9158
58] gumppic 11 58 9158
59] gumppic 11 64 9158
60] gumppic 11 70 9158
61] gumppic 11 76 9158
62] gumppic 11 82 9158
63] gumppic 11 88 9158
64] gumppic 11 94 9158
65] gumppic 11 100 9158
66] gumppic 11 106 9158
67] gumppic 11 112 9158
68] gumppic 17 112 9158
69] gumppic 23 112 9158
70] gumppic 29 112 9158
71] gumppic 35 112 9158
72] gumppic 41 112 9158
73] gumppic 38 115 9158
74] gumppic 38 112 9158
75] gumppic 38 109 9158
76] gumppic 35 106 9158
77] gumppic 35 118 9158
78] gumppic 32 121 9158
79] gumppic 32 103 9158
80] textentry 57 103 53 20 0 3 0
81] text 38 67 1153 1
82] gumppic 1 116 9153
83] gumppic 1 100 9153
84] gumppic 1 84 9153
85] gumppic 1 68 9153
86] gumppic 1 52 9153
87] gumppic 1 36 9153
88] gumppic 1 20 9153
89] gumppic 1 4 9153
90] gumppic 50 11 9158 807
91] gumppic 53 11 9158 807
92] gumppic 47 14 9158 807
93] gumppic 56 14 9158 807
94] gumppic 44 17 9158 807
95] gumppic 59 17 9158 807
96] gumppic 41 20 9158 807
97] gumppic 62 20 9158 807
98] gumppic 38 23 9158 807
99] gumppic 65 23 9158 807
100] gumppic 38 26 9158 807
101] gumppic 65 26 9158 807
102] gumppic 38 29 9158 807
103] gumppic 65 29 9158 807
104] gumppic 38 32 9158 807
105] gumppic 65 32 9158 807
106] gumppic 38 35 9158 807
107] gumppic 41 35 9158 807
108] gumppic 44 35 9158 807
109] gumppic 47 35 9158 807
110] gumppic 50 35 9158 807
111] gumppic 53 35 9158 807
112] gumppic 56 35 9158 807
113] gumppic 59 35 9158 807
114] gumppic 62 35 9158 807
115] gumppic 65 35 9158 807
116] gumppic 38 38 9158 807
117] gumppic 65 38 9158 807
118] gumppic 38 41 9158 807
119] gumppic 65 41 9158 807
120] gumppic 38 44 9158 807
121] gumppic 65 44 9158 807
122] gumppic 38 47 9158 807
123] gumppic 65 47 9158 807
124] gumppic 38 50 9158 807
125] gumppic 65 50 9158 807
126] gumppic 89 11 9158 859
127] gumppic 92 11 9158 859
128] gumppic 95 11 9158 859
129] gumppic 98 11 9158 859
130] gumppic 101 11 9158 859
131] gumppic 104 11 9158 859
132] gumppic 107 11 9158 859
133] gumppic 92 14 9158 859
134] gumppic 92 17 9158 859
135] gumppic 92 20 9158 859
136] gumppic 92 23 9158 859
137] gumppic 92 26 9158 859
138] gumppic 92 29 9158 859
139] gumppic 95 29 9158 859
140] gumppic 98 29 9158 859
141] gumppic 101 29 9158 859
142] gumppic 104 29 9158 859
143] gumppic 107 29 9158 859
144] gumppic 110 29 9158 859
145] gumppic 92 32 9158 859
146] gumppic 92 35 9158 859
147] gumppic 92 38 9158 859
148] gumppic 92 41 9158 859
149] gumppic 92 44 9158 859
150] gumppic 95 47 9158 859
151] gumppic 98 47 9158 859
152] gumppic 101 47 9158 859
153] gumppic 104 47 9158 859
154] gumppic 107 47 9158 859
155] gumppic 110 47 9158 859
156] gumppic 113 47 9158 859
157] gumppic 149 8 9158 712
158] gumppic 173 14 9158 712
159] gumppic 149 11 9158 712
160] gumppic 173 17 9158 712
161] gumppic 149 14 9158 712
162] gumppic 173 20 9158 712
163] gumppic 149 17 9158 712
164] gumppic 170 23 9158 712
165] gumppic 149 20 9158 712
166] gumppic 167 26 9158 712
167] gumppic 152 26 9158 712
168] gumppic 164 26 9158 712
169] gumppic 155 29 9158 712
170] gumppic 161 29 9158 712
171] gumppic 158 32 9158 712
172] gumppic 158 35 9158 712
173] gumppic 155 38 9158 712
174] gumppic 155 41 9158 712
175] gumppic 155 44 9158 712
176] gumppic 155 47 9158 712
Text: ____________
0]
1] Type the three letters
А теперь пишите код..
Для начала вам понадобится код, который разделит gumppic на три секции относящиеся к трем буквам..
Если верить исходнику антимакроса (верить-то можно, но админы могли что-нибудь подкрутить):
Код
// ...
printCharacter(a_data, 38, 11, Utility.Random(1500));
printCharacter(b_data, 92, 11, Utility.Random(1500));
printCharacter(c_data, 146, 11, Utility.Random(1500));
// ...
private void printCharacter(int[,] letter, int x, int y, int hue )
{
if (letter == null)
return;
for (int pixel = 0; pixel < letter.GetLength(0); pixel++)
{
AddImage(x + letter[pixel, 0] * 3, y + letter[pixel, 1] * 3, 9158, hue);//tl
}
}
Т.е. отсюда узнаем, что код изображения точки, из которых рисуются буквы - 9158, цвет пиксела от 0 до 1500, координаты пиксела по оси X от 38 до 91 для первой буквы, от 92 до 145 для второй буквы, от 146 для третьей буквы.
Этой информации уже вполне достаточно, чтобы разбить точки по принадлежности к буквам, нужно лишь написать код.. После чего останется лишь написать функцию которая из массива точек определяет букву..