Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Codigo sin utilidad (https://www.clubdelphi.com/foros/showthread.php?t=41240)

roman 04-05-2007 21:58:30

Ya ves que Windows no es taaaan malo ;) :p El problema es que "todos" lo usamos con la cuenta de administrador en lugar de hacerlo con una normal y usar runas para tareas especiales. Tal como el sudo.

// Saludos

Casimiro Notevi 04-05-2007 23:38:04

Pero el problema es que (y con este comentario no quiero iniciar un nuevo debate sobre algo tan repetido) normalmente, casi todos los programas necesitan trabajar con el usuario "administrador", así que no sirve casi para nada. ;)

roman 04-05-2007 23:52:54

Cita:

Empezado por Casimiro Notevi
normalmente, casi todos los programas necesitan trabajar con el usuario "administrador"

Pero, ¿tú estás seguro de esto? ¿Me juras, que como usuario "normal" no puedo usar mi office, mis programas de video, mis juegos, mi correo, mi navegador, vamos, lo que un usuario cualquiera hace todos los días?

// Saludos

seoane 04-05-2007 23:53:51

Cita:

Empezado por Casimiro Notevi
Pero el problema es que (y con este comentario no quiero iniciar un nuevo debate sobre algo tan repetido) normalmente, casi todos los programas necesitan trabajar con el usuario "administrador", así que no sirve casi para nada. ;)

No todos, solo los mal programados :p :D

A veces las discusiones entre linux y windows se deben solo al desconocimiento. Los partidarios de linux suelen desconocer todas las posibilidades que ofrece windows, y viceversa. Que un güindusero no conozca linux, es habitual y hasta "entendible", pero encontrarse a señores ingenieros informáticos, con unos conocimientos sobre UNIX/LINUX considerables y que no conocen bien windows ya no lo veo tan entendible, aunque a veces pasa.

Por eso, en vez de echarse en cara unos a otros las virtudes de sus respectivos sistema operativo, yo creo que lo mejor es preguntar primero que solución puede ofrecer el sistema del otro. Y una vez se conocen ambas alternativas, ya podemos discutir (siempre amigablemente) cual es mejor.

;) Perdón por el rollo.

PD: Con respecto al runas / sudo, el sudo lo puede utilizar cualquier usuario que este autorizado sin saber la clave de root, solo su propia clave, mientras que para usar el runas es necesario conocer la clave del usuario al que se quiere suplantar (en este caso el administrador).

roman 05-05-2007 00:00:02

Cita:

Empezado por seoane
PD: Con respecto al runas / sudo, el sudo lo puede utilizar cualquier usuario que este autorizado sin saber la clave de root, solo su propia clave, mientras que para usar el runas es necesario conocer la clave del usuario al que se quiere suplantar (en este caso el administrador).

Esto lo veo como ventaja del sudo. Pero una pregunta: en windows podemos poner distintos usuarios en el grupo de administradores. ¿No equivaldría ésto- más o menos -a lo que hace el sudo?

Pero, en realidad me surge otra pregunta:

Código:

sudo password root
Si soy sudoroso, puedo hacer esto, ¿no?

// Saludos

seoane 05-05-2007 00:13:24

Cita:

Empezado por roman
Esto lo veo como ventaja del sudo. Pero una pregunta: en windows podemos poner distintos usuarios en el grupo de administradores. ¿No equivaldría ésto- más o menos -a lo que hace el sudo?

En windows si agregas un usuario al grupo de administradores, automáticamente es un administrador, ya no le hace falta el runas a menos que quiera rebajar sus propios derechos. En linux, hasta donde yo se, solo puede haber un root, y el sudo permite en un momento determinado suplantar al root (o a otro usuario) sin necesidad de saber la clave de root.

Cita:

Empezado por roman
Si soy sudoroso, puedo hacer esto, ¿no?

:D Siendo sudoroso puedes hacer lo que quiereas, incluso esto:
Código:

