![]() |
Dateisperre freigeben
Hi, kann mir jemand sagen, wie das Programm
![]() danke schonma |
Re: Dateisperre freigeben
also ich würde mal ganz frech den Entwickler der software fragen...
gruessle |
Re: Dateisperre freigeben
jo, hab ich schon gemacht, hat sich aber noch net gemeldet :-(
naja, ich bin jedenfalls schon so weit:
Delphi-Quellcode:
naja also createfile funktioniert ohne probleme, bekomme da keinen fehler.
var hFile : Cardinal;
filename : string; FileSizeLow : Cardinal; FileSizeHigh: ^Cardinal; error : Cardinal; begin hFile := CreateFile(pchar(fileName), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); error := GetLastError(); ShowMessage(inttostr(error)); GetMem(FileSizeHigh, SizeOf(Cardinal)); try FileSizeLow := GetFileSize(hFile, FileSizeHigh); if UnLockFile(hFile, 0, 0, FileSizeLow, FileSizeHigh^) = false then begin error := GetLastError(); ShowMessage(inttostr(error)); end; finally FreeMem(FileSizeHigh); end; bei unlockfile jedoch erhalte ich fehlercode: 158 ERROR_NOT_LOCKED 158 The segment is already unlocked. Die angegebene Datei ist 100 pro gelockt. Das problem ist halt das unlockfile nur bereiche einer datei freigibt, jedoch nicht die Datei als ganze. Da jedoch nur die gesamte Datei gesperrt ist und nicht nur ein bereich, wird unlockfile nicht funktionieren, oder? jemand noch irgendwelche tipps? |
Re: Dateisperre freigeben
Zitat:
aber vieleicht hilft dir die msdn doku. |
Re: Dateisperre freigeben
ja schon, das hab ich ja auch oben geschrieben, damit mir das nicht weiterhelfen wird. msdn hab ich schon ganz schön durchgestöbert, finde leider nichts...
jemand noch ansätze? muss ich vielleicht einen treiber programmieren, damit das überhaupt funktioniert?! |
Re: Dateisperre freigeben
Habt ihr euch schonmal gefragt, wieso dort eine .sys-Datei liegt? Nicht? Tut das mal! :mrgreen:
|
Re: Dateisperre freigeben
Zitat:
Bye |
Re: Dateisperre freigeben
Zitat:
Übrigens: zu den obigen Kommentaren mit UnlockFile() ... Handles sind prozeßspezifisch. Will heißen, daß man erstmal in den fremden Prozeß rein muß ;) |
Re: Dateisperre freigeben
Wer sperrt die File überhaupt? Das OS oder die Platte selbst (falls die das überhaupt kann)...
Wie kann man überhaupt eine Liste der gesperrten Dateien sehen? Bye |
Re: Dateisperre freigeben
Zitat:
|
Re: Dateisperre freigeben
der programmierer von unlock hat mir folgendes dazu geschrieben:
Zitat:
|
Re: Dateisperre freigeben
Zitat:
Liste der Funktionen: ![]()
Delphi-Quellcode:
function NtQueryObject(
ObjectHandle : HANDLE; ObjectInformationClass : OBJECT_INFORMATION_CLASS; ObjectInformation : PVOID; ObjectInformationLength : ULONG; ReturnLength : PULONG ): NTSTATUS; stdcall; external ntdll; Zitat:
|
Re: Dateisperre freigeben
Zitat:
|
Re: Dateisperre freigeben
ZwQuerySystemInformation und ZwQueryObject - ich empfehle dringend Nebbetts Buch. Wird aber nicht mehr aufgelegt.
|
Re: Dateisperre freigeben
Zitat:
Denn wennn ich mit "Nebbetts Buch" in ne Buchhandlung geh, ist alles was sie machen mich dumm anschaun :zwinker: Bye |
Re: Dateisperre freigeben
Zitat:
Wird aber wie gesagt nicht mehr aufgelegt - also am ehesten in Antiquariaten suchen ;). Am besten du schreibst mir mal eine kurze PN ;) Auch -> ![]() |
Re: Dateisperre freigeben
|
Re: Dateisperre freigeben
[OT]Meine suche ergab aber mehr als ein Buch, und alle kaufe ich bestimmt nicht...[/OT]
Bye |
Re: Dateisperre freigeben
Liste der Anhänge anzeigen (Anzahl: 1)
Wie man sehen kann, ist mein Exemplar von 2001 schon etwas abgegriffen und unförmig *g*
|
Re: Dateisperre freigeben
Also bei Amazon gibts das noch, sonst hätt ich den Link nicht gepostet. Dauert zwar ein paar Tage, aber das wird ja noch zu verkraften sein. ;)
|
Re: Dateisperre freigeben
Sorry, wenn ich da etwas negativ klinge. Ich habe bereits mit Amazon meine Erfahrungen mit solchen Büchern. Versucht's halt.
Ich hatte Anfang diesen Jahres ein Buch von Kris Kaspersky vorbestellt, welches im Ende Februar erscheinen und Anfang März geliefert werden sollte. Auf Anfrage bei Amazon Ende März wurde meine Bestellung mit dem Kommentar "nicht mehr verfügbar" storniert. Die Pfeifen sind noch schlimmer als befürchtet, denn alle anderen Amazon-Filialen und andere Buchhändler führten das Buch als "noch nicht verfügbar", Amazon.de hingegen beharrte trotz Nachfrage auf "nicht mehr verfügbar". Auch eine Bestellung bei BOL.de brachte nix, weil die meine Bestellung ebenfalls stornierten (allerdings ohne daß ich nachfragen mußte), nachdem das Buch zum voraussichtlichen Erscheinungstermin (der damals auf Juli verschoben worden war) wiederum nicht erschienen war :? |
Re: Dateisperre freigeben
Gut, ich muß dazusagen, daß ich eher wenige seltene Bücher bei Amazon bestelle. Aber alle Fach- und Sachbücher und auch alles sonstige, was ich bisher dort bestellt habe, kam immer zeitnah und gut bei mir an. Insofern kann ich zu Amazon nichts negatives sagen. Wie es jetzt natürlich bei einem Buch aussieht, bei dem bereits 9-10 Tage angesetzt sind, kann ich nicht sagen.
|
Re: Dateisperre freigeben
Moin Olli,
Zitat:
Das Buch wurde, nach einigen verschobenen Terminen, am 30.12.2005 geliefert ;-) (so 6 bis 8 Wochen Wartezeit) |
Re: Dateisperre freigeben
Na bitte. Daß mein erste Beitrag seit Monaten so offtopic sein muß ist natürlich nicht so schön.
Wäre allerdings noch schöner, wenn aktuellere Themen in einer neuen Version des Buches erscheinen würden. Es kommt immerhin schon in die Jahre. Aber dafür gibt's im März einen Artikel von Marcel van Brakel und mir zur Native API im TDM :-P |
Re: Dateisperre freigeben
TDM? Ich frage nur, weil es mich eventuell auch interessieren würde.
|
Re: Dateisperre freigeben
Zitat:
![]() |
Re: Dateisperre freigeben
Ach das ist wieder so eine Bezahlseite, wenn man da was lesen will? :(
|
Re: Dateisperre freigeben
Zitat:
Kurz, für eine saubere Lösung kommt man nicht um einen Treiber herum. |
Re: Dateisperre freigeben
könnte mir vielleicht jemand sagen wie ich so einen treiber dann schreiben würde? was ich bräuchte und welchen treiber aus dem ddk ich als vorlage verwenden könnte? welchen functionen dann eventuell ausgeführt werden müssen und was für Daten an den Treiber übergeben werden müssen.
ich hab zwar schon ein bisschen ahnung (hab nen Netzwerkkarten-Treiber schonmal geschrieben), aber trotzdem weiß ich hier überhaupt nicht, wie ich anfangen soll. wäre klasse. danke |
Re: Dateisperre freigeben
Ist doch nicht so schwer. Mit
![]() |
Re: Dateisperre freigeben
also das mit IDA ist echt klasse. hab mir das mal angeschaut. der treiber ist ja echt voll simpel.
aber ich hab trotzdem noch ne frage: gibt es eigentlich ein gutes programm, dass mir so das grundgerüst eines treibers erzeugt. so dass ich halt driverentry routinen usw... schon hab. kennt da jemand sowas?! |
Re: Dateisperre freigeben
Zitat:
|
Re: Dateisperre freigeben
Zitat:
![]() http://assarbad.net/stuff/!export/create_proj.rar Ich kann dir auch eine modifizierte Version von DDKBUILD zukommen lassen, die ich bereits an Mark Cariddi geschickt habe, der sie auch veröffentlichen will. In diesem Fall muß ich dich allerdings bitten diese modifizierte Variante nicht weiterzugeben! Zitat:
|
Re: Dateisperre freigeben
Zitat:
Die aktuelle Demo ist 4.9 - ![]() Gruß Nico ps: /me freut sich schon auf IDA 5.0 :) |
Re: Dateisperre freigeben
Zitat:
Zitat:
|
Re: Dateisperre freigeben
das perl skript ist genial danke, genau sowas hab ich gesucht.
mal ne ganz doofe frage: wenn ich funktionen aus der ntdll.lib aufrufen will, dann kann ich über #pragma comment (lib,"ntdll.lib") diese meinem projekt hinzufügen und dieses auch compilieren, aber ich würde halt gerne die definitionen der funktionen angezeigt bekommen. wenn ich jetzt ne funktion eingeb und die klammer auf mach, dann sollte er mir die parameter anzeigen. kann ich das irgendwie machen? und wie füge ich dem projekt eigentlich standard projektpfade hinzu in denen sich die windkk include und lib dateien befinden?!? |
Re: Dateisperre freigeben
Zitat:
Zitat:
Ich hoffe mal, daß z.B. Nico uns da etwas Aufklärung verschaffen kann?!?!? :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: Zitat:
|
Re: Dateisperre freigeben
Zitat:
ich möchte jetzt die Funktion ZwQueryObject im Treiber ausführen. Diese ist ja in der NTDLL.Lib definiert. wie muss ich das dann machen, wenn ich die LIB nicht einbinden darf?? |
Re: Dateisperre freigeben
Zitat:
Zitat:
|
Re: Dateisperre freigeben
hmm ok danke olli.
wenn ich jetzt die Funktion ZwQueryObject im Treiber ausführen möchte, dann muss ich die sozusagen selbst importieren. ich habe eine seite gefunden, die wirklich sau viel definiert hat... ![]() Wenn ich jetzt z.B. die Funktion ZwQueryObject verwenden möchte, dann leg ich mir ne header datei an in der ich folgendes schreib...
Code:
und dann include ich diese header datei. oder?
NTSYSAPI
NTSTATUS NTAPI ZwQueryObject ( IN HANDLE ObjectHandle, IN OBJECT_INFO_CLASS ObjectInformationClass, OUT PVOID ObjectInformation, IN ULONG Length, OUT PULONG ResultLength ); was bedeuten die 3 Ausdrücke vor dem ZwQueryObject? NTSYSAPI NTSTATUS NTAPI |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz