Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-05-2008
cascarrabias cascarrabias is offline
Miembro
 
Registrado: abr 2006
Posts: 103
Poder: 21
cascarrabias Va por buen camino
Cita:
Empezado por cHackAll Ver Mensaje
Pero, si implementas la solucion que yo he propuesto dudo que dicho Spyware detecte la contraseña.

Saludos
Gracias por responder....pues probe implementando tu codigo pero desafortunadamente algo debo haber hecho mal...porque me sigue quitando el password char de mi edit y me sigue mostrando la contrasenia.....te comento este edit donde esta el password es de un formulario para inicio de sesion donde el usuario puede si gusta dejar el pass guardado o recordado en la maquina....tal vez sea por eso, ya que el usuario nunca teclea nada en el edit ya que ya se encuentra guardado el codigo, lo siento talvez estoy entendiendo mal el proposito o manera de utilizar tu codigo....gracias
Responder Con Cita
  #2  
Antiguo 20-05-2008
cascarrabias cascarrabias is offline
Miembro
 
Registrado: abr 2006
Posts: 103
Poder: 21
cascarrabias Va por buen camino
perdon Javier...ya lo observe bien...tienes razon....con eso se puede desviar el problema ...o cuando menos da algunas ideas mas para adecuarlo a mis necesidades....muchas gracias!

aun asi, lo que no entiendo es poque no se puede cancelar simplemente el mensage al recibirlo?

Última edición por cascarrabias fecha: 20-05-2008 a las 00:15:39.
Responder Con Cita
  #3  
Antiguo 20-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por cascarrabias Ver Mensaje
aun asi, lo que no entiendo es poque no se puede cancelar simplemente el mensage al recibirlo?
Yo creo que porque el mensaje se manda directamente al Edit, no a la aplicación. Por eso el ApplicationEvents no puede detectarlo; nunca pasa por ahí.

Lo que puedes hacer es interceptarlo a nivel del TEdit, por ejemplo:

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, AppEvnts;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
  private
    OldEditWndProc: TWndMethod;
    procedure EditWndProc(var Message: TMessage);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  OldEditWndProc := Edit1.WindowProc; // guardar el manejador de mensajes original
  Edit1.WindowProc := EditWndProc;  // reemplazar el manejador por uno nuestro
end;

procedure TForm1.EditWndProc(var Message: TMessage);
begin
  if Message.Msg <> EM_SETPASSWORDCHAR then
    // llamar al manejador de mensajes original
    OldEditWndProc(Message);
end;

end.

Aquí lo que se hace es reemplazar al vuelo el procedimiento que maneja los mensajes del control Edit1. El procedimiento de reemplazo simplemente filtra el mensaje EM-SETPASSWORDCHAR, y deja el resto al procedimiento original.

Pero claro, tal como dice Javier, basta un GetText para obtener el texto al descubierto.

// Saludos

Última edición por roman fecha: 20-05-2008 a las 01:33:09. Razón: Sobraba un Button1 :)
Responder Con Cita
  #4  
Antiguo 20-05-2008
cascarrabias cascarrabias is offline
Miembro
 
Registrado: abr 2006
Posts: 103
Poder: 21
cascarrabias Va por buen camino
Andaleeee....a eso me referia

Ok Roman....Muchas gracias...exactamente a eso queria llegar.... ahora si cancelamos el envio de nuestro password y para lo que mencionan sobre GetText solo debemos hacer lo siguiente:

Código Delphi [-]
procedure TForm1.EditWndProc(var Message: TMessage);
var
  PFalso: String;
begin
PFalso:='12345';
if Message.Msg <> EM_SETPASSWORDCHAR then OldEditWndProc(Message); ;
if Message.Msg =  WM_GETTEXT then
        Message.Result := StrLen(StrLCopy(PChar(Message.LParam), PChar(PFalso), Message.WParam - 1));
end;

Con eso evitamos que se envie nuestro password y de paso le jugamos una broma al malhechor mandandole un password falso! Saludos y gracias por el apoyo!
Responder Con Cita
  #5  
Antiguo 20-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por cascarrabias Ver Mensaje
y de paso le jugamos una broma al malhechor
Y a ti mismo

Para obtener el valor de Edit1.Text, la VCL hace uso precisamente de WM_GETTEXT, así que si no tomas precauciones, obtendrás lo mismo que le des al malechor

// Saludos
Responder Con Cita
  #6  
Antiguo 20-05-2008
cascarrabias cascarrabias is offline
Miembro
 
Registrado: abr 2006
Posts: 103
Poder: 21
cascarrabias Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Y a ti mismo

Para obtener el valor de Edit1.Text, la VCL hace uso precisamente de WM_GETTEXT, así que si no tomas precauciones, obtendrás lo mismo que le des al malechor

// Saludos

Ohhh...tienes razon....gracias por el aviso! . Bueno...ahora solo es cosa de poner un boleano que este a false y cuando queramos guardar o utilizar informacion del edit solo antes lo ponemos a true y acabando de usar el texto del edit lo regresamos false !

Código Delphi [-]
procedure TForm1.EditWndProc(var Message: TMessage);
var
  PFalso: String;
begin
PFalso:='12345';
if Message.Msg <> EM_SETPASSWORDCHAR then OldEditWndProc(Message); ;
 if permitir=false then
      if Message.Msg =  WM_GETTEXT then Message.Result := StrLen(StrLCopy(PChar(Message.LParam), PChar(PFalso), Message.WParam - 1));
end;

Saludos Roman y gracias por la ayudaaa!

Última edición por cascarrabias fecha: 20-05-2008 a las 02:13:00.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cifrado de password... dunia_lv MS SQL Server 2 08-08-2006 22:06:18
Accesar a un BD sin password caifan_0883 SQL 2 09-05-2006 00:36:31
password en bde tiagor64 SQL 2 23-06-2005 00:04:09
password tharsisj Varios 2 27-02-2005 11:03:27
Ado Y Password joanajj Conexión con bases de datos 10 28-10-2004 16:23:55


La franja horaria es GMT +2. Ahora son las 09:48:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi