|
|
|
#1
|
|||
|
|||
|
.
Hi Robman,
ich kann dir ein bisschen helfen .API-Funktionen checken ob die cd-rom eingelegt ist damit davon gelesen werden kann. beispiele hierzu wären: GetDriveTypeA GetVolumeInformationA GetDriveAttributeA FindFirstFileA SetCurrentDirectoryA GetFileSize CreateFileA GetDiskFreespaceA GetFileAttributeA mciSendCommandA & mciSendStringA (bei AudioCD's) --------------------------------------- GetDriveTypeA ist die wichtigste, denn sie checkt ob de CD eingelegt ist oder nicht. Nun ein bisschen Theorie: das grosse "A" am ende jeder dieser API-Funktionen besagt, dass es eine 32 Bit-Anwendung ist. Würde das "A" fehlen wäre es eine 16 Bit-Anwendung (für DOS). (soll aber jetzt nicht stören, da dass nicht sooo wichtig für uns ist) Die API-Funktion GetMessageBoxA die oben jetzt nicht aufgeführt ist, ist dazu da, die Fehlermeldung im Pop-up Fenster, gleich zu anfang, wenn man versucht das Spiel ohne CD zu starten, auszugeben. D.h. dann auch, dass diese Messagebox gelöscht werden muss .Sicherlich gibt es noch mehr als die oben genannten Funktionen, denn die CD-Protection selber, also der Kopierschutz wird bestimmt auch bei manchen Spielen extra abgefragt. Hmm, was gibts noch zu sagen?! Also Assembler sollte man können, damit man die einzelnen Code-Zeilen versteht. Desweiteren sollte man sich mit einem Dissassembler auskennen und auch noch einem Hex-Editor, denn diese zwei Programme braucht man auf alle Fälle. Will man z.B., wie oben gesagt, die Messagebox löschen muss man sie aus dem Programm nopen - mehr dazu kannst du von mir per PN (private nachricht) erfahren, denn hier will ich nicht näher darauf eingehen .mfg GSCA-Member |
| Sponsored Links |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|