AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi CreateToolHelp32SnapShot hooks umgehen
Thema durchsuchen
Ansicht
Themen-Optionen

CreateToolHelp32SnapShot hooks umgehen

Ein Thema von Arnulf · begonnen am 25. Jul 2005 · letzter Beitrag vom 30. Mär 2007
 
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#11

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 4. Aug 2005, 21:24
Hi again - bin zurück
Zitat:
seiten zu viel traffic haben
Ja das wäre dann auch bei mir wohl das problem - ich hab nur 200 gig frei im monat.
4-5 gigabyte fallen da nicht auf aber mehr .... naja.

Jedenfalls hab ich probiert die ntdll.dll mit forceloadlibrary nachzuladen - aber ich bekomm von der funktion nichts zurück.
Der hook dürfte funktionieren, zumindestenst springt er in die hook funktion wenn LoadLibraryA aufgerufen wird.
Trotzdem bekomm ich keine neue .dll geladen oder von der func nichts zurück.
die Source hat sich ja nicht geändert hab die nur abgeschrieben - aber trotzdem nochmal:
Der aufruf:
 nt2dll := ForceLoadLibraryNtA('ntdll.dll'); Brechis Source:
Delphi-Quellcode:
function myRtlEqualUnicodeString(a,b: pointer; c: boolean): boolean; stdcall;
begin
  if pos(forcename,uppercase(pwidechar(pointer(cardinal(b)+4)^))) > 0 then
    result := false else
    result := nextRtlEqualUnicodeString(a,b,c);
end;

function ForceLoadLibraryNtA(dllname: pchar): cardinal; stdcall;
begin
  @oldRtlEqualUnicodeString := GetProcAddress(GetModuleHandle('ntdll.dll'),'RtlEqualUnicodeString');
  if (@oldRtlEqualUnicodeString <> nil) then
  begin
    uallTableHook.HookAPIJMP(@oldRtlEqualUnicodeString,@myRtlEqualUnicodeString,@nextRtlEqualUnicodeString);
    forcename := uppercase(dllname);
    result := LoadLibraryA(dllname);
    uallTableHook.UnhookAPIJMP(@nextRtlEqualUnicodeString);
  end else
    Result := LoadLibraryA(dllname);
end;
Naja ich hoffe du weißt warum ich nämlich nicht .
Wäre auch super, wenn du eine erklärung für myRtlEqualUnicodeString hättest... weil ich zwar sehe, daß loadlibraryA die funktion verwendet, aber mir nicht klar ist, wie dadurch die .dll neu geladen werden sollte ..

Arnulf
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:47 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-2025 by Thomas Breitkreuz