Casa
Top.Mail.Ru Yandeks.Metrika
Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

Para baixo

KillSelf Encontre agências semelhantes


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

Como fazer o programa cometer suicídio? A corrente não está na reinicialização, mas em tempo rial!



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

Suicídio - ou seja, remoção do parafuso?
Ela apenas tem que viver na memória, de onde se apaga calmamente do parafuso, e então diz para si mesma: feche.



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

Sim, remoção do parafuso. Mas ela não quer se excluir - o arquivo de grãos está bloqueado (obviamente, nem tudo entra na memória, mas é carregado e mantém o exe aberto) :(



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

Bem, claro! Se não for urgente, escreverei como (agora ocupado), enquanto lembro apenas fragmentos de opções dosovskih da "batalha na memória".



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

Ok, haverá tempo, solte-o em gu-gu-gu2@mtu-net.ru ou escreva aqui.



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

Não me lembro de onde descobri, encerro o programa e o remove do parafuso.
Diga-me como funciona, estou especificamente interessado em como as chamadas da API acontecem, o software mostrou que não há apenas uma transição para o endereço da função, mas algum tipo de perversão no kernel32 e, em seguida, a própria API é chamada e assim por diante. o que é e como são passados ​​os parâmetros?

usos
janelas;

procedimento DeleteSelf;
var hModule: THandle;
szModuleName: matriz [0..MAX_PATH] de char;
hKrnl32: THandle;
pExitProcess, pDeleteFile, pFreeLibrary, pUnmapViewOfFile: ponteiro;
Código de saída: UINT;
começar
hModule: = GetModuleHandle (nulo);
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;
if ($ 80000000 e GetVersion ()) <> 0 então
// Win95, 98, Eu
asm
lea eax, szModuleName
push exitcode
pressione 0
empurre eax
push pExitProcess
push hModule
push pDeleteFile
push pFreeLibrary
ret
final
outro
começar
CloseHandle (THANDLE (4));
asm
lea eax, szModuleName
push exitcode
pressione 0
empurre eax
push pExitProcess
push hModule
push pDeleteFile
push pUnmapViewOfFile
ret
final
final
end;



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

Senhores, por que tantos truques :) entre em contato com o FAQ em http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988621694&n=15



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

2 Andrey:
FAQ não está certo. Mas Milz deu a solução certa. aqui no fórum WinApi, examinamos essa solução em detalhes.



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

sobre "correção" - você precisa consultar o Digitman. Na minha opinião, ele se interessou por isso e se aprofundou. Se IMHO ele quer compartilhar. O que eu duvido pessoalmente, porque o tópico é escorregadio.



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

2 E aqui:
:) Bem, se o Digitman não quiser compartilhar, eu o compartilharei.

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

veja o link, bem, muito detalhado para winnt / 2k



Страницы: 1 filial inteira

Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

em cima









Memória: 0.58 MB
Hora: 0.026 c
1-22011
Ksergey
2001-12-16 14:26
2002.01.08
Como capturar a tecla TAB?


14-22396
Esmerilhão
2001-11-02 09:54
2002.01.08
Hoje é um dia feliz! Além disso, sexta-feira ...


1-22106
Andrey196
2001-12-19 18:24
2002.01.08
Desculpe pela pergunta lamer como imprimir imagem


1-22221
Azedar
2001-12-16 21:00
2002.01.08
Recursos


14-22377
sudiv
2001-11-08 10:54
2002.01.08
C ++?





afrikaans albanês Arabic armênio azerbaijano basco belarusian Bulgarian catalão Chinês simplificado) Chinês tradicional) croata checo dinamarquês Dutch Inglês estoniano filipino Finnish French
Galego georgiano German grego crioulo haitiano hebraico hindi húngaro islandês Indonesian irlandês Italian Japanese Korean letão lituano macedónio Malay maltês Norwegian
persa polonês Portuguese Romeno Russa sérvio Slovak esloveno Espanhol swahili sueco tailandês turco ucraniano urdu vietnamita galês ídiche bengali bósnio
cebuano esperanto gujarati hausa hmong igbo javanês kannada khmer lao latino maori marata mongol Nepali punjabi somali tâmil telugu yoruba
zulu
Английский francês Alemão Italiano Португальский russo Espanhol