Programm nur einmal ausführbar

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

MisterIKS

Betreff: Programm nur einmal ausführbar

BeitragSo, Jan 25, 2009 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

ich hätte mal eine Frage, lässt es sich mit BlitzBasic realisieren, dass sich ein Programm nur einmal starten lässt?
Also, dass der Benutzer es z.B. herunterläd, einmal startet, solange benutzt wie er möchte, aber nach dem Schließen nicht mehr starten kann.

Ich wüsste in Visual Basic eine Lösung indem ich die eine Programmvariable verwende, die ich nach dem ersten öffnen auf False setze. So eine Variable würde nach dem Beenden gespeichert und könnte erneutes Starten verhindern.

In BlitzBasic habe ich aber keine Idee.
http://www.mphsoftware.de.vu
 

ChristianK

BeitragSo, Jan 25, 2009 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
*Sorry, Frage falsch verstanden!*
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
  • Zuletzt bearbeitet von ChristianK am So, Jan 25, 2009 15:38, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragSo, Jan 25, 2009 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Sebles Prinzip, du musst eine Datei anlegen und wenn die vorhanden ist wird nicht mehr gestartet. Allerdings wird es Leute geben die die Datei finden. Und andere die sich ärgern wenn man ihnre nso das System zumüllt.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

ozzi789

BeitragSo, Jan 25, 2009 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine Alternative wäre es mit einem Registry-eintrag zu lösen, such mal inner Forumsuche danach Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

coolo

BeitragSo, Jan 25, 2009 17:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder man macht es über die Server Methode. Du suchst dir Computer spezifische Sachen also Auflösung, Hardware, IP Adresse,... und sobald ein Eintrag mit den Einträgen, kannst du ziemlich sicher sein, dass es der Gleiche Computer ist.

Ansonsten würde ich dir anraten einfach eine Datei irgendwo zu erstellen.
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

Tankbuster

BeitragSo, Jan 25, 2009 18:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Sebles Prinzip, du musst eine Datei anlegen und wenn die vorhanden ist wird nicht mehr gestartet. Allerdings wird es Leute geben die die Datei finden. Und andere die sich ärgern wenn man ihnre nso das System zumüllt.


Nja, Blade....
Es wäre sinnvoller eine Datei mit ganz vielen sinnlos aussehenden Bytes zu erstellen, und nach Programm start ein Byte an Position x mit dem Wert Y auf einen anderen Wert zu setzen.
Beim nächsten Start ist der wert dann nichtmehr den Wert Y, und damit würde das Programm nicht starten.


Nja, knacken kann man es aber trotzdem leicht, indem man die Datei kopiert, und dann das Programm erst startet.........
Twitter
Download Jewel Snake!
Windows|Android
 

Rocys

BeitragDi, Jan 27, 2009 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

killer_stream=WriteFile("killer.bat")
WriteLine killer_stream,"echo destroyed>[Name des Programms].exe"
CloseFile killer_stream
ExecFile "killer.bat"
End

Das zerstoert einfach die Exe-Datei.

EDIT:
Ups, da ist beim Testen was schief gelaufen. Das geht ja tatsaechlich nicht. Sorry
  • Zuletzt bearbeitet von Rocys am Mi, Jan 28, 2009 0:52, insgesamt einmal bearbeitet

Smily

BeitragDi, Jan 27, 2009 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
setz ne umgebungsvariable.

Oder vergiss einfach diese einmal-starten-späße. Die meisten user mögen das garnicht und vergrault man mit sowas.

Grüße,
Smily

@Rocys: Man kann ein programm nicht löschen, während es läuft.
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Xaymar

ehemals "Cgamer"

BeitragDi, Jan 27, 2009 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
smily: doch kann man, aber nicht von bb aus... moment doch kann man, werde aber nicht sagen wie.
rocys: ich seh in der bat kein killprocess. wo beendet es also den prozess?

mich vergrault es auch das man ein programm nur einmal aufmachen kann(find ich eigentlich fies dem user gegenüber)
Warbseite
 

Omenaton_2

BeitragMi, Jan 28, 2009 11:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es ein Mal vor vielen Jahren für das Demo eines bedeutungslosen Mini-Spiels so gemacht:

Es gab eine Datei mit Informationen, die zum Teil für das Programm nötig waren, zum größten Teil aber nicht. Es gab auch eine Menge Müll drin (absichtlich), damit es nach viel aussah.
Eine einzige Ziffer davon, in einer bestimmten Zeile UND an einer bestimmten Stelle innerhalb der Zeile (zum Beispiel in Zeile 24 ist die Zahl "341121") war ein Counter, der bei jedem Programmstart um 1 erhöht wurde. In dem Beispiel könnte das die "4" sein. Es ist absichtlich so, daß diese Variable obwohl es als null gilt, nicht bei null anfängt (denn das wäre auffällig), sondern beispielsweise bei 4. Intern wird von dieser Variable bei der Auswertung immer 4 abgezogen.
Die Datei nicht da zu haben würde zum Absturz führen. Die einzige Möglichkeit den "nur 3 mal starten erlaubt Einschränkung" umzugehen wäre herauszufinden welche Ziffer der Counter ist oder den ganzen Programmcode knacken. Beides wäre für Profis möglich. Das ist keine sichere Methode. Aber, wozu auch ? Es lohnt sich meiner Überzeugung nach nicht, harte Kopierschutzmechanismen zu verwenden, es reicht wenn man es Otto Normal PC User nicht zu trivial macht. Leute, die was aufbrechen oder kopieren wollen können und werden es trotzdem tun.

ozzi789

BeitragMi, Jan 28, 2009 11:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Omenaton_2

Möglich wäre aber eine kopie der Datei zu erstellen, und die jedes mal wieder zu ersetzen Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Jan_

Ehemaliger Admin

BeitragMi, Jan 28, 2009 12:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Server Variante ist wohl eine der wenigen sinnvollen, aber auch eine Schwere.
Warum machst du es nicht wie alle, und machst einfach eine Zeitbegrenzung rein, oder eine Funktionsbegrenzung.
Kannst ja auch machen, dass das Programm nur zwischen 28.1.2009 und 17.2.2009 läuft.
between angels and insects

ozzi789

BeitragMi, Jan 28, 2009 12:54
Antworten mit Zitat
Benutzer-Profile anzeigen
@Jan

LoL dann kann man ja einfach das Datum ändern Wink
eine Zeit begrenzung wär auch ne gute idee, also im Sinne

Code: [AUSKLAPPEN]
if vergangenezeit > 5 min
end
endif
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Jan_

Ehemaliger Admin

BeitragMi, Jan 28, 2009 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Klar, kann man das Ozzi, aber wer macht denn das schon noch?
between angels and insects
 

Ava

Gast

BeitragMi, Jan 28, 2009 15:21
Antworten mit Zitat
Zylom macht das z.B. noch ... grad gestern noch gehabt "Sie dürfen diese Demo 30min ausprobieren, dann müssen Sie das Spiel kaufen oder von Anfang neu beginnen" ... blah ... *gg*

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group