sudo passwd
que justamente es la manera de asignarle una clave al usuario root en un ubuntu. Pero fíjate que puedes cambiar la clave de root, pero no puedes averiguarla, puede parecer lo mismo pero no lo es.

mamcx 05-05-2007 01:20:02

Cita:

Empezado por Casimiro Notevi
casi todos los programas necesitan trabajar con el usuario "administrador", así que no sirve casi para nada. ;)

Un circulo vicioso. Como los usuarios novatos.. ejem... programadores... andan como amos y señores del universo pues hacen programas prepotentes.

Tonces alguien humilde obvio va a chocar.

Ahora, de poderse si se puede. Lo que pasa es que tocaria empezar a modificar las propiedades de seguridad, politicas del sistema, etc... para ajustar el programa.

Un factor que hace que los OS derivados de *nix sean "seguros" es precisamente eso. Simplemente los usuarios de esos entornos estan mas acostumbrados.

En mi caso, intente como 10 veces hacer lo que hago ahora. No por dificil, sino por pereza.

Casimiro Notevi 05-05-2007 01:59:27

Pues sí, ese es el asunto, más o menos sucede siempre así:
Cliente nuevo (con servidor windows). Todo hecho un asquito. Se limpia, se arregla, se afina, se crean usuarios "normales" y se les da permiso sólo para lo que usan. Al día siguiente llaman con algún problema. Llamas al fabricante del software y la constestación típica: "es que nuestro programa llama a xxx.dll del windows y necesita privilegios de administrador". Se acabó la poca seguridad, abrir el sistema a todo el mundo y dejarlo como estaba al principio :mad:.

Tal y como comentas, mamcx, los programadores windows, por lo general, están muy mal acostumbrados, igual que los usuarios, y quieren ser administradores para poder hacer lo que les parezca sin barrera alguna.
Así están casi todos los sistemas windows, se juntan las dos cosas: que no sea demasiado seguro y los usuarios, que son unos manazas y se aprovechan de ello.

roman 05-05-2007 06:03:02

Cita:

Empezado por Casimiro Notevi
Tal y como comentas, mamcx, los programadores windows, por lo general, están muy mal acostumbrados, igual que los usuarios, y quieren ser administradores para poder hacer lo que les parezca sin barrera alguna.

Siguiendo el hilo de otros argumentos tuyos al respecto de Linux, esto, programas mal hechos, ¿son culpa del SO?

// Saludos

Casimiro Notevi 05-05-2007 22:52:24

Cita:

Empezado por roman
Siguiendo el hilo de otros argumentos tuyos al respecto de Linux, esto, programas mal hechos, ¿son culpa del SO?

// Saludos

Por supuesto que no.

seoane 05-05-2007 22:59:15

Y me pregunto, esto tres "maestros" solo se van a acercar a este hilo para discutir sobe Linux, porque seguro que algún código interesante/curioso/inútil tienen por ahí :p :)

PD: Si alguien se anima a poner algo, por favor que por lo menos compile. Porque últimamente el tema esta yéndose al absurdo, y no es lo mismo absurdo que inútil :) :p

Casimiro Notevi 06-05-2007 00:51:26

1 Archivos Adjunto(s)
Bueno, aunque yo no sea ningún maestro (ojalá), aquí va un pequeño aporte.
Buscando en el baúl de los recuerdos encontré este programita que sirve para programar la hora de apagado de windows... y que se apague, obviamente.
Tiene un par de componentes de las RX y estaba hecho con Delphi 7.

roman 06-05-2007 03:13:24

Cita:

Empezado por seoane
Y me pregunto, esto tres "maestros" solo se van a acercar a este hilo para discutir sobe Linux

Es que, mientras algunos buscan su nombre en los hilos (ji, ji, disculpa, no me puede resistir :D), otros buscan "linux" y otros buscamos "polémica".

:D

// Saludos

seoane 06-05-2007 04:43:47

Cita:

