有人说登陆加了效验码就能防止暴力破解,于是今天做了这个东西

mikespook 2004-10-18 07:02:37
只是一个演示程序,你要把校验码保存成GIF格式,然后读入识别。
忽忽,算法有了,我做成COM或者移植成别的语言都可以啦~~~~~

算法有待改进,希望支持更多的校验码识别。
...全文
622 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
2004924 2004-10-23
  • 打赏
  • 举报
回复
真牛,我不是科班出身,没学过图形学。
要是有源码研究一下就好了。
fason 2004-10-21
  • 打赏
  • 举报
回复
good
blueice2002 2004-10-21
  • 打赏
  • 举报
回复
原来学图形学还有这个用途啊。
cmsoft 2004-10-20
  • 打赏
  • 举报
回复
.net做就简单多了:)
patchclass 2004-10-20
  • 打赏
  • 举报
回复
晕,csdn的验证码连干扰象素都没有,还是懒啊
就是OCR识别吗,图形学我没有学过,代码先看看学习学习
还有
不希望是delphi的啊,如果可以是asp的就好了
Drowning 2004-10-20
  • 打赏
  • 举报
回复
不會用啊
lanxk 2004-10-20
  • 打赏
  • 举报
回复
牛人
能不能把代码讲讲
777dragon 2004-10-20
  • 打赏
  • 举报
回复
GZ

@_@
DARKNESSFALL 2004-10-20
  • 打赏
  • 举报
回复
CSDN的验证码太简单了~~~~~
-----------
up
mrshelly 2004-10-20
  • 打赏
  • 举报
回复
CSDN的验证码太简单了~~~~~
redez 2004-10-20
  • 打赏
  • 举报
回复
study.....
sinolge 2004-10-19
  • 打赏
  • 举报
回复
收藏
DeltaCat 2004-10-19
  • 打赏
  • 举报
回复
收藏一下, 不错, 楼主图形学比我学的好多了 ^_^
mikespook 2004-10-19
  • 打赏
  • 举报
回复
to alexzhang00(三角猫)
不是伴水的算法,原先上图形学的时候自己写的算法,从C移植上来的。模式全匹配,比较弱智。

用的Raize 3做的界面~费事发邮件了直接发代码吧~~m那个串是从图片自动生成的匹配串,为了省事,直接写成字符串了。位做任何优化,程序看起来比较恶心~~~~
----------------------------------------------------------
function TfrmMain.OCR(ABitmap: TBitmap): string;
var
i, j: integer;
tmp1, tmp2: string;
m: array[0..9] of string;
begin
m[0] := '001111000100001010000001100000011000000110000001100000011000000110000001100000010100001000111100';
m[1] := '000010000000100000111000000010000000100000001000000010000000100000001000000010000000100000111110';
m[2] := '001111000100001000000001000000010000000100000010000001000000100000010000001000000100000001111111';
m[3] := '001111000100001000000001000000010000001000011100000000100000000100000001000000010100001000111100';
m[4] := '000000100000011000001010000100100010001001000010100000101111111100000010000000100000001000000010';
m[5] := '011111110100000001000000010000000111110000000010000000010000000100000001000000010100001000111100';
m[6] := '000111100010000001000000100000001011110011000010100000011000000110000001100000010100001000111100';
m[7] := '011111110000000100000010000000100000010000000100000010000000100000010000000100000010000000100000';
m[8] := '001111000100001010000001100000010100001000111100010000101000000110000001100000010100001000111100';
m[9] := '001111000100001010000001100000011000000110000001010000110011110100000001000000100000010001111000';
tmp1 := '';
tmp2 := '';
for i := 0 to 3 do
begin
tmp1 := Self.Bmp2Str(ABitmap, i);
for j := 0 to 9 do
begin
if tmp1 = m[j] then
begin
tmp2 := tmp2 + IntToStr(j);
end;
end;
end;
Result := tmp2;
end;

function TfrmMain.Bmp2Str(ABitmap: TBitmap; AIndex: integer): string;
var
w, h: integer;
tmp: string;
begin
tmp := '';
for h := 0 to 11 do
for w := 0 to 7 do
begin
if ABitmap.Canvas.Pixels[(AIndex * 9) + 3 + w, h + 4] = clWhite then
tmp := tmp + '0'
else
tmp := tmp + '1';
end;
Result := tmp;
end;
echina 2004-10-19
  • 打赏
  • 举报
回复
不错
dout 2004-10-19
  • 打赏
  • 举报
回复
学习学习
hj3793 2004-10-19
  • 打赏
  • 举报
回复
学习
DeltaCat 2004-10-19
  • 打赏
  • 举报
回复
问一下, 不知是不是用的 "伴水" 的算法 ^_^

UPX 用的哪个版本? 能不能发我一个, 谢了
yizhenlong 2004-10-19
  • 打赏
  • 举报
回复
问一下,在图片上写随机的数怎么实现,就是验证码,他是图片的格式,可是上面的字是随机的,怎么实现滴?
redstorm11 2004-10-19
  • 打赏
  • 举报
回复
看看
加载更多回复(13)

2,100

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