Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Se puede evitar cerrar un thread o hilo (https://www.clubdelphi.com/foros/showthread.php?t=92062)

DarkSton 14-07-2017 11:06:52

Se puede evitar cerrar un thread o hilo
 
Mi pregunta es ,se puede evitar cerrar un threads o hilo de ejecución
Por que hay programas como Process Hack que puede cerrar thread y si me preguntan para que es ,es para evitar cerrar mi sistema de protección

Reasen 14-07-2017 12:01:26

¿Tu sistema de qué??

Bueno para cerrar un thread simplemente guarda su 'Handle' y usa la api terminatethread por ejemplo:

Código Delphi [-]
var
  threadid: LongWord;

procedure hilo;
begin
  repeat
    messageboxa(0, pchar('test'), '', 0);
    Sleep(1000);
  until 1 = 2;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  threadid := BeginThread(nil, 0, addr(hilo), nil, 0, threadid);
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  TerminateThread(threadid, 0)
end;

Si lo que quieres es evitar que se cierren tendrás que mirar de localizar si la ID se ha cerrado y reabrirlo.

Sin contar que también pueden editar la memoria y hacer 1000 cosas más....

En cierto modo te es prácticamente inútil esa medida por lo comentado anteriormente, te recomiendo mirar de evitar cambios en la memoria.

Neftali [Germán.Estévez] 14-07-2017 13:06:30

Cita:

Empezado por DarkSton (Mensaje 519283)
se puede evitar cerrar un threads o hilo de ejecución
Por que hay programas como Process Hack que puede cerrar thread y si me preguntan para que es ,es para evitar cerrar mi sistema de protección

No se puede. Sea con el process Manager o conotras herramientas similares, si se tienen permisos, se pueden "matar" procesos y threads en ejecución.
Y por programación también con un código similar al que te comentan (que al final van a ejecutar el mismo código).

Creo que la solución (no te lo puedo asegurar 100%) va por que revises los "servicios".

A parte de esta que parece (al menos para mi la más sencilla) tienes otras sugerencias a priori más raras. Revisa este hilo porque se explican algunas.

Ñuño Martínez 14-07-2017 14:53:46

En esa lista creo que falta el "Supervisor": un programa externo que monitoriza el funcionamiento del hilo que se quiere que no termine nunca de forma que, si muere, vuelve a lanzarlo. Ojo, eso no evita que se pueda cerrar el hilo, sólo asegura que el servicio, el que sea, sigue funcionando (hasta cierto punto, porque si se mata al supervisor el servicio se parará).

Neftali [Germán.Estévez] 14-07-2017 16:08:34

Cita:

Empezado por Ñuño Martínez (Mensaje 519293)
En esa lista creo que falta el "Supervisor": un programa externo que monitoriza el funcionamiento del hilo que se quiere que no termine nunca de forma que, si muere, vuelve a lanzarlo.

El problema es que el propio Process Explorer o similar te dice quien ha lanzado un programa o la línea de commandos con el que se lanza.
Por lo tanto en lugar de "matar" el proceso, habrá que "matar" primero el supervisor.

DarkSton 14-07-2017 16:26:22

Mi sistema de seguridad es para mi servidor "seguridad.dll" al menos existe la forma de ver si el threads de mi dll esta activa o simplemente hay una forma de hacer que si se cierra la dll desde el threads también se cierre la aplicación que lo lanzo este este caso mis archivos son
Gunbound.exe y seguridad.dll

mamcx 14-07-2017 18:47:54

99 de 100 veces la "seguridad" que implementan los programadores es una ficción envuelta en una fantasia aderezada de misterio.

O dicho de otra forma, es mas importante que el esquema/modelo/flujo de datos este implementado correctamente que el código en si (y que ese esquema NO SEA un invento propio, que este vetado por expertos!).

Porque de lo contrario estaras esforzandote en hacer algo que a la final un hacker mirara y ni siquiera notara...


La franja horaria es GMT +2. Ahora son las 10:04:34.

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