Nach Hause
Top.Mail.Ru Yandeks.Metrika
Forum: "Haupt";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

Nach unten

KillSelf Finden Sie ähnliche Zweige


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

Wie lässt man ein Programm Selbstmord begehen? Der Strom ist nicht beim Neustart, sondern in Echtzeit!



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

Selbstmord - bedeutet, von der Schraube zu entfernen?
Sie muss nur noch in Erinnerung bleiben, von wo sie sich ruhig von der Schraube wischt und dann zu sich selbst sagt: Schließen.



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

Ja, von der Schraube entfernen. Aber er will sich nicht selbst löschen - die Sanddatei ist gesperrt (offensichtlich ist nicht alles in seinem Speicher, aber sie lädt und hält sie offen) :(



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

Na natürlich! Wenn nicht dringend, dann schreibe ich als (jetzt beschäftigt), bis ich mich nur noch an die Reste der dosovsky-Optionen aus dem "Kampf im Gedächtnis" erinnere.



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

Ok, es wird Zeit sein, werfen Sie es an gu-gu-gu2@mtu-net.ru oder schreiben Sie es hier.



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

Ich kann mich nicht erinnern, wo ich ausgegraben habe, beendet das Programm und entfernt es von der Schraube.
Erzählen Sie mir, wie es funktioniert, insbesondere interessiert mich das Auftreten von API-Aufrufen. Die Software hat gezeigt, dass es sich nicht nur um einen Übergang zu einer Funktionsadresse handelt, sondern um einige Verzerrungen in kernel32, und dann wird api selbst aufgerufen, und so weiter. Was ist das und wie werden die Parameter übertragen?

verwendet
Fenster;

Prozedur DeleteSelf;
var hModule: THandle;
szModuleName: Array [0..MAX_PATH] von char;
hKrnl32: THandle;
pExitProcess, pDeleteFile, pFreeLibrary, pUnmapViewOfFile: Zeiger;
ExitCode: UINT;
beginnen
hModule: = GetModuleHandle (null);
GetModuleFileName (hModule, SzModuleName, Größe von (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 und GetVersion ()) <> 0 dann
// Win95, 98, Me
asm
lea eax, szModuleName
Exitcode drücken
drücke 0
drücken Sie eax
pExitProcess drücken
hModule drücken
Drücken Sie pDeleteFile
pFreeLibrary drücken
ret
Ende
sonst
beginnen
CloseHandle (THANDLE (4));
asm
lea eax, szModuleName
Exitcode drücken
drücke 0
drücken Sie eax
pExitProcess drücken
hModule drücken
Drücken Sie pDeleteFile
pUnmapViewOfFile drücken
ret
Ende
Ende
end;



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

Meine Herren, warum so viele Tricks? :) wenden Sie sich an die FAQ unter 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 ist nicht richtig. Milz hat die richtige Entscheidung getroffen. Hier im WinApi-Forum haben wir diese Entscheidung ausführlich betrachtet.



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

über die "Richtigkeit" - müssen Sie sich mit Digitman beraten. Meiner Meinung nach hat er sich dafür interessiert und tiefer gegraben. Wenn IMHO möchte er teilen. Was ich persönlich bezweifle, weil das Thema "rutschig" ist.



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

2 Und hier:
:) Nun, wenn Digitman nicht teilen will, werde ich es teilen.

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

Siehe den Link für Winnt / 2k



Seiten: 1 ganze Branche

Forum: "Haupt";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

nach oben





Speicher: 0.57 MB
Zeit: 0.036 c
7-22423
Alex_K_xelA
2001-09-21 18:55
2002.01.08
Lesen von Sektoren von einer CD-ROM


6-22273
Denis Titov
2001-10-06 11:50
2002.01.08
Lokale Netzwerke aufbauen


4-22457
Zabl
2001-11-01 13:15
2002.01.08
Problem mit der DLL


1-22080
Delphimun
2001-12-18 17:11
2002.01.08
Wie lade ich den Cursor von der Ressource und speichere ihn dann auf der Festplatte?


14-22384
Fremd
2001-11-07 08:13
2002.01.08
TV-6-Fans und Shows





Afrikanisch Albanien Arabisch Armenisch Aserbaidschanisch Baskisch Weißrusse Bulgarisch katalanisch Chinesisch (vereinfacht) Chinesisch (traditionell) kroatisch Tschechisch Dänisch Niederländisch Englisch estnisch Philippinisch Finnisch Französisch
Galicisch Georgisch Deutsch Griechisch haitian Creole Hebräisch Hindi ungarisch isländisch Indonesian irisch Italienisch Japanisch Koreanisch lettisch litauisch Makedonisch Malay Maltesisch Norwegisch
persisch Polnisch Portugiesisch Rumänisch Russisch serbisch Slovakisch Slowenisch Spanisch Suaheli Schwedisch Thai Türkisch Ukrainisch Urdu Vietnamesisch Walisisch Jiddisch Bengalisch Bosnisch
cebuano Esperanto Gujarati Hausa Hmong igbo Javanisch kannada Khmer Laotisch Lateinisch Maorisch Marathi Mongolisch nepali Pandschabi Somalisch Tamilisch Telugu Yoruba
Zulu
Английский Französisch Deutsch Italienisch Португальский Russisch Spanisch