Empezado por roman
Es que, mientras algunos buscan su nombre en los hilos

Si solo fuera eso, a veces hasta me busco en google :o :D
Cita:

Empezado por Casimiro
Bueno, aunque yo no sea ningún maestro (ojalá), aquí va un pequeño aporte.

Excelente, alguien mas que se anima :) . Yo que ya daba este hilo por muerto.

Prometo que si se anima mas gente, yo también colocare algo.

seoane 06-05-2007 05:13:30

Bueno, ahí va un código que NUNCA DEBES EJECUTAR.
Código Delphi [-]
 // ....
 TMatame = class(TThread)
  protected
    procedure Execute; override;
  end;

// ....
uses PsApi, ShellApi;

function CuantosSomos: Integer;
var
  Procesos: array[1..1024] of DWORD;
  Needed, i: DWORD;
  Process: THandle;
  ModName: array[0..MAX_PATH] of Char;
begin
  Result:= 0;
  if EnumProcesses(@Procesos,SizeOf(Procesos),Needed) then
  begin
    for i:= 1 to (Needed div Sizeof(DWORD)) do
    begin
      Process := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,
        FALSE,Procesos[i]);
      if Process <> 0 then
      begin
        if GetModuleFileNameEx(Process,0,ModName,SizeOf(ModName)-1)>0  then
        begin
          if StrIComp(ModName,PChar(ParamStr(0))) = 0 then
            inc(Result);
        end;
        CloseHandle(Process);
      end;
    end;
  end;
end;

{ TMatame }
procedure TMatame.Execute;
begin
  FreeOnTerminate:= TRUE;
  while (TRUE) do
  begin
    if CuantosSomos < 4 then
      ShellExecute(0,nil,PChar(ParamStr(0)),nil,nil,sw_show);
    Sleep(10);
  end;
end;

Para activar la tontería, (NO LO HAGAS)
Código Delphi [-]
TMatame.Create(FALSE);

fer21unmsm 07-05-2007 22:09:15

Hola compañeros, al parecer el comando runas ha causado cierto debate jeje (lo hice a propósito):D, ya que sus comentarios son muy interesantes y practicamente ese era mi objetivo :p, bueno tal vez me salga del tema del hilo con esta pregunta pero ahí va: Que opinan del comando at, según tengo entendido, si estoy en una pc como usuario restringido, con este comando puedo escalar privilegios, y como evitar esto (¿sólo parando el servicio?, o que otra cosa se podría hacer?.

saludos cordiales

seoane 07-05-2007 22:21:01

Cita:

Empezado por fer21unmsm
si estoy en una pc como usuario restringido, con este comando puedo escalar privilegios

:eek: Caramba, eso me gustaría verlo. Sería un fallo de seguridad tremendo, ¿estas seguro de eso? ¿como se utilizaría? ¿en donde puedo encontrar información sobre ese bug?

fer21unmsm 08-05-2007 01:05:47

Cita:

Empezado por seoane
:eek: Caramba, eso me gustaría verlo. Sería un fallo de seguridad tremendo, ¿estas seguro de eso? ¿como se utilizaría? ¿en donde puedo encontrar información sobre ese bug?

Hola Seoane, tal vez esto lo conozcan( esto me lo enseñaron en mi curso de auditoría, y claro que puedes encontrar información en google, sólo pon "comando at"), pero igual lo comento, para dicho comando que te mencioné "at", lo primero es:

Caso de Prueba:

-Estamos en una PC con windows XP, 2K, (supongo que el vista tambien, no lo he probado)
-Hemos entrado como usuario restringido.
-La condición es que el servicio para at este active, que supuestamente en la mayoría de pcs que he encontrado lo está.
-Poder acceder al "cmd" en ejecutar

-cuando se abra la consola, matas el proceso "explorer.exe", osea pones "ctrl+shift+esc" y terminas el proceso "explorer.exe"
-luego presionas alt+tab para buscar la consola que abristes, y en dicha consola escribes el siguiente comando:

at <hora:minutos> /interactive "explorer.exe"

Ejemplo:

at 17:35 /interactive "explorer.exe"

En la hora y minutos, tienes que programar la tarea para que se active unos minutos despues (cosa que te da tiempo a escribir el comando)

Entonces cuando llega esa hora es decir 17:35, se levanta de nuevo el "explorer.exe", pero como administrador del sistema, y porqué sucede esto, yo pienso que el explorer contiene la parte del codigo que indica si que tipo de usuario es y de acuerdo a ello, te muestra sólo las cosas que puedes hacer, pero como el que levantó el explorer.exe, nuevamente fue el propio sistema(mediante la tarea), sin haberte logeado entonces supongo que te da permisos para todo, jeje:p

Espero os sirve (o mejor dicho espero no sirva):D
Yo lo hice en mi pc para probar, y muy bueno para que.

Saludos cordiales

seoane 08-05-2007 01:19:02

El único problema que le veo es que un usuario limitado no puede usar el comand "at". No al menos con una configuración estándar de windows.

Para muestra:
Código:

C:\Documents and Settings\Usuario>at 0:13 /interactive explorer.exe
Acceso denegado.

:confused:

fer21unmsm 08-05-2007 01:28:15

Cita:

Empezado por seoane
El único problema que le veo es que un usuario limitado no puede usar el comand "at". No al menos con una configuración estándar de windows.

Para muestra:
Código:

C:\Documents and Settings\Usuario>at 0:13 /interactive explorer.exe
Acceso denegado.

:confused:


Bueno al menos sabemos que esta bien configurado el permiso para utilizar ese servicio, jeje:D, pero por ejemplo he probado en algunas pcs de aquí en la empresa donde trabajo , y no pasa lo mismo, ya que he podido apropiarme de las pcs con todos los privilegios del sistema, es decir, entonces de esto puedo deducir que las pcs aquí en mi empresa estan mal configuradas su seguridad, tendré que dar parte al staff que ve la seguridad.

PD: Las Pcs de mi empresa usan Windows XP, y su usuario es "Usuario restringido", que raro no?. Supongo que el administrador de la pc habrá configurado bien las politicas de seguridad, en el mio no :(

Caral 11-05-2007 20:49:49

Hola
Bueno aqui esta mi codigo sin utilidad.
Es un boton, nunca he podido presionarlo.
Saludos

seoane 11-05-2007 20:55:49

Excelente, poco a poco todos estamos dejando algo. Gracias Caral.

seoane 13-05-2007 20:06:06

1 Archivos Adjunto(s)
Estaba pensando en incluir mi dirección de correo en mi pagina web, cuando recordé que eso puede provocar una avalancha de spam. Al menos eso cuentan por ahí, que hay montones de spiders revisando a conciencia toda la web en busca de direcciones de correo, por dios cuanta maldad hay en el mundo :D

Leyenda urbana o no, es una buena ocasión para crear "código inútil". El siguiente programa crear a partir de un texto, una imagen, mas o menos legible para un ser humano, pero bastante complicada de leer por un OCR (un programa para reconocer texto). Además le da unos bonitos colores :p

Un ejemplo:
http://img46.imageshack.us/img46/9843/arrobaij6.jpg

Caral 13-05-2007 22:22:30

Hola
Muy bonito, la verdad, simpatico y util.
Cada vez me sorprendes mas, de donde sacas tantas ideas?, es impresionante tu conocimiento.
Saludos

seoane 13-05-2007 22:29:22

Cita:

Empezado por Caral
de donde sacas tantas ideas?

Tengo demasiado tiempo libre :p

Delphius 13-05-2007 22:29:26

Seoane, este último ejemplo estuvo muy bueno...
Colorido...

Cita:

Empezado por seoane
mas o menos legible para un ser humano, pero bastante complicada de leer por un OCR

Y si quieres que sea ilegible, tan solo le pones una fuente "rara" como symbols.:D

Cita:

Empezado por Caral
¿de donde sacas tantas ideas?

Eso mismo me pregunto yo.

Quisiera tener la mitad de las ideas que tienes. Pareces mago, siempre sacando algo de la galera, o debajo de la manga.

Saludos,

PD: ando viendo aquel truco del MD5 y SHA1 que pusiste. Creo que me puede dar una idea de como hacer más seguro mi sistema.

Caral 13-05-2007 22:49:29

Hola
Pues no se ha que se debe el tiempo libre, con la mitad de tu conocimiento, no tendria tiempo, estaria por mi cuenta ganando un paston.
Creo que tienes que vender ese conocimieno, vamos seoane, ya es hora.
Saludos

Delphius 14-05-2007 06:11:57

Cita:

Empezado por Caral
Pues no se ha que se debe el tiempo libre, con la mitad de tu conocimiento, no tendria tiempo, estaria por mi cuenta ganando un paston.
Creo que tienes que vender ese conocimieno, vamos seoane, ya es hora.

Me sumo a la idea. Vienes demostrando tu talento, y tu intelecto desde hace tiempo. Al igual que Caral opino que deberías intentar ganarte unos cuantos euros.

Caral, lo mismo digo por ti.
Tienen mucho a ganar.

Saludos, les deseo el mejor de los éxitos.

fer21unmsm 16-05-2007 05:52:25

1 Archivos Adjunto(s)
Hola compañeros del club otra vez aquí dejando otro código que tal vez no les sirva, se trata de un programita que hice en la cual puedes programar tareas para que se ejecuten en determinado momento, esto iba a formar parte de una agenda que pensaba crear.

Ahi les dejo el adjunto, si alguien se anima a mejorarlo, pues a buena hora

PD: En frecuencia poner ninguna, ya que las otras opciones no están programadas

Saludos cordiales:)

seoane 20-05-2007 13:41:32

1 Archivos Adjunto(s)
Inspirado en este otro hilo donde se habla de lo que podemos considerar el photoshop de los mandalas, he creado lo que podemos llamar el "paint" de los mandalas :p

Pues eso, a dibujar mandalas que relaja mucho :D

courtois 21-05-2007 02:27:57

Cita:

Empezado por Caral
Hola
Bueno aqui esta mi codigo sin utilidad.
Es un boton, nunca he podido presionarlo.
Saludos

jajaja cuando inicia la aplicación el boton tiene el foco

Neftali [Germán.Estévez] 24-05-2007 13:36:32

Como bien ha propuesto Seoane, parece que el tema de "Mandalas" ha dado para un hilo propio, así que él mismo ha abierto un nuevo hilo aquí, y yo he movido los post que había en este hasta el nuevo hilo (o lo he intentado :o)

Así que dejamos este para seguir con losódigos inútiles" y seguimos econ el tema de "Mandalas" en el nuevo.

Un saludo.

kuan-yiu 24-05-2007 13:40:28

Cita:

Empezado por Neftali
[...]
Así que dejamos este para seguir con losódigos inútiles" y seguimos econ el tema de "Mandalas" en el nuevo.

Hilo Mandalas:
http://www.clubdelphi.com/foros/showthread.php?t=43937

No es accesible, me dice:
"No Tema specified. If you followed a valid link, please notify the administrator"

Neftali [Germán.Estévez] 24-05-2007 13:49:56

Corregido.

seoane 19-07-2007 01:14:06

Bueno, este código fue en honor de los 2000 mensajes de Jhonny.
Código Delphi [-]
uses clipbrd;

function StrToStr(Str: string; S: Integer): string;
var
  Bitmap: TBitmap;
  i,j: integer;
begin
  Result:= '';
  // Creamos un Bitmap
  Bitmap:= TBitmap.Create;
  try
    // Ajustamos el tipo y tamaño de la fuente
    Bitmap.Canvas.Font.Name:= 'Arial Black';
    Bitmap.Canvas.Font.Size:= S;
    // Ajustamos el tamaño del Bitmap al tamaño del texto
    Bitmap.Width:= Bitmap.Canvas.TextWidth(Str);
    Bitmap.Height:= Bitmap.Canvas.TextHeight(Str);
    // Escribimos el texto en el bitmap
    Bitmap.Canvas.TextOut(0,0,Str);
    // Vamos leyendo pixel a pixel del bitmap
    for j:= 0 to Bitmap.Height - 1 do
    begin
      for i:= 0 to Bitmap.Width - 1 do
        // Por cada pixel blanco añadimos la letra _ al resultado
        if Bitmap.Canvas.Pixels[i,j] = $FFFFFF then
          Result:= Result + ' '
        else
          // y por cada pixel que no es blanco añadimos una X
          Result:= Result + 'X';
      // Al final de cada fila de pixeles añadimo al resultado un salto de linea
      Result:= Result + #13#10;
    end;
  finally
    // Eliminamos el bitmap, ya no lo necesitamos
    Bitmap.Free;
  end;
end;

function ContarX(Str: String): Integer;
var
  i: Integer;
begin
  Result:= 0;
  for i:= 1 to Length(Str) do
    if Str[i] = 'X' then
      inc(Result);
end;

function StrToStrN(Str: String; N: Integer): String;
var
  i: Integer;
begin
  i:= 8;
  while ContarX(StrToStr(Str,i)) < N do
    inc(i);
  Result:= StrToStr(Str,i-1);
end;

// Por ejemplo
var
  Str: String;
begin
  Str:= StrToStrN('Jhonny *',2000);
  Clipboard.AsText:= Str;
  ShowMessage(IntToStr(ContarX(Str)));
end;
Como veis, me da un texto de 1960 caracteres así que hay que añadirle las otras cuarenta X a mano :p :D

seoane 19-07-2007 21:28:13

1 Archivos Adjunto(s)
Tengo este hilo un poco abandonado, últimamente todo el código que hago es utilisimo :cool: :p :D

Aquí dejo este jueguecito, que no es que sea una maravilla pero para perder el tiempo sirve perfectamente. Según me contaron utilizaban algo parecido para entrenar a los pilotos, aunque espero que utilicen mejores gráficos :p

El juego consiste en mover con el ratón un rectángulo azul, intentando escapar de unos rectángulos rojos y sin salirse del rectángulo blanco. Gana el que mas tiempo consiga evitar una colisión.

Para comenzar el juego hay que pulsar sobre el recuadro azul y empezar a moverlo, si se suelta el botón el juego se para. En la barra de títulos aparece el tiempo actual y el tiempo mayor sin una colisión.

Pues nada, a perder el tiempo ...

Neftali [Germán.Estévez] 20-07-2007 09:20:00

Joer Domingo, dí la verdad, ¿¿¿Mientras duermes escribes código no???? :eek::eek:
Ya he perdido un rato el tiempo, y engancha eh!!!!!!! :D:D:D

seoane 20-07-2007 10:33:23

Cita:

Empezado por Neftali
Ya he perdido un rato el tiempo, y engancha eh!!!!!!! :D:D:D

Si, Si que engancha :D ¿Que tiempo haces?

MaMu 20-07-2007 10:39:03

Cita:

Empezado por seoane
Si, Si que engancha :D ¿Que tiempo haces?

Haaaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Me envicie mal, mal mal mal!!!!!!!!!

12 segundos maximo

:p

Neftali [Germán.Estévez] 20-07-2007 11:29:42

Cita:

Empezado por seoane
Si, Si que engancha :D ¿Que tiempo haces?

No he conseguido pasar de 31 sg. :(:(:(

Me pongo nervioso, miro cuanto tiempo llevo y me "pasan por encima" :(


La franja horaria es GMT +2. Ahora son las 15:43:45.

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