AGB  ·  Datenschutz  ·  Impressum  







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

CreateProcess importieren / API Hooks umgehen

Ein Thema von Zacherl · begonnen am 1. Mär 2007 · letzter Beitrag vom 1. Mär 2007
Antwort Antwort
Seite 2 von 4     12 34      
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#11

Re: CreateProcess dynamisch importieren

  Alt 1. Mär 2007, 17:26
Quatsch, Code overwriting oder Exporttable hooks werden nicht umgangen und selbst bei Importtable hooks haben viele Hook-Funktionen schon automatisch eingebaut, dass bei einem Aufruf von GetProcAddress die falsche Adresse zurückgegeben wird.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#12

Re: CreateProcess dynamisch importieren

  Alt 1. Mär 2007, 17:29
Ich beharre weiterhin darauf. Hier die Funktion:

Delphi-Quellcode:
function GetRealProcAddress(hModule: HMODULE; lpProcName: pchar): pointer;
var
  Proc: pointer;
  CodeInfo: TCodeInfo;
  FunctionInfo: TFunctionInfo;
begin
  Proc := GetProcAddress(hModule, lpProcName);
  Result := Proc;
  CodeInfo := ParseCode(Proc);
  if not (CodeInfo.Call or CodeInfo.Jmp) then Exit;
  FunctionInfo := ParseFunction(Proc);
  if FunctionInfo.CodeLen <> 5 then Exit;
  repeat
    Result := FunctionInfo.FarCalls[Low(FunctionInfo.FarCalls)].Target;
    FunctionInfo := ParseFunction(FunctionInfo.FarCalls[Low(FunctionInfo.FarCalls)].Target);
  until FunctionInfo.CodeLen = 10;
end;
Benötigt wird die madDisAsm
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#13

Re: CreateProcess dynamisch importieren

  Alt 1. Mär 2007, 17:31
Das ist zwar schön, aber ich habe die uallCollection selbst geschrieben. Es wird nur die richtige Adresse geholt, d.h. noch lange nicht das vorher ein Export Table hook installiert war oder die Funktion mit Code Overwriting gehookt ist.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#14

Re: CreateProcess dynamisch importieren

  Alt 1. Mär 2007, 17:32
Die madDisAsm Unit meine ich .. die sollte doch die Library disassemblieren und genau den Originalcode aufrufen, oder?
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#15

Re: CreateProcess dynamisch importieren

  Alt 1. Mär 2007, 17:35
Ach wat, die macht auch nix besonderes. Kann sein, dass die für nen speziellen Hook funktioniert. Aber allein schon der gebracuht von GetProcAddress is blödssinn wenns nen Exporttablehook gibt.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#16

Re: CreateProcess dynamisch importieren

  Alt 1. Mär 2007, 17:37
Mh also da gibt es keine Möglichkeit das zu umgehen?
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#17

Re: CreateProcess dynamisch importieren

  Alt 1. Mär 2007, 17:39
Nein, jedefalls nicht wenn man keine Ahnung hat wie das alles funktioniert.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#18

Re: CreateProcess dynamisch importieren

  Alt 1. Mär 2007, 17:40
Aber du hast Ahnung denke ich doch mal ..
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#19

Re: CreateProcess dynamisch importieren

  Alt 1. Mär 2007, 17:43
Wofür wirds gebraucht?
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#20

Re: CreateProcess dynamisch importieren

  Alt 1. Mär 2007, 17:45
Ich möchte eine EXE direkt im RAM ausführen. Dafür habe ich schon Teilweise Quelltexte von Nico gefunden (InMemExe).
Leider hat meine Firewall was dagegen (aus was für Gründen auch immer). Nun ist es für den Benutzer ja nicht sehr benutzerfreundlich, wenn seine Firewall zufällig grade die benötigten APIs hookt und somit das Programm nutzlos macht.

Daher will ich versuchen, zumindest die API Hooks zu ungehen. Wäre dir sehr dankbar, wenn du mir da helen könntest.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 19:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz