Seite 1 von 3
Wie kann ich meine Anwendung abschmieren lassen?
Verfasst: 02.10.2007 17:58
von Kukulkan
Hallo,
Wie kann ich meine Anwendung am sichersten kontrolliert abschmieren lassen? Wichtig wäre, dass das erst nach ein paar weiteren Befehlen passiert und nicht sofort. Also so nach dem Motto ich rufe was auf, und dann stürtzt die Anwendung immer bei einem bestimten Befehl (zB was GUI Artiges) ab.
Beispiel:
Code: Alles auswählen
{irgendwas}
Böser CODE
{irgendwas}
{irgendwas}
Hier der Absturz weil zB SetGadgetText() aufgerufen wurde (oder sowas)
{irgendwas}
Kennt da jemand was?
Ach ja, fragt nicht warum
Volker
Re: Wie kann ich meine Anwendung abschmieren lassen?
Verfasst: 02.10.2007 18:12
von Kiffi
Volker Schmid hat geschrieben:Kennt da jemand was?
Grüße ... Kiffi
Verfasst: 02.10.2007 18:14
von milan1612
Noch schöner:

Verfasst: 02.10.2007 18:20
von Kukulkan
Danke danke, aber sowohl Division durch Null oder CallFunctionFast() lösen den Absturz direkt aus. Ich suche was um etwas verspätet abzuschmieren...
Volker
Verfasst: 02.10.2007 18:27
von DarkDragon
Code: Alles auswählen
Procedure CrashIt(Time.l)
Protected b.l
Delay(Time)
b / 0
EndProcedure
CreateThread(@CrashIt(), 1000)
Repeat
Delay(2)
ForEver

Komisch, dass das überhaupt jemand benötigt.
Verfasst: 02.10.2007 18:28
von NicTheQuick
Vielleicht ein paar Gosubs ohne Return oder Returns ohne Gosubs oder
Prototypen, die 2 Parameter haben, die du benutzt um eine Procedure mit
nur einem Parameter aufzurufen.
Volker hat geschrieben:Ach ja, fragt nicht warum
Warum?
Verfasst: 02.10.2007 18:38
von Kukulkan
Hi DarkDragon,
Das sieht sehr gut aus! Ich werde das am Donnerstag so testen.
Warum? Naja, ich prüfe die Integrität externer DLL's, indem ich eine Zahl berechne (wiederum aus den Hashcodes). Diese Zahl wird erst später im Code mal gesichtet. Ist diese falsch, so will ich mein Programm abschmieren lassen. Aber eben nicht sofort, denn dann findet ein Hacker die Stelle doch recht schnell. Ich möchte es lieber so, dass man eine Weile suchen muss... Ist nicht wirklich sicher, aber sollte ein paar Anfänger-Hacker schon auf die Probe stellen, oder?
Grüsse,
Volker
Verfasst: 02.10.2007 19:01
von Deeem2031
Hm, da wäre die Lösung von DarkDragon wahrscheinlich nicht so gut, da man ja leicht bemerkt das es ein extra thread ist. Dann muss man halt nurnoch suchen wo der gestartet wurde. Als ich den ersten Post gelesen hab dacht ich zuerst an "!SUB Esp, 4" oder ähnliches, das führt zwar nicht zwangsweise zum Absturz - aber das Programm macht auf jedenfall nicht das, was es soll, und es ist sehr verwirrend, wenn man nur den ASM-Code hat

Verfasst: 02.10.2007 19:09
von Fluid Byte
OnError Library
Verfasst: 02.10.2007 19:15
von Thorium
Erklärung:
Die Assembleranweisung setzt das Direction-Flag.
Sowohl PureBasic-Prozeduren als auch die Win-API gehen von einem gelöschten Direction-Flag aus. Deshalb passiert erstmal garnix. Erst wenn ein Code das Direction Flag verwendet z.b. um einen String zu scannen crasht es.