Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

abajo

Suicidarse Encontrar ramas similares


T2   (2001-12-14 03:22) [0]

¿Cómo hacer que un programa se suicide? ¡La corriente no está en reinicio, sino en tiempo real!



KilkennyCat   (2001-12-14 04:12) [1]

Suicidio: ¿significa quitar del tornillo?
Solo tiene que vivir en la memoria, desde donde se borra tranquilamente del tornillo y luego se dice a sí misma: cerca.



T2   (2001-12-14 04:32) [2]

Sí, extracción del tornillo. Pero él no quiere borrarse a sí misma: el archivo de grit está bloqueado (obviamente, no está todo en su memoria, pero lo carga y lo mantiene abierto) :(



KilkennyCat   (2001-12-14 04:37) [3]

Bueno, por supuesto! Si no es urgente, escribiré como (ahora ocupado), hasta que solo recuerde los restos de las opciones de dosovsky de la "batalla en la memoria".



T2   (2001-12-14 05:32) [4]

Ok, habrá tiempo, lance a gu-gu-gu2@mtu-net.ru o escriba aquí.



Milz   (2001-12-14 09:31) [5]

No recuerdo dónde desenterré, completa el programa y lo quita del tornillo.
Dígame cómo funciona, específicamente, estoy interesado en cómo ocurren las llamadas a la API, el software mostró que no es solo una transición a una dirección de función, sino algunas perversiones en kernel32, y luego se llama a la propia API, y así sucesivamente con cada una. ¿Qué es y cómo se transmiten los parámetros?

usos
ventanas;

procedimiento DeleteSelf;
var hModule: THandle;
szModuleName: matriz [0..MAX_PATH] de char;
hKrnl32: THANDLE;
pExitProcess, pDeleteFile, pFreeLibrary, pUnmapViewOfFile: puntero;
Código de salida: UINT;
comenzar
hModule: = GetModuleHandle (nil);
GetModuleFileName (hModule, szModuleName, sizeof (szModuleName));
hKrnl32: = GetModuleHandle ("kernel32");
pExitProcess: = GetProcAddress (hKrnl32, "ExitProcess");
pDeleteFile: = GetProcAddress (hKrnl32, "DeleteFileA");
pFreeLibrary: = GetProcAddress (hKrnl32, "FreeLibrary");
pUnmapViewOfFile: = GetProcAddress (hKrnl32, "UnmapViewOfFile");
ExitCode: = system.ExitCode;
si ($ 80000000 y GetVersion ()) <> 0 entonces
// Win95, 98, Yo
asm
lea eax, szModuleName
empujar exitcode
empuje 0
empuje eax
empujar pExitProcess
empujar hModule
push pDeleteFile
empujar pFreeLibrary
retirado
final
más
comenzar
CloseHandle (THANDLE (4));
asm
lea eax, szModuleName
empujar exitcode
empuje 0
empuje eax
empujar pExitProcess
empujar hModule
push pDeleteFile
empujar pUnmapViewOfFile
retirado
final
final
fin;



Andrey   (2001-12-14 10:34) [6]

Señores, ¿por qué tantos trucos? :) contáctese con las preguntas frecuentes en http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988621694&n=15



paul_shmakov   (2001-12-15 01:14) [7]

2 Andrey:
Preguntas frecuentes no está bien. Milz dio la decisión correcta. Aquí en el foro de WinApi, hemos considerado esta decisión en detalle.



А вот   (2001-12-15 01:41) [8]

sobre la "corrección" - hay que consultar con Digitman. En mi opinión, se interesó en esto y profundizó. Si en mi humilde opinión quiere compartir. Lo que yo personalmente dudo, porque el tema es "resbaladizo".



paul_shmakov   (2001-12-16 02:13) [9]

2 Y aquí:
:) Bueno, si Digitman no quiere compartir, entonces compartiré.

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1004956210&n=5

ver enlace, bueno, muy detallado para winnt / 2k



Páginas: 1 rama entera

Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba









Memoria: 0.58 MB
Tiempo: 0.026 c
14-22409
Vadim
2001-11-12 13:56
2002.01.08
¿O tal vez no nos golpearemos las manos?


1-22136
Dorixe
2001-12-20 09:40
2002.01.08
Proekt


3-21912
Sergei N.
2001-12-04 06:23
2002.01.08
Manejo de fechas desde IB hasta Delphi y viceversa.


3-21992
dlK
2001-12-06 15:21
2002.01.08
Como no dar un programa.


1-22147
vinni2000
2001-12-20 12:59
2002.01.08
Necesito consejos sobre RichEdit !!!!!!!!





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish Francés
gallego georgiano Alemán Griego criollo haitiano hebreo hindi Húngaro islandés Indonesian irlandés Italiana Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español