Такой вот вопрос,есть Edit,в него вводиться пароль,заместь паса показываються звездочки.Но звездочки можна легко вскрыть темже Win Spy.Можна ли както защититься от етого?Желательно не прибегать к дополнительным переменным,в которых могбы храниться оригинальный пасс.
Дополнительная переменная, в которой и будет находиться пароль, спасет от этого просмотра. Других вариантов пока что не вижу.
А переменную ету ведь могут в памяти найти и прочесть ее значение.А если я этой переменной установлю атрибут PAGE_NOACCESS.При помощи дизассемблера ее реально будет вскрыть?
Сразу надо в памяти шифровать, изпользуя дополнительную переменную вот код Code: var Form1: TForm1; Shifr: string; implementation {$R *.dfm} procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin case key of #8: if Length(Shifr) > 0 then Delete(Shifr, Length(Shifr), 1); else begin Shifr:=Shifr+chr(byte(Key) xor $27); Key:='*'; end; end; end; procedure TForm1.Edit1Change(Sender: TObject); var i: integer; bShifr: ^string; begin Label1.Caption:=Shifr; New(bShifr); for i:=1 to Length(Shifr) do bShifr^:= BShifr^ + chr ( byte(Shifr[i]) xor $27); Label2.Caption:=bShifr^; ZeroMemory(pointer(integer(bShifr^)), Length(bShifr^)); // чтоб уж наверняка ) Dispose(bShifr); end;