51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 7028|回复: 10
打印 上一主题 下一主题

WR读到的PassWord框里的星号显示密码是加密的

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-9-9 14:57:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
WR读到的PassWord框里的星号显示密码是加密的,我想用数据向导把Password里的数据递加1,该怎样做。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-9-9 17:09:26 | 只看该作者
你的操作是如何做呢!
验证点?
我觉得如果要是录制的脚本,只是把密码数据加1后,输入到密码框里就可以了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2004-9-13 14:49:55 | 只看该作者
password显示为加密串有时是因为不能正确识别此控件,比如java,我就遇到过此情况,加了java add-in后显示的就是实际输入文本.
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2004-9-14 09:08:45 | 只看该作者
一般windows控件经过加密处理,在控件的消息中加入了对WM_GETTEXT进行处理,所以一般想得到密码框的文本都是加密的字符串!java可能处理方式不同
这里是个delphi对密码框处理WM_GETTEXT 消息的代码,你可以从中看到其中的奥秘!

下边是得到password密码框密码的源代码!你可以通过这段delphi代码得到你要的得到的password框的代码
// 显示鼠标当前所在的文本框内容
function ShowWindowText():string;
var
    pPoint:TPoint;
    WinText:string;
    mTextChar;
    hWnd:Integer;
begin
    GetCursorPos(pPoint);
    SetLength(WinText,256);
    hWnd:=WindowFromPoint(pPoint);
    GetWindowText(hWND,PChar(WinText),256);
    SetLength(WinText,StrLen(PChar(WinText)));
    result:=WinText;
end;

而windows有的密码框控件对这个消息进行了处理,下边是一个控件的代码:
unit uCEdit;

interface

uses Windows,StdCtrls,Messages,Classes;

TYPE
    TCEdit=class(TEdit)
    private
        bEnable:boolean;            // 允许使用
        procedure WndProc(var Msg: TMessage);override;
    public
        constructor Create(AOwner: TComponent); override;

        function MyGetText():string;
    published

    end;

procedure Register;

implementation

{ CEdit }

//注册控件
procedure Register;
begin
    RegisterComponents('Additional', [TCEdit]);
end;

constructor TCEdit.Create(AOwner: TComponent);
begin
    inherited Create(AOwner);
    // 禁止使用
    bEnable:=false;
end;

function TCEdit.MyGetText: string;
begin
    // 程序本身还是用允许的
    bEnable:=true;
   
    result:=Text;
end;

procedure TCEdit.WndProc(var Msg: TMessage);
begin
    if (Msg.Msg=WM_GETTEXT) or (Msg.Msg=EM_GETLINE)  then
    begin
        if bEnable then
        begin
            bEnable:=false;
            inherited;
        end;
    end
    else inherited;
end;

end.

所以你遇到这样的控件你是很难得到他的password的!其实winrunner获得属性,得到密码的情况类似!

对于java的情况我没有做实验,所以无法得出具体的情况!不过从自动化实现上来说我觉得得到一个密码框的密码,我觉得这需要考虑!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2004-9-14 10:20:26 | 只看该作者
谢谢大家的帮助!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2004-9-14 10:27:58 | 只看该作者
谢谢大家的帮助!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2004-10-30 21:40:15 | 只看该作者
其实这个问题很简单.

用password_encrypt()就可以了
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2004-10-30 21:43:04 | 只看该作者
如:password_edit_set("QQ密码:", password_encrypt(ddt_val(table,"QQ密码")));

详见我的帖Q登陆脚本的录制
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2005-11-11 15:38:20 | 只看该作者

丢得多

password_edit_set改称edit_set就什么问题都没了!麻烦得要命!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-1-6 10:01:20 | 只看该作者
我也是像楼上这样做的,很简单,除非不想让别人知道这个软件的密码是什么,才需要那么麻烦吧
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-10-26 18:00:04 | 只看该作者

呵呵

password_edit_set改成edit_set还是我照edit_username改的,试一下还真的可以,不过好象有人研究出来了,呵呵~~~~~~~~~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-23 00:04 , Processed in 0.076693 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